From 25d15a7ff75f04a26c9643e849807895ab67babd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 7 Apr 2002 22:33:13 +0000 Subject: [PATCH] Remove some gross code by using the Value::dump method to do debug dumps git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2150 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/SymbolTable.cpp | 48 +++++++++++++++++++++----------------- lib/VMCore/Value.cpp | 27 +++++++++++---------- lib/VMCore/Verifier.cpp | 5 ++-- lib/VMCore/iBranch.cpp | 8 ++++--- 4 files changed, 46 insertions(+), 42 deletions(-) diff --git a/lib/VMCore/SymbolTable.cpp b/lib/VMCore/SymbolTable.cpp index bd19291fa58..64674ca4c66 100644 --- a/lib/VMCore/SymbolTable.cpp +++ b/lib/VMCore/SymbolTable.cpp @@ -17,7 +17,6 @@ using std::pair; using std::make_pair; using std::map; using std::cerr; -using std::cout; #define DEBUG_SYMBOL_TABLE 0 #define DEBUG_ABSTYPE 0 @@ -111,7 +110,8 @@ Value *SymbolTable::removeEntry(iterator Plane, type_iterator Entry) { Value *Result = Entry->second; const Type *Ty = Result->getType(); #if DEBUG_SYMBOL_TABLE - cerr << this << " Removing Value: " << Result->getName() << endl; + dump(); + std::cerr << " Removing Value: " << Result->getName() << "\n"; #endif // Remove the value from the plane... @@ -125,7 +125,7 @@ Value *SymbolTable::removeEntry(iterator Plane, type_iterator Entry) { if (Plane->first->isAbstract()) { #if DEBUG_ABSTYPE cerr << "Plane Empty: Removing type: " << Plane->first->getDescription() - << endl; + << "\n"; #endif cast(Plane->first)->removeAbstractTypeUser(this); } @@ -139,7 +139,7 @@ Value *SymbolTable::removeEntry(iterator Plane, type_iterator Entry) { const Type *T = cast(Result); if (T->isAbstract()) { #if DEBUG_ABSTYPE - cerr << "Removing abs type from symtab" << T->getDescription() << endl; + cerr << "Removing abs type from symtab" << T->getDescription() << "\n"; #endif cast(T)->removeAbstractTypeUser(this); } @@ -164,8 +164,9 @@ void SymbolTable::insertEntry(const string &Name, const Type *VTy, Value *V) { } #if DEBUG_SYMBOL_TABLE - cerr << this << " Inserting definition: " << Name << ": " - << VTy->getDescription() << endl; + dump(); + cerr << " Inserting definition: " << Name << ": " + << VTy->getDescription() << "\n"; #endif iterator I = find(VTy); @@ -181,7 +182,7 @@ void SymbolTable::insertEntry(const string &Name, const Type *VTy, Value *V) { if (VTy->isAbstract()) { cast(VTy)->addAbstractTypeUser(this); #if DEBUG_ABSTYPE - cerr << "Added abstract type value: " << VTy->getDescription() << endl; + cerr << "Added abstract type value: " << VTy->getDescription() << "\n"; #endif } } @@ -194,7 +195,7 @@ void SymbolTable::insertEntry(const string &Name, const Type *VTy, Value *V) { if (T->isAbstract()) { cast(T)->addAbstractTypeUser(this); #if DEBUG_ABSTYPE - cerr << "Added abstract type to ST: " << T->getDescription() << endl; + cerr << "Added abstract type to ST: " << T->getDescription() << "\n"; #endif } } @@ -218,7 +219,7 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType, if (NewType->isAbstract()) { cast(NewType)->addAbstractTypeUser(this); #if DEBUG_ABSTYPE - cerr << "[Added] refined to abstype: "<getDescription()<getDescription()<<"\n"; #endif } } @@ -282,7 +283,7 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType, // Ok, now we are not referencing the type anymore... take me off your user // list please! #if DEBUG_ABSTYPE - cerr << "Removing type " << OldType->getDescription() << endl; + cerr << "Removing type " << OldType->getDescription() << "\n"; #endif OldType->removeAbstractTypeUser(this); @@ -291,30 +292,30 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType, } else if (TPI != end()) { assert(OldType == NewType); #if DEBUG_ABSTYPE - cerr << "Removing SELF type " << OldType->getDescription() << endl; + cerr << "Removing SELF type " << OldType->getDescription() << "\n"; #endif OldType->removeAbstractTypeUser(this); } TPI = find(Type::TypeTy); if (TPI != end()) { - // Loop over all of the types in the symbol table, replacing any references to - // OldType with references to NewType. Note that there may be multiple - // occurances, and although we only need to remove one at a time, it's faster - // to remove them all in one pass. + // Loop over all of the types in the symbol table, replacing any references + // to OldType with references to NewType. Note that there may be multiple + // occurances, and although we only need to remove one at a time, it's + // faster to remove them all in one pass. // VarMap &TyPlane = TPI->second; for (VarMap::iterator I = TyPlane.begin(), E = TyPlane.end(); I != E; ++I) if (I->second == (Value*)OldType) { // FIXME when Types aren't const. #if DEBUG_ABSTYPE - cerr << "Removing type " << OldType->getDescription() << endl; + cerr << "Removing type " << OldType->getDescription() << "\n"; #endif OldType->removeAbstractTypeUser(this); I->second = (Value*)NewType; // TODO FIXME when types aren't const if (NewType->isAbstract()) { #if DEBUG_ABSTYPE - cerr << "Added type " << NewType->getDescription() << endl; + cerr << "Added type " << NewType->getDescription() << "\n"; #endif cast(NewType)->addAbstractTypeUser(this); } @@ -324,24 +325,27 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType, #ifndef NDEBUG -#include "llvm/Assembly/Writer.h" #include static void DumpVal(const pair &V) { - cout << " '" << V.first << "' = " << V.second << "\n"; + std::cout << " '" << V.first << "' = "; + V.second->dump(); + std::cout << "\n"; } static void DumpPlane(const pair >&P) { - cout << " Plane: " << P.first << "\n"; + std::cout << " Plane: "; + P.first->dump(); + std::cout << "\n"; for_each(P.second.begin(), P.second.end(), DumpVal); } void SymbolTable::dump() const { - cout << "Symbol table dump:\n"; + std::cout << "Symbol table dump:\n"; for_each(begin(), end(), DumpPlane); if (ParentSymTab) { - cout << "Parent "; + std::cout << "Parent "; ParentSymTab->dump(); } } diff --git a/lib/VMCore/Value.cpp b/lib/VMCore/Value.cpp index 9dc19dffb02..ac9f7012ef1 100644 --- a/lib/VMCore/Value.cpp +++ b/lib/VMCore/Value.cpp @@ -9,11 +9,6 @@ #include "llvm/SymbolTable.h" #include "llvm/SymTabValue.h" #include "llvm/DerivedTypes.h" -#ifndef NDEBUG // Only in -g mode... -#include "llvm/Assembly/Writer.h" -#include -using std::cerr; -#endif #include //===----------------------------------------------------------------------===// @@ -39,9 +34,13 @@ Value::~Value() { // a // if (Uses.begin() != Uses.end()) { - cerr << "While deleting: " << this; - for (use_const_iterator I = Uses.begin(); I != Uses.end(); ++I) - cerr << "Use still stuck around after Def is destroyed:" << *I << "\n"; + std::cerr << "While deleting: "; + dump(); + for (use_const_iterator I = Uses.begin(); I != Uses.end(); ++I) { + std::cerr << "Use still stuck around after Def is destroyed:"; + (*I)->dump(); + std::cerr << "\n"; + } } #endif assert(Uses.begin() == Uses.end()); @@ -60,8 +59,12 @@ void Value::replaceAllUsesWith(Value *D) { Use->replaceUsesOfWith(this, D); #ifndef NDEBUG // only in -g mode... - if (Uses.size() == NumUses) - cerr << "Use: " << Use << "replace with: " << D; + if (Uses.size() == NumUses) { + std::cerr << "Use: "; + Use->dump(); + std::cerr << "replace with: "; + D->dump(); + } #endif assert(Uses.size() != NumUses && "Didn't remove definition!"); } @@ -94,10 +97,6 @@ User *Value::use_remove(use_iterator &I) { return i; } -void Value::dump() const { - cerr << this; -} - //===----------------------------------------------------------------------===// // User Class //===----------------------------------------------------------------------===// diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp index 2bdc0163c09..f99b5ab5aa3 100644 --- a/lib/VMCore/Verifier.cpp +++ b/lib/VMCore/Verifier.cpp @@ -33,7 +33,6 @@ //===----------------------------------------------------------------------===// #include "llvm/Analysis/Verifier.h" -#include "llvm/Assembly/Writer.h" #include "llvm/Pass.h" #include "llvm/Function.h" #include "llvm/Module.h" @@ -70,8 +69,8 @@ static long ValidTypes[Type::FirstDerivedTyID] = { static inline void CheckFailed(const char *Cond, const std::string &Message, const Value *V1 = 0, const Value *V2 = 0) { std::cerr << Message << "\n"; - if (V1) std::cerr << V1 << "\n"; - if (V2) std::cerr << V2 << "\n"; + if (V1) { V1->dump(); std::cerr << "\n"; } + if (V2) { V2->dump(); std::cerr << "\n"; } } // Assert - We know that cond should be true, if not print an error message. diff --git a/lib/VMCore/iBranch.cpp b/lib/VMCore/iBranch.cpp index f020ab62137..7a352eeb46e 100644 --- a/lib/VMCore/iBranch.cpp +++ b/lib/VMCore/iBranch.cpp @@ -9,7 +9,6 @@ #include "llvm/BasicBlock.h" #ifndef NDEBUG #include "llvm/Type.h" // Only used for assertions... -#include "llvm/Assembly/Writer.h" #include #endif @@ -27,8 +26,11 @@ BranchInst::BranchInst(BasicBlock *True, BasicBlock *False, Value *Cond) "Either both cond and false or neither can be specified!"); #ifndef NDEBUG - if (Cond != 0 && Cond->getType() != Type::BoolTy) - std::cerr << "Bad Condition: " << Cond << "\n"; + if (Cond != 0 && Cond->getType() != Type::BoolTy) { + std::cerr << "Bad Condition: "; + Cond->dump(); + std::cerr << "\n"; + } #endif assert((Cond == 0 || Cond->getType() == Type::BoolTy) && "May only branch on boolean predicates!!!!"); -- 2.34.1