diff options
-rw-r--r-- | lib/Target/Sparc/SparcAsmPrinter.cpp | 6 | ||||
-rw-r--r-- | lib/Target/SparcV8/SparcV8AsmPrinter.cpp | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcAsmPrinter.cpp b/lib/Target/Sparc/SparcAsmPrinter.cpp index a1f1a9aae9..7305031a19 100644 --- a/lib/Target/Sparc/SparcAsmPrinter.cpp +++ b/lib/Target/Sparc/SparcAsmPrinter.cpp @@ -396,6 +396,12 @@ void V8Printer::printOperand(const MachineOperand &MO) { O << (int)MO.getImmedValue(); return; case MachineOperand::MO_PCRelativeDisp: { + if (isa<GlobalValue> (MO.getVRegValue ())) { + O << Mang->getValueName (MO.getVRegValue ()); + return; + } + assert (isa<BasicBlock> (MO.getVRegValue ()) + && "Trying to look up something which is not a BB in the NumberForBB map"); ValueMapTy::const_iterator i = NumberForBB.find(MO.getVRegValue()); assert (i != NumberForBB.end() && "Could not find a BB in the NumberForBB map!"); diff --git a/lib/Target/SparcV8/SparcV8AsmPrinter.cpp b/lib/Target/SparcV8/SparcV8AsmPrinter.cpp index a1f1a9aae9..7305031a19 100644 --- a/lib/Target/SparcV8/SparcV8AsmPrinter.cpp +++ b/lib/Target/SparcV8/SparcV8AsmPrinter.cpp @@ -396,6 +396,12 @@ void V8Printer::printOperand(const MachineOperand &MO) { O << (int)MO.getImmedValue(); return; case MachineOperand::MO_PCRelativeDisp: { + if (isa<GlobalValue> (MO.getVRegValue ())) { + O << Mang->getValueName (MO.getVRegValue ()); + return; + } + assert (isa<BasicBlock> (MO.getVRegValue ()) + && "Trying to look up something which is not a BB in the NumberForBB map"); ValueMapTy::const_iterator i = NumberForBB.find(MO.getVRegValue()); assert (i != NumberForBB.end() && "Could not find a BB in the NumberForBB map!"); |