mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 12:50:00 +00:00
Fix a regression caused by r102515 where explicit alignment on globals is
ignored. There was a test to catch this, but it was just blindly updated in a large change. This fixes another part of <rdar://problem/9275290>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129466 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be7cd7580d
commit
1335022e19
@ -624,7 +624,7 @@ unsigned TargetData::getPreferredAlignment(const GlobalVariable *GV) const {
|
||||
Alignment = std::max(GVAlignment, getABITypeAlignment(ElemType));
|
||||
}
|
||||
|
||||
if (GV->hasInitializer()) {
|
||||
if (GV->hasInitializer() && GVAlignment == 0) {
|
||||
if (Alignment < 16) {
|
||||
// If the global is not external, see if it is large. If so, give it a
|
||||
// larger alignment.
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
; CHECK: .bss
|
||||
; CHECK: .globl GlobalA
|
||||
; CHECK: .align 16
|
||||
; CHECK: .align 8
|
||||
; CHECK: GlobalA:
|
||||
; CHECK: .zero 384
|
||||
|
||||
@ -15,12 +15,12 @@
|
||||
; PR6921
|
||||
@GlobalB = common global { [384 x i8] } zeroinitializer, align 8
|
||||
|
||||
; CHECK: .comm GlobalB,384,16
|
||||
; CHECK: .comm GlobalB,384,8
|
||||
|
||||
|
||||
@GlobalC = common global { [384 x i8] } zeroinitializer, align 2
|
||||
|
||||
; CHECK: .comm GlobalC,384,16
|
||||
; CHECK: .comm GlobalC,384,2
|
||||
|
||||
|
||||
|
||||
|
@ -29,8 +29,8 @@ return:
|
||||
declare void @llvm.memcpy.i64(i8* nocapture, i8* nocapture, i64, i32) nounwind
|
||||
|
||||
; CORE2: .section
|
||||
; CORE2: .align 4
|
||||
; CORE2: .align 3
|
||||
; CORE2-NEXT: _.str1:
|
||||
; CORE2-NEXT: .asciz "DHRYSTONE PROGRAM, SOME STRING"
|
||||
; CORE2: .align 4
|
||||
; CORE2: .align 3
|
||||
; CORE2-NEXT: _.str3:
|
||||
|
Loading…
Reference in New Issue
Block a user