From: John Brawn <john.brawn@arm.com>
Date: Fri, 7 Aug 2015 10:56:21 +0000 (+0000)
Subject: Revert "Make global aliases have symbol size equal to their type"
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bb8d0fbf02b590074b95094ac773ae5549e623ca;p=llvm

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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244313 91177308-0d34-0410-b5e6-96231b3b80d8
---

diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index f736f023c98..0ea2c66757a 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -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>();
diff --git a/test/CodeGen/AArch64/global-merge-2.ll b/test/CodeGen/AArch64/global-merge-2.ll
index cdbdb8aed2e..af684039bf1 100644
--- a/test/CodeGen/AArch64/global-merge-2.ll
+++ b/test/CodeGen/AArch64/global-merge-2.ll
@@ -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
diff --git a/test/CodeGen/AArch64/global-merge-3.ll b/test/CodeGen/AArch64/global-merge-3.ll
index 2e459a069bb..925108308e5 100644
--- a/test/CodeGen/AArch64/global-merge-3.ll
+++ b/test/CodeGen/AArch64/global-merge-3.ll
@@ -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
diff --git a/test/CodeGen/ARM/aliases.ll b/test/CodeGen/ARM/aliases.ll
index 8d0d57db44b..04ca3e87548 100644
--- a/test/CodeGen/ARM/aliases.ll
+++ b/test/CodeGen/ARM/aliases.ll
@@ -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
diff --git a/test/CodeGen/ARM/global-merge-external.ll b/test/CodeGen/ARM/global-merge-external.ll
index acc778999a8..0dd3f477e9b 100644
--- a/test/CodeGen/ARM/global-merge-external.ll
+++ b/test/CodeGen/ARM/global-merge-external.ll
@@ -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