mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-14 09:38:40 +00:00
Support chained aliases for LLVM IR printing. This fixes PR2145
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48684 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c73ede0a9b
commit
591858a403
@ -1003,6 +1003,9 @@ void AssemblyWriter::printAlias(const GlobalAlias *GA) {
|
|||||||
Out << getLLVMName(F->getName(), GlobalPrefix);
|
Out << getLLVMName(F->getName(), GlobalPrefix);
|
||||||
else
|
else
|
||||||
Out << "@\"\"";
|
Out << "@\"\"";
|
||||||
|
} else if (const GlobalAlias *GA = dyn_cast<GlobalAlias>(Aliasee)) {
|
||||||
|
printType(GA->getType());
|
||||||
|
Out << " " << getLLVMName(GA->getName(), GlobalPrefix);
|
||||||
} else {
|
} else {
|
||||||
const ConstantExpr *CE = 0;
|
const ConstantExpr *CE = 0;
|
||||||
if ((CE = dyn_cast<ConstantExpr>(Aliasee)) &&
|
if ((CE = dyn_cast<ConstantExpr>(Aliasee)) &&
|
||||||
|
@ -5,11 +5,13 @@
|
|||||||
@bar = external global i32
|
@bar = external global i32
|
||||||
@foo1 = alias i32* @bar
|
@foo1 = alias i32* @bar
|
||||||
@foo2 = alias i32* @bar
|
@foo2 = alias i32* @bar
|
||||||
|
@foo3 = alias i32* @foo2
|
||||||
|
|
||||||
%FunTy = type i32()
|
%FunTy = type i32()
|
||||||
|
|
||||||
declare i32 @foo_f()
|
declare i32 @foo_f()
|
||||||
@bar_f = alias weak %FunTy* @foo_f
|
@bar_f = alias weak %FunTy* @foo_f
|
||||||
|
@bar_ff = alias i32()* @bar_f
|
||||||
|
|
||||||
@bar_i = alias internal i32* @bar
|
@bar_i = alias internal i32* @bar
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user