X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FValueSymbolTable.h;h=1738cc4a7a793e2e7e8c462c710a8deece4a954b;hb=f2286b0152f0b942e82d8e809186e5cc0d247131;hp=9b4ccbaf8f30121416548dc437aeba42f2ba8d07;hpb=0a0193edf9152bdc47a49a1a513d6e9cbf723131;p=oota-llvm.git diff --git a/include/llvm/ValueSymbolTable.h b/include/llvm/ValueSymbolTable.h index 9b4ccbaf8f3..1738cc4a7a7 100644 --- a/include/llvm/ValueSymbolTable.h +++ b/include/llvm/ValueSymbolTable.h @@ -17,7 +17,6 @@ #include "llvm/Value.h" #include "llvm/ADT/StringMap.h" #include "llvm/Support/DataTypes.h" -#include "llvm/Support/ValueHandle.h" namespace llvm { template @@ -27,7 +26,7 @@ namespace llvm { class NamedMDNode; class Module; class StringRef; - + /// This class provides a symbol table of name/value pairs. It is essentially /// a std::map but has a controlled interface provided by /// LLVM as well as ensuring uniqueness of names. @@ -40,12 +39,11 @@ class ValueSymbolTable { friend class SymbolTableListTraits; friend class SymbolTableListTraits; friend class SymbolTableListTraits; - friend class SymbolTableListTraits; /// @name Types /// @{ public: /// @brief A mapping of names to values. - typedef StringMap > ValueMap; + typedef StringMap ValueMap; /// @brief An iterator over a ValueMap. typedef ValueMap::iterator iterator; @@ -70,7 +68,7 @@ public: /// the symbol table. /// @returns the value associated with the \p Name /// @brief Lookup a named Value. - Value *lookup(const StringRef &Name) const { return vmap.lookup(Name); } + Value *lookup(StringRef Name) const { return vmap.lookup(Name); } /// @returns true iff the symbol table is empty /// @brief Determine if the symbol table is empty @@ -113,7 +111,7 @@ private: /// createValueName - This method attempts to create a value name and insert /// it into the symbol table with the specified name. If it conflicts, it /// auto-renames the name and returns that instead. - ValueName *createValueName(const StringRef &Name, Value *V); + ValueName *createValueName(StringRef Name, Value *V); /// This method removes a value from the symbol table. It leaves the /// ValueName attached to the value, but it is no longer inserted in the