forked from OSchip/llvm-project
CodeGen: Allow aliases to be overridden by variables
llvm-svn: 224827
This commit is contained in:
parent
45010c92a8
commit
8e92dfee20
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue