From: Chris Lattner Date: Thu, 31 Dec 2009 01:36:50 +0000 (+0000) Subject: simplify asmprinting of NamedMDNode X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=38cf02ebc977d65f3e1beecd1819a14f7bcf7fa9;p=oota-llvm.git simplify asmprinting of NamedMDNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92324 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index e44b182d6dc..d00244c583e 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -475,9 +475,6 @@ private: /// TheMDNode - The MDNode for which we are holding slot numbers. const MDNode *TheMDNode; - /// TheNamedMDNode - The MDNode for which we are holding slot numbers. - const NamedMDNode *TheNamedMDNode; - /// mMap - The TypePlanes map for the module level data. ValueMap mMap; unsigned mNext; @@ -496,8 +493,6 @@ public: explicit SlotTracker(const Function *F); /// Construct from a mdnode. explicit SlotTracker(const MDNode *N); - /// Construct from a named mdnode. - explicit SlotTracker(const NamedMDNode *N); /// Return the slot number of the specified value in it's type /// plane. If something is not in the SlotTracker, return -1. @@ -547,9 +542,6 @@ private: /// Add all MDNode operands. void processMDNode(); - /// Add all MDNode operands. - void processNamedMDNode(); - SlotTracker(const SlotTracker &); // DO NOT IMPLEMENT void operator=(const SlotTracker &); // DO NOT IMPLEMENT }; @@ -589,26 +581,20 @@ static SlotTracker *createSlotTracker(const Value *V) { // to be added to the slot table. SlotTracker::SlotTracker(const Module *M) : TheModule(M), TheFunction(0), FunctionProcessed(false), TheMDNode(0), - TheNamedMDNode(0), mNext(0), fNext(0), mdnNext(0) { + mNext(0), fNext(0), mdnNext(0) { } // Function level constructor. Causes the contents of the Module and the one // function provided to be added to the slot table. SlotTracker::SlotTracker(const Function *F) : TheModule(F ? F->getParent() : 0), TheFunction(F), FunctionProcessed(false), - TheMDNode(0), TheNamedMDNode(0), mNext(0), fNext(0), mdnNext(0) { + TheMDNode(0), mNext(0), fNext(0), mdnNext(0) { } // Constructor to handle single MDNode. SlotTracker::SlotTracker(const MDNode *C) : TheModule(0), TheFunction(0), FunctionProcessed(false), TheMDNode(C), - TheNamedMDNode(0), mNext(0), fNext(0), mdnNext(0) { -} - -// Constructor to handle single NamedMDNode. -SlotTracker::SlotTracker(const NamedMDNode *N) - : TheModule(0), TheFunction(0), FunctionProcessed(false), TheMDNode(0), - TheNamedMDNode(N), mNext(0), fNext(0), mdnNext(0) { + mNext(0), fNext(0), mdnNext(0) { } inline void SlotTracker::initialize() { @@ -622,9 +608,6 @@ inline void SlotTracker::initialize() { if (TheMDNode) processMDNode(); - - if (TheNamedMDNode) - processNamedMDNode(); } // Iterate through all the global variables, functions, and global @@ -718,19 +701,6 @@ void SlotTracker::processMDNode() { ST_DEBUG("end processMDNode!\n"); } -/// processNamedMDNode - Process TheNamedMDNode. -void SlotTracker::processNamedMDNode() { - ST_DEBUG("begin processNamedMDNode!\n"); - mdnNext = 0; - for (unsigned i = 0, e = TheNamedMDNode->getNumOperands(); i != e; ++i) { - MDNode *MD = dyn_cast_or_null(TheNamedMDNode->getOperand(i)); - if (MD) - CreateMetadataSlot(MD); - } - TheNamedMDNode = 0; - ST_DEBUG("end processNamedMDNode!\n"); -} - /// Clean up after incorporating a function. This is the only way to get out of /// the function incorporation state that affects get*Slot/Create*Slot. Function /// incorporation state is indicated by TheFunction != 0. @@ -2134,7 +2104,7 @@ void Value::print(raw_ostream &ROS, AssemblyAnnotationWriter *AAW) const { SlotTable.initialize(); WriteMDNodes(OS, TypePrinter, SlotTable); } else if (const NamedMDNode *N = dyn_cast(this)) { - SlotTracker SlotTable(N); + SlotTracker SlotTable(N->getParent()); TypePrinting TypePrinter; SlotTable.initialize(); OS << "!" << N->getName() << " = !{";