CodeGen: Allow aliases to be overridden by variables

llvm-svn: 224827
This commit is contained in:
David Majnemer 2014-12-24 22:44:29 +00:00
parent 45010c92a8
commit 8e92dfee20
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