summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:19:35 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:19:35 +0000
commit7cb00653c1ae695ebfab22ee393fe57930c97844 (patch)
tree4a5a3eff49d33c0e12af916a1c77d6277cfc6d85 /llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
parentc806cea4cb389ed63f0375e78ab18448c9cc657c (diff)
downloadbcm5719-llvm-7cb00653c1ae695ebfab22ee393fe57930c97844.tar.gz
bcm5719-llvm-7cb00653c1ae695ebfab22ee393fe57930c97844.zip
Add constpool lowering / printing
llvm-svn: 76016
Diffstat (limited to 'llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp b/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
index 9ec58816df4..f778197be70 100644
--- a/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
+++ b/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
@@ -144,6 +144,9 @@ bool SystemZAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
SetupMachineFunction(MF);
O << "\n\n";
+ // Print out constants referenced by the function
+ EmitConstantPool(MF.getConstantPool());
+
// Print the 'header' of function
emitFunctionHeader(MF);
@@ -258,6 +261,12 @@ void SystemZAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
<< MO.getIndex();
return;
+ case MachineOperand::MO_ConstantPoolIndex:
+ O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
+ << MO.getIndex();
+
+ printOffset(MO.getOffset());
+ break;
case MachineOperand::MO_GlobalAddress: {
const GlobalValue *GV = MO.getGlobal();
std::string Name = Mang->getValueName(GV);
OpenPOWER on IntegriCloud