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
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 dso_local void @weak_foo() {
17 define weak_odr dso_local void @weak_odr_foo() {
21 define internal void @internal_foo() {
25 declare i32 @ext_baz()
27 define dso_local void @foo() {
31 define dso_local void @bar() {
34 call void @weak_odr_foo()
36 call void @internal_foo()
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}