Fix problem where subpasses would invalidate all analyses outstanding
[oota-llvm.git] / lib / VMCore / Value.cpp
index ac9f7012ef17ccbb5e5f2dab2415d8bd113cc7a7..da3d87f9d2e7b7c4d623b7630a1767db3e738e33 100644 (file)
@@ -1,13 +1,11 @@
 //===-- Value.cpp - Implement the Value class -----------------------------===//
 //
-// This file implements the Value, User, and SymTabValue classes. 
+// This file implements the Value and User classes. 
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/ValueHolderImpl.h"
 #include "llvm/InstrTypes.h"
 #include "llvm/SymbolTable.h"
-#include "llvm/SymTabValue.h"
 #include "llvm/DerivedTypes.h"
 #include <algorithm>
 
@@ -34,8 +32,7 @@ Value::~Value() {
   // a <badref>
   //
   if (Uses.begin() != Uses.end()) {
-    std::cerr << "While deleting: ";
-    dump();
+    std::cerr << "While deleting: " << Ty << "%" << Name << "\n";
     for (use_const_iterator I = Uses.begin(); I != Uses.end(); ++I) {
       std::cerr << "Use still stuck around after Def is destroyed:";
       (*I)->dump();
@@ -121,42 +118,3 @@ void User::replaceUsesOfWith(Value *From, Value *To) {
 }
 
 
-//===----------------------------------------------------------------------===//
-//                             SymTabValue Class
-//===----------------------------------------------------------------------===//
-
-SymTabValue::SymTabValue(Value *p) : ValueParent(p) { 
-  assert(ValueParent && "SymTavValue without parent!?!");
-  ParentSymTab = SymTab = 0;
-}
-
-
-SymTabValue::~SymTabValue() {
-  delete SymTab;
-}
-
-void SymTabValue::setParentSymTab(SymbolTable *ST) {
-  ParentSymTab = ST;
-  if (SymTab) 
-    SymTab->setParentSymTab(ST);
-}
-
-SymbolTable *SymTabValue::getSymbolTableSure() {
-  if (!SymTab) SymTab = new SymbolTable(ParentSymTab);
-  return SymTab;
-}
-
-// hasSymbolTable() - Returns true if there is a symbol table allocated to
-// this object AND if there is at least one name in it!
-//
-bool SymTabValue::hasSymbolTable() const {
-  if (!SymTab) return false;
-
-  for (SymbolTable::const_iterator I = SymTab->begin(); 
-       I != SymTab->end(); ++I) {
-    if (I->second.begin() != I->second.end())
-      return true;                                // Found nonempty type plane!
-  }
-  
-  return false;
-}