diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-10-21 20:03:54 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-10-21 20:03:54 +0000 |
commit | b768912db853b13b148a388f0dd03ecaa80ae785 (patch) | |
tree | db26c3e4e6cd087ad5953a9d110bbdb42a10af75 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | |
parent | 156f634aa1124aa2794a6a82c2d9231ac34158cc (diff) | |
download | bcm5719-llvm-b768912db853b13b148a388f0dd03ecaa80ae785.tar.gz bcm5719-llvm-b768912db853b13b148a388f0dd03ecaa80ae785.zip |
Fix CodeGen for different size address space GEPs
llvm-svn: 193111
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 969a8dfeaea..20d179fe7c9 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1513,7 +1513,7 @@ static const MCExpr *lowerConstant(const Constant *CV, AsmPrinter &AP) { case Instruction::GetElementPtr: { const DataLayout &DL = *AP.TM.getDataLayout(); // Generate a symbolic expression for the byte address - APInt OffsetAI(DL.getPointerSizeInBits(), 0); + APInt OffsetAI(DL.getPointerTypeSizeInBits(CE->getType()), 0); cast<GEPOperator>(CE)->accumulateConstantOffset(DL, OffsetAI); const MCExpr *Base = lowerConstant(CE->getOperand(0), AP); @@ -1539,7 +1539,7 @@ static const MCExpr *lowerConstant(const Constant *CV, AsmPrinter &AP) { // Handle casts to pointers by changing them into casts to the appropriate // integer type. This promotes constant folding and simplifies this code. Constant *Op = CE->getOperand(0); - Op = ConstantExpr::getIntegerCast(Op, DL.getIntPtrType(CV->getContext()), + Op = ConstantExpr::getIntegerCast(Op, DL.getIntPtrType(CV->getType()), false/*ZExt*/); return lowerConstant(Op, AP); } |