mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
659464b45b
TargetMachine::shouldAssumeDSOLocal currently implies dso_local for such definitions. Adding explicit dso_local makes these tests align with the clang -fpic behavior and allow the removal of the TargetMachine::shouldAssumeDSOLocal special case. Rewrite preemption.ll to dsolocal-static.ll and dsolocal-pic.ll, and add "PIC Level" metadata.
18 lines
491 B
LLVM
18 lines
491 B
LLVM
; RUN: llc -relocation-model=static -verify-machineinstrs -mtriple powerpc64-linux < %s | FileCheck %s
|
|
; RUN: llc -relocation-model=static -verify-machineinstrs -O0 -mtriple powerpc64-linux < %s | FileCheck %s
|
|
|
|
define dso_local void @foo() {
|
|
ret void
|
|
}
|
|
declare i32 @bar(i8*)
|
|
|
|
; CHECK-LABEL: {{^}}zed:
|
|
; CHECK: addis 3, 2, foo@toc@ha
|
|
; CHECK-NEXT: addi 3, 3, foo@toc@l
|
|
; CHECK-NEXT: bl bar
|
|
|
|
define void @zed() {
|
|
call i32 @bar(i8* bitcast (void ()* @foo to i8*))
|
|
ret void
|
|
}
|