|  | ; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -relocation-model=pic | FileCheck %s | 
|  | ; RUN: llc < %s -O0 -mcpu=generic -mtriple=i686-linux-gnu -fast-isel -relocation-model=pic | FileCheck %s | 
|  | ; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-model=pic | FileCheck %s | 
|  | ; RUN: llc < %s -O0 -mcpu=generic -mtriple=x86_64-linux-gnu -fast-isel -relocation-model=pic | FileCheck %s | 
|  |  | 
|  | ; CHECK-LABEL:  bar: | 
|  | ; CHECK:  call{{l|q}}  foo{{$}} | 
|  | ; CHECK:  call{{l|q}}  weak_odr_foo{{$}} | 
|  | ; CHECK:  call{{l|q}}  weak_foo{{$}} | 
|  | ; CHECK:  call{{l|q}}  internal_foo{{$}} | 
|  | ; CHECK:  call{{l|q}}  ext_baz@PLT | 
|  |  | 
|  | define weak void @weak_foo() { | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define weak_odr void @weak_odr_foo() { | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define internal void @internal_foo() { | 
|  | ret void | 
|  | } | 
|  |  | 
|  | declare i32 @ext_baz() | 
|  |  | 
|  | define void @foo() { | 
|  | ret void | 
|  | } | 
|  |  | 
|  | define void @bar() { | 
|  | entry: | 
|  | call void @foo() | 
|  | call void @weak_odr_foo() | 
|  | call void @weak_foo() | 
|  | call void @internal_foo() | 
|  | call i32 @ext_baz() | 
|  | ret void | 
|  | } | 
|  |  | 
|  | ; -fpie for local global data tests should be added here | 
|  |  | 
|  | !llvm.module.flags = !{!0, !1} | 
|  | !0 = !{i32 1, !"PIC Level", i32 1} | 
|  | !1 = !{i32 1, !"PIE Level", i32 1} |