CodeGen: Allow aliases to be overridden by variables

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224827 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Majnemer 2014-12-24 22:44:29 +00:00
parent 0f1bf97d04
commit d36cad9914
2 changed files with 13 additions and 0 deletions

View File

@ -337,6 +337,8 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
if (!GV->hasInitializer()) // External globals require no extra code.
return;
GVSym->redefineIfPossible();
if (MAI->hasDotTypeDotSizeDirective())
OutStreamer.EmitSymbolAttribute(GVSym, MCSA_ELF_TypeObject);

View File

@ -3,10 +3,21 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
module asm "pselect = __pselect"
module asm "var = __var"
module asm "alias = __alias"
; CHECK: pselect = __pselect
; CHECK: var = __var
; CHECK: alias = __alias
; CHECK: pselect:
; CHECK: retq
define void @pselect() {
ret void
}
; CHECK: var:
; CHECK: .long 0
@var = global i32 0
; CHECK: alias = var
@alias = alias i32* @var