Load & StoreInst no longer derive from MemAccessInst, so we don't have
[oota-llvm.git] / lib / Analysis / LiveVar / ValueSet.cpp
index c93bc2028cb6c7583450fee62327213652f5bd53..1914f033020ae19480236ed1289d686755ef8dbb 100644 (file)
@@ -1,68 +1,22 @@
 
-#include "llvm/Analysis/LiveVar/ValueSet.h"
-#include "llvm/ConstPoolVals.h"
 
 
-void printValue( const Value *const v)  // func to print a Value 
-{
-  
-  if (v->hasName())
-    cerr << v << "(" << ((*v).getName()) << ") ";
-  else if (v->getValueType() == Value::ConstantVal)         // if const
-    cerr << v << "(" << ((ConstPoolVal *) v)->getStrValue() << ") ";
+#include "llvm/Analysis/LiveVar/ValueSet.h"
+#include "llvm/Value.h"
+#include <iostream>
+
+std::ostream &operator<<(std::ostream &O, RAV V) { // func to print a Value 
+  const Value &v = V.V;
+  if (v.hasName())
+    return O << (void*)&v << "(" << v.getName() << ") ";
+  else if (isa<Constant>(v))
+    return O << (void*)&v << "(" << v << ") ";
   else
-    cerr << v  << " ";
+    return O << (void*)&v << " ";
 }
 
-
-//---------------- Method implementations --------------------------
-
-
-ValueSet:: ValueSet() : hash_set<const Value *,  hashFuncValue> () { }
-
-                                             // for performing two set unions
-bool ValueSet::setUnion( const ValueSet *const set1) {   
-  const_iterator set1it;
-  pair<iterator, bool> result;
-  bool changed = false;
-
-  for( set1it = set1->begin() ; set1it != set1->end(); set1it++) {  
-                                             // for all all elements in set1
-    result = insert( *set1it );              // insert to this set
-      if( result.second == true) changed = true;
-  }
-
-  return changed;
+void printSet(const ValueSet &S) {
+  for (ValueSet::const_iterator I = S.begin(), E = S.end(); I != E; ++I)
+    std::cerr << RAV(*I);
 }
 
-
-                                             // for performing set difference
-void ValueSet::setDifference( const ValueSet *const set1, 
-                             const ValueSet *const set2) { 
-
-  const_iterator set1it, set2it;
-  for( set1it = set1->begin() ; set1it != set1->end(); set1it++) {  
-                                             // for all elements in set1
-    iterator set2it = set2->find( *set1it ); // find wether the elem is in set2
-    if( set2it == set2->end() )              // if the element is not in set2
-      insert( *set1it );                     // insert to this set
-  }
-}
-
-
-                                        // for performing set subtraction
-void ValueSet::setSubtract( const ValueSet *const set1) { 
-  const_iterator set1it;
-  for( set1it = set1->begin() ; set1it != set1->end(); set1it++)  
-                                        // for all elements in set1
-    erase( *set1it );                   // erase that element from this set
-}
-
-
-
-
-void ValueSet::printSet()  const {     // for printing a live variable set
-      const_iterator it;
-      for( it = begin() ; it != end(); it++) 
-       printValue( *it );
-}