Home | History | Annotate | Download | only in ARM
      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 
     13 target 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 
     24 declare i32 @foo(i32 %a, i32 %b);
     25 
     26 define i32 @main() {
     27 entry:
     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