mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
d77cbcb130
Summary: This patch does the following: 1. Make InitTargetOptionsFromCodeGenFlags() accepts Triple as a parameter, because some options' default value is triple dependant. 2. DataSections is turned on by default on AIX for llc. 3. Test cases change accordingly because of the default behaviour change. 4. Clang Driver passes in -fdata-sections by default on AIX. Reviewed By: MaskRay, DiggerLin Differential Revision: https://reviews.llvm.org/D88737
59 lines
1.5 KiB
LLVM
59 lines
1.5 KiB
LLVM
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec -data-sections=false < %s | \
|
|
; RUN: FileCheck %s
|
|
; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 -mattr=-altivec -data-sections=false < %s |\
|
|
; RUN: FileCheck %s
|
|
|
|
@b = global i32 0, align 4
|
|
@b_h = hidden global i32 0, align 4
|
|
|
|
define void @foo() {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
define hidden void @foo_h(i32* %ip) {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
define protected void @foo_protected(i32* %ip) {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
define weak hidden void @foo_weak_h() {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
@foo_p = global void ()* @zoo_weak_extern_h, align 4
|
|
declare extern_weak hidden void @zoo_weak_extern_h()
|
|
|
|
define i32 @main() {
|
|
entry:
|
|
%call1= call i32 @bar_h(i32* @b_h)
|
|
call void @foo_weak_h()
|
|
%0 = load void ()*, void ()** @foo_p, align 4
|
|
call void %0()
|
|
ret i32 0
|
|
}
|
|
|
|
declare hidden i32 @bar_h(i32*)
|
|
|
|
; CHECK: .globl foo[DS]{{[[:space:]]*([#].*)?$}}
|
|
; CHECK: .globl .foo{{[[:space:]]*([#].*)?$}}
|
|
; CHECK: .globl foo_h[DS],hidden
|
|
; CHECK: .globl .foo_h,hidden
|
|
; CHECK: .globl foo_protected[DS],protected
|
|
; CHECK: .globl .foo_protected,protected
|
|
; CHECK: .weak foo_weak_h[DS],hidden
|
|
; CHECK: .weak .foo_weak_h,hidden
|
|
|
|
; CHECK: .globl b{{[[:space:]]*([#].*)?$}}
|
|
; CHECK: .globl b_h,hidden
|
|
|
|
; CHECK: .weak .zoo_weak_extern_h[PR],hidden
|
|
; CHECK: .weak zoo_weak_extern_h[DS],hidden
|
|
; CHECK: .extern .bar_h[PR],hidden
|
|
; CHECK: .extern bar_h[DS],hidden
|