• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; Testcase to check that functions from a Thumb module can be inlined in an
2; ARM function.
3;
4; RUN: llvm-as %s -o %t1.bc
5; RUN: llvm-as %p/Inputs/thumb.ll -o %t2.bc
6; RUN: llvm-lto -exported-symbol main \
7; RUN:          -exported-symbol bar \
8; RUN:          -filetype=asm \
9; RUN:          -o - \
10; RUN:          %t1.bc %t2.bc 2> %t3.out| FileCheck %s
11; RUN: FileCheck --allow-empty --input-file %t3.out --check-prefix STDERR %s
12
13target triple = "armv7-linux-gnueabihf"
14
15; CHECK: .code  32
16; CHECK-NEXT: main
17; CHECK-NEXT: .fnstart
18; CHECK-NEXT: mov r0, #30
19
20; CHECK: .code  16
21; CHECK-NEXT: .thumb_func
22; CHECK-NEXT: bar
23
24declare i32 @foo(i32 %a, i32 %b);
25
26define i32 @main() {
27entry:
28  %add = call i32 @foo(i32 10, i32 20)
29  ret i32 %add
30}
31
32; STDERR-NOT: warning: Linking two modules of different target triples:
33