From 2ff95b6b4e9bcc0167a32f0ed09120298b5a3713 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 18 Jan 2004 21:03:06 +0000 Subject: [PATCH] Eliminate special case handling for CPR's Fix some problem cases where I was building the slot calculator in bytecode writer mode instead of asmwriter mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10911 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/AsmWriter.cpp | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index 98bc0939872..0afba7a3d1c 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -368,18 +368,7 @@ static void WriteConstantInt(std::ostream &Out, const Constant *CV, Out << "null"; } else if (const ConstantPointerRef *PR = dyn_cast(CV)) { - const GlobalValue *V = PR->getValue(); - if (V->hasName()) { - Out << getLLVMName(V->getName()); - } else if (Table) { - int Slot = Table->getSlot(V); - if (Slot >= 0) - Out << "%" << Slot; - else - Out << ""; - } else { - Out << ""; - } + WriteAsOperandInternal(Out, PR->getValue(), true, TypeTable, Table); } else if (const ConstantExpr *CE = dyn_cast(CV)) { Out << CE->getOpcodeName() << " ("; @@ -969,26 +958,26 @@ void AssemblyWriter::printInstruction(const Instruction &I) { //===----------------------------------------------------------------------===// void Module::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const { - SlotCalculator SlotTable(this, true); + SlotCalculator SlotTable(this, false); AssemblyWriter W(o, SlotTable, this, AAW); W.write(this); } void GlobalVariable::print(std::ostream &o) const { - SlotCalculator SlotTable(getParent(), true); + SlotCalculator SlotTable(getParent(), false); AssemblyWriter W(o, SlotTable, getParent(), 0); W.write(this); } void Function::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const { - SlotCalculator SlotTable(getParent(), true); + SlotCalculator SlotTable(getParent(), false); AssemblyWriter W(o, SlotTable, getParent(), AAW); W.write(this); } void BasicBlock::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const { - SlotCalculator SlotTable(getParent(), true); + SlotCalculator SlotTable(getParent(), false); AssemblyWriter W(o, SlotTable, getParent() ? getParent()->getParent() : 0, AAW); W.write(this); @@ -996,7 +985,7 @@ void BasicBlock::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const { void Instruction::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const { const Function *F = getParent() ? getParent()->getParent() : 0; - SlotCalculator SlotTable(F, true); + SlotCalculator SlotTable(F, false); AssemblyWriter W(o, SlotTable, F ? F->getParent() : 0, AAW); W.write(this);