X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FValueSymbolTable.h;h=1738cc4a7a793e2e7e8c462c710a8deece4a954b;hb=db55fc9dd8f6ede9b5337ba1f1d7cf0adfb1cc1a;hp=53815ba7a4e6bda90f8edd4ae65604b8af069e55;hpb=26028f27ddd132b3284943e11aca130c2911abc4;p=oota-llvm.git diff --git a/include/llvm/ValueSymbolTable.h b/include/llvm/ValueSymbolTable.h index 53815ba7a4e..1738cc4a7a7 100644 --- a/include/llvm/ValueSymbolTable.h +++ b/include/llvm/ValueSymbolTable.h @@ -16,8 +16,7 @@ #include "llvm/Value.h" #include "llvm/ADT/StringMap.h" -#include "llvm/System/DataTypes.h" -#include "llvm/ADT/ilist_node.h" +#include "llvm/Support/DataTypes.h" namespace llvm { template @@ -129,88 +128,6 @@ private: /// @} }; -/// This class provides a symbol table of name/NamedMDNode pairs. It is -/// essentially a StringMap wrapper. - -class MDSymbolTable { - friend class SymbolTableListTraits; -/// @name Types -/// @{ -private: - /// @brief A mapping of names to metadata - typedef StringMap MDMap; - -public: - /// @brief An iterator over a ValueMap. - typedef MDMap::iterator iterator; - - /// @brief A const_iterator over a ValueMap. - typedef MDMap::const_iterator const_iterator; - -/// @} -/// @name Constructors -/// @{ -public: - - MDSymbolTable(const MDNode &); // DO NOT IMPLEMENT - void operator=(const MDSymbolTable &); // DO NOT IMPLEMENT - MDSymbolTable() : mmap(0) {} - ~MDSymbolTable(); - -/// @} -/// @name Accessors -/// @{ -public: - - /// This method finds the value with the given \p Name in the - /// the symbol table. - /// @returns the NamedMDNode associated with the \p Name - /// @brief Lookup a named Value. - NamedMDNode *lookup(StringRef Name) const { return mmap.lookup(Name); } - - /// @returns true iff the symbol table is empty - /// @brief Determine if the symbol table is empty - inline bool empty() const { return mmap.empty(); } - - /// @brief The number of name/type pairs is returned. - inline unsigned size() const { return unsigned(mmap.size()); } - -/// @} -/// @name Iteration -/// @{ -public: - /// @brief Get an iterator that from the beginning of the symbol table. - inline iterator begin() { return mmap.begin(); } - - /// @brief Get a const_iterator that from the beginning of the symbol table. - inline const_iterator begin() const { return mmap.begin(); } - - /// @brief Get an iterator to the end of the symbol table. - inline iterator end() { return mmap.end(); } - - /// @brief Get a const_iterator to the end of the symbol table. - inline const_iterator end() const { return mmap.end(); } - -/// @} -/// @name Mutators -/// @{ -public: - /// insert - The method inserts a new entry into the stringmap. - void insert(StringRef Name, NamedMDNode *Node) { - (void) mmap.GetOrCreateValue(Name, Node); - } - - /// This method removes a NamedMDNode from the symbol table. - void remove(StringRef Name) { mmap.erase(Name); } - -/// @} -/// @name Internal Data -/// @{ -private: - MDMap mmap; ///< The map that holds the symbol table. -/// @} -}; - } // End llvm namespace #endif