[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / pie.ll
blob7b765f8ef54ab8fb5a5573da2a6466fd2c5f6d93
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 
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
13 define weak void @weak_foo() {
14   ret void
17 define weak_odr void @weak_odr_foo() {
18   ret void
21 define internal void @internal_foo() {
22   ret void
25 declare i32 @ext_baz()
27 define void @foo() {
28   ret void
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
41 ; -fpie for local global data tests should be added here
43 !llvm.module.flags = !{!0, !1}
44 !0 = !{i32 1, !"PIC Level", i32 1}
45 !1 = !{i32 1, !"PIE Level", i32 1}