Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -relocation-model=pic | FileCheck %s 
      2 ; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -fast-isel -relocation-model=pic | FileCheck %s 
      3 ; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-model=pic | FileCheck %s 
      4 ; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -fast-isel -relocation-model=pic | FileCheck %s 
      5 
      6 ; CHECK-LABEL:  bar:
      7 ; CHECK:  call{{l|q}}  foo{{$}}
      8 ; CHECK:  call{{l|q}}  weak_odr_foo{{$}}
      9 ; CHECK:  call{{l|q}}  weak_foo{{$}}
     10 ; CHECK:  call{{l|q}}  internal_foo{{$}}
     11 ; CHECK:  call{{l|q}}  ext_baz@PLT
     12 
     13 define weak void @weak_foo() {
     14   ret void
     15 }
     16 
     17 define weak_odr void @weak_odr_foo() {
     18   ret void
     19 }
     20 
     21 define internal void @internal_foo() {
     22   ret void
     23 }
     24 
     25 declare i32 @ext_baz()
     26 
     27 define void @foo() {
     28   ret void
     29 }
     30 
     31 define void @bar() {
     32 entry:
     33   call void @foo()
     34   call void @weak_odr_foo()
     35   call void @weak_foo()
     36   call void @internal_foo()
     37   call i32 @ext_baz()
     38   ret void
     39 }
     40 
     41 ; -fpie for local global data tests should be added here
     42 
     43 !llvm.module.flags = !{!0, !1}
     44 !0 = !{i32 1, !"PIC Level", i32 1}
     45 !1 = !{i32 1, !"PIE Level", i32 1}
     46