diff options
-rw-r--r-- | lib/VMCore/SymbolTable.cpp | 48 | ||||
-rw-r--r-- | lib/VMCore/Value.cpp | 27 | ||||
-rw-r--r-- | lib/VMCore/Verifier.cpp | 5 | ||||
-rw-r--r-- | 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 bd19291..64674ca 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<DerivedType>(Plane->first)->removeAbstractTypeUser(this); } @@ -139,7 +139,7 @@ Value *SymbolTable::removeEntry(iterator Plane, type_iterator Entry) { const Type *T = cast<const Type>(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<DerivedType>(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<DerivedType>(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<DerivedType>(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<DerivedType>(NewType)->addAbstractTypeUser(this); #if DEBUG_ABSTYPE - cerr << "[Added] refined to abstype: "<<NewType->getDescription()<<endl; + cerr << "[Added] refined to abstype: "<<NewType->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<const DerivedType>(NewType)->addAbstractTypeUser(this); } @@ -324,24 +325,27 @@ void SymbolTable::refineAbstractType(const DerivedType *OldType, #ifndef NDEBUG -#include "llvm/Assembly/Writer.h" #include <algorithm> static void DumpVal(const pair<const string, Value *> &V) { - cout << " '" << V.first << "' = " << V.second << "\n"; + std::cout << " '" << V.first << "' = "; + V.second->dump(); + std::cout << "\n"; } static void DumpPlane(const pair<const Type *, map<const string, Value *> >&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 9dc19df..ac9f701 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 <iostream> -using std::cerr; -#endif #include <algorithm> //===----------------------------------------------------------------------===// @@ -39,9 +34,13 @@ Value::~Value() { // a <badref> // 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 2bdc016..f99b5ab 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 f020ab6..7a352ee 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 <iostream> #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!!!!"); |