mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
Revert "Make global aliases have symbol size equal to their type"
This reverts r242520, as it caused pr24379. Also removes part of the test added by r243874 that checks the size of alias symbols. llvm-svn: 244313
This commit is contained in:
parent
1d0baba5b6
commit
093484721d
@ -1184,16 +1184,6 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
|
||||
// Emit the directives as assignments aka .set:
|
||||
OutStreamer->EmitAssignment(Name, lowerConstant(Alias.getAliasee()));
|
||||
|
||||
// Set the size of the alias symbol if we can, as otherwise the alias gets
|
||||
// the size of the aliasee which may not be correct e.g. if the alias is of
|
||||
// a member of a struct.
|
||||
if (MAI->hasDotTypeDotSizeDirective() && Alias.getValueType()->isSized()) {
|
||||
const DataLayout &DL = M.getDataLayout();
|
||||
uint64_t Size = DL.getTypeAllocSize(Alias.getValueType());
|
||||
OutStreamer->emitELFSize(cast<MCSymbolELF>(Name),
|
||||
MCConstantExpr::create(Size, OutContext));
|
||||
}
|
||||
}
|
||||
|
||||
GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
|
||||
|
@ -35,13 +35,10 @@ define void @g1(i32 %a1, i32 %a2) {
|
||||
|
||||
;CHECK: .globl x
|
||||
;CHECK: x = _MergedGlobals_x
|
||||
;CHECK: .size x, 4
|
||||
;CHECK: .globl y
|
||||
;CHECK: y = _MergedGlobals_x+4
|
||||
;CHECK: .size y, 4
|
||||
;CHECK: .globl z
|
||||
;CHECK: z = _MergedGlobals_x+8
|
||||
;CHECK: .size z, 4
|
||||
|
||||
;CHECK-APPLE-IOS: .globl __MergedGlobals_x ; @_MergedGlobals_x
|
||||
;CHECK-APPLE-IOS: .zerofill __DATA,__common,__MergedGlobals_x,12,3
|
||||
|
@ -42,10 +42,8 @@ define void @f1(i32 %a1, i32 %a2, i32 %a3) {
|
||||
|
||||
;CHECK: .globl x
|
||||
;CHECK: x = _MergedGlobals_x+4
|
||||
;CHECK: .size x, 4000
|
||||
;CHECK: .globl y
|
||||
;CHECK: y = _MergedGlobals_y
|
||||
;CHECK: .size y, 4000
|
||||
|
||||
;CHECK-APPLE-IOS:.globl _x
|
||||
;CHECK-APPLE-IOS: _x = __MergedGlobals_x+4
|
||||
|
@ -2,34 +2,19 @@
|
||||
|
||||
; CHECK: .globl test
|
||||
|
||||
; CHECK: .globl structvar
|
||||
; CHECK: .size structvar, 8
|
||||
|
||||
; CHECK: .globl foo1
|
||||
; CHECK: foo1 = bar
|
||||
; CHECK: .size foo1, 4
|
||||
|
||||
; CHECK: .globl foo2
|
||||
; CHECK: foo2 = bar
|
||||
; CHECK: .size foo2, 4
|
||||
|
||||
; CHECK: .weak bar_f
|
||||
; CHECK: bar_f = foo_f
|
||||
|
||||
; CHECK: bar_i = bar
|
||||
; CHECK: .size bar_i, 4
|
||||
|
||||
; CHECK: .globl A
|
||||
; CHECK: A = bar
|
||||
; CHECK: .size A, 8
|
||||
|
||||
; CHECK: .globl elem0
|
||||
; CHECK: elem0 = structvar
|
||||
; CHECK: .size elem0, 4
|
||||
|
||||
; CHECK: .globl elem1
|
||||
; CHECK: elem1 = structvar+4
|
||||
; CHECK: .size elem1, 4
|
||||
|
||||
@bar = global i32 42
|
||||
@foo1 = alias i32* @bar
|
||||
@ -46,10 +31,6 @@ define i32 @foo_f() {
|
||||
|
||||
@A = alias bitcast (i32* @bar to i64*)
|
||||
|
||||
@structvar = global {i32, i32} {i32 1, i32 2}
|
||||
@elem0 = alias getelementptr({i32, i32}, {i32, i32}* @structvar, i32 0, i32 0)
|
||||
@elem1 = alias getelementptr({i32, i32}, {i32, i32}* @structvar, i32 0, i32 1)
|
||||
|
||||
define i32 @test() {
|
||||
entry:
|
||||
%tmp = load i32, i32* @foo1
|
||||
|
@ -39,10 +39,7 @@ define void @g1(i32 %a1, i32 %a2) {
|
||||
|
||||
;CHECK-MERGE: .globl x
|
||||
;CHECK-MERGE: x = _MergedGlobals_x
|
||||
;CHECK-MERGE: .size x, 4
|
||||
;CHECK-MERGE: .globl y
|
||||
;CHECK-MERGE: y = _MergedGlobals_x+4
|
||||
;CHECK-MERGE: .size y, 4
|
||||
;CHECK-MERGE: .globl z
|
||||
;CHECK-MERGE: z = _MergedGlobals_x+8
|
||||
;CHECK-MERGE: .size z, 4
|
||||
|
Loading…
Reference in New Issue
Block a user