1
0
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:
John Brawn 2015-08-07 10:56:21 +00:00
parent 1d0baba5b6
commit 093484721d
5 changed files with 0 additions and 37 deletions

View File

@ -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>();

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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