diff options
Diffstat (limited to 'include/llvm/CodeGen/MachineModuleInfo.h')
-rw-r--r-- | include/llvm/CodeGen/MachineModuleInfo.h | 52 |
1 files changed, 18 insertions, 34 deletions
diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h index 748dfd68ce..f2a2b7b674 100644 --- a/include/llvm/CodeGen/MachineModuleInfo.h +++ b/include/llvm/CodeGen/MachineModuleInfo.h @@ -33,6 +33,7 @@ #include "llvm/GlobalValue.h" #include "llvm/Pass.h" +#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/UniqueVector.h" @@ -85,15 +86,10 @@ public: /// DIDeserializer - This class is responsible for casting GlobalVariables /// into DebugInfoDesc objects. class DIDeserializer { -private: - std::map<GlobalVariable *, DebugInfoDesc *> GlobalDescs; - // Previously defined gloabls. - + // Previously defined gloabls. + DenseMap<GlobalVariable*, DebugInfoDesc*> GlobalDescs; public: - DIDeserializer() {} - ~DIDeserializer() {} - - const std::map<GlobalVariable *, DebugInfoDesc *> &getGlobalDescs() const { + const DenseMap<GlobalVariable *, DebugInfoDesc *> &getGlobalDescs() const { return GlobalDescs; } @@ -107,27 +103,23 @@ public: /// DISerializer - This class is responsible for casting DebugInfoDesc objects /// into GlobalVariables. class DISerializer { -private: Module *M; // Definition space module. PointerType *StrPtrTy; // A "i8*" type. Created lazily. PointerType *EmptyStructPtrTy; // A "{ }*" type. Created lazily. + + // Types per Tag. Created lazily. std::map<unsigned, StructType *> TagTypes; - // Types per Tag. Created lazily. - std::map<DebugInfoDesc *, GlobalVariable *> DescGlobals; - // Previously defined descriptors. - std::map<const std::string, Constant *> StringCache; - // Previously defined strings. - + + // Previously defined descriptors. + DenseMap<DebugInfoDesc *, GlobalVariable *> DescGlobals; + + // Previously defined strings. + DenseMap<const char *, Constant*> StringCache; public: DISerializer() - : M(NULL) - , StrPtrTy(NULL) - , EmptyStructPtrTy(NULL) - , TagTypes() - , DescGlobals() - , StringCache() + : M(NULL), StrPtrTy(NULL), EmptyStructPtrTy(NULL), TagTypes(), + DescGlobals(), StringCache() {} - ~DISerializer() {} // Accessors Module *getModule() const { return M; }; @@ -161,21 +153,17 @@ public: /// DIVerifier - This class is responsible for verifying the given network of /// GlobalVariables are valid as DebugInfoDesc objects. class DIVerifier { -private: enum { Unknown = 0, Invalid, Valid }; - std::map<GlobalVariable *, unsigned> Validity;// Tracks prior results. - std::map<unsigned, unsigned> Counts; // Count of fields per Tag type. - + DenseMap<GlobalVariable *, unsigned> Validity; // Tracks prior results. + std::map<unsigned, unsigned> Counts; // Count of fields per Tag type. public: DIVerifier() - : Validity() - , Counts() + : Validity(), Counts() {} - ~DIVerifier() {} /// Verify - Return true if the GlobalVariable appears to be a valid /// serialization of a DebugInfoDesc. @@ -191,12 +179,10 @@ public: /// SourceLineInfo - This class is used to record source line correspondence. /// class SourceLineInfo { -private: unsigned Line; // Source line number. unsigned Column; // Source column. unsigned SourceID; // Source ID number. unsigned LabelID; // Label in code ID number. - public: SourceLineInfo(unsigned L, unsigned C, unsigned S, unsigned I) : Line(L), Column(C), SourceID(S), LabelID(I) {} @@ -212,10 +198,8 @@ public: /// SourceFileInfo - This class is used to track source information. /// class SourceFileInfo { -private: unsigned DirectoryID; // Directory ID number. std::string Name; // File name (not including directory.) - public: SourceFileInfo(unsigned D, const std::string &N) : DirectoryID(D), Name(N) {} @@ -591,7 +575,7 @@ public: /// getFilterIDFor - Return the id of the filter encoded by TyIds. This is /// function wide. - int getFilterIDFor(SmallVectorImpl<unsigned> &TyIds); + int getFilterIDFor(std::vector<unsigned> &TyIds); /// TidyLandingPads - Remap landing pad labels and remove any deleted landing /// pads. |