summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1c9524b)
raw | patch | inline | side by side (parent: 1c9524b)
author | Eric Christopher <echristo@gmail.com> | |
Sat, 5 Oct 2013 00:05:51 +0000 (00:05 +0000) | ||
committer | Eric Christopher <echristo@gmail.com> | |
Sat, 5 Oct 2013 00:05:51 +0000 (00:05 +0000) |
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192009 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp | patch | blob | history | |
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h | patch | blob | history |
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 0668646afa3869c9bf0a89db1de6be68dc42c750..5e31cba1c7f6f50134974effd6be3c1ab3f94dff 100644 (file)
GlobalTypes[Ty.getName()] = Entry->getEntry();
}
GlobalTypes[Ty.getName()] = Entry->getEntry();
}
-/// addPubTypes - Add type for pubtypes section.
+/// addPubTypes - Add subprogram argument types for pubtypes section.
void CompileUnit::addPubTypes(DISubprogram SP) {
DICompositeType SPTy = SP.getType();
uint16_t SPTag = SPTy.getTag();
void CompileUnit::addPubTypes(DISubprogram SP) {
DICompositeType SPTy = SP.getType();
uint16_t SPTag = SPTy.getTag();
index 8459f7744d0cd85684d085f06d08198dbcc09905..4cdd8fcb56fc3dd945ad1b36b5a5e1f7753b251c 100644 (file)
/// corresponds to the MDNode mapped with the subprogram DIE.
DenseMap<DIE *, const MDNode *> ContainingTypeMap;
/// corresponds to the MDNode mapped with the subprogram DIE.
DenseMap<DIE *, const MDNode *> ContainingTypeMap;
- /// getLowerBoundDefault - Return the default lower bound for an array. If the
- /// DWARF version doesn't handle the language, return -1.
- int64_t getDefaultLowerBound() const;
-
public:
CompileUnit(unsigned UID, DIE *D, const MDNode *N, AsmPrinter *A,
DwarfDebug *DW, DwarfUnits *DWU);
public:
CompileUnit(unsigned UID, DIE *D, const MDNode *N, AsmPrinter *A,
DwarfDebug *DW, DwarfUnits *DWU);
///
void addGlobalType(DIType Ty);
///
void addGlobalType(DIType Ty);
+ /// addPubTypes - Add a set of types from the subprogram to the global types.
+ void addPubTypes(DISubprogram SP);
+
/// addAccelName - Add a new name to the name accelerator table.
void addAccelName(StringRef Name, DIE *Die);
/// addAccelName - Add a new name to the name accelerator table.
void addAccelName(StringRef Name, DIE *Die);
MDNodeToDieMap.insert(std::make_pair(N, D));
}
MDNodeToDieMap.insert(std::make_pair(N, D));
}
- /// getDIEEntry - Returns the debug information entry for the specified
- /// debug variable.
- DIEEntry *getDIEEntry(const MDNode *N) const {
- return MDNodeToDIEEntryMap.lookup(N);
- }
-
- /// insertDIEEntry - Insert debug information entry into the map.
- void insertDIEEntry(const MDNode *N, DIEEntry *E) {
- MDNodeToDIEEntryMap.insert(std::make_pair(N, E));
- }
-
/// addDie - Adds or interns the DIE to the compile unit.
///
void addDie(DIE *Buffer) { CUDie->addChild(Buffer); }
/// addDie - Adds or interns the DIE to the compile unit.
///
void addDie(DIE *Buffer) { CUDie->addChild(Buffer); }
- // getIndexTyDie - Get an anonymous type for index type.
- DIE *getIndexTyDie() { return IndexTyDie; }
-
- // setIndexTyDie - Set D as anonymous type for index which can be reused
- // later.
- void setIndexTyDie(DIE *D) { IndexTyDie = D; }
-
/// addFlag - Add a flag that is true to the DIE.
void addFlag(DIE *Die, uint16_t Attribute);
/// addFlag - Add a flag that is true to the DIE.
void addFlag(DIE *Die, uint16_t Attribute);
/// new DIE for the given DITemplateValueParameter.
DIE *getOrCreateTemplateValueParameterDIE(DITemplateValueParameter TVP);
/// new DIE for the given DITemplateValueParameter.
DIE *getOrCreateTemplateValueParameterDIE(DITemplateValueParameter TVP);
- /// createDIEEntry - Creates a new DIEEntry to be a proxy for a debug
- /// information entry.
- DIEEntry *createDIEEntry(DIE *Entry);
+ /// getOrCreateContextDIE - Get context owner's DIE.
+ DIE *getOrCreateContextDIE(DIScope Context);
/// createGlobalVariableDIE - create global variable DIE.
void createGlobalVariableDIE(const MDNode *N);
/// createGlobalVariableDIE - create global variable DIE.
void createGlobalVariableDIE(const MDNode *N);
- void addPubTypes(DISubprogram SP);
+ /// constructContainingTypeDIEs - Construct DIEs for types that contain
+ /// vtables.
+ void constructContainingTypeDIEs();
+
+ /// constructVariableDIE - Construct a DIE for the given DbgVariable.
+ DIE *constructVariableDIE(DbgVariable *DV, bool isScopeAbstract);
+private:
/// constructTypeDIE - Construct basic type die from DIBasicType.
void constructTypeDIE(DIE &Buffer, DIBasicType BTy);
/// constructTypeDIE - Construct basic type die from DIBasicType.
void constructTypeDIE(DIE &Buffer, DIBasicType BTy);
/// constructEnumTypeDIE - Construct enum type DIE from DIEnumerator.
DIE *constructEnumTypeDIE(DIEnumerator ETy);
/// constructEnumTypeDIE - Construct enum type DIE from DIEnumerator.
DIE *constructEnumTypeDIE(DIEnumerator ETy);
- /// constructContainingTypeDIEs - Construct DIEs for types that contain
- /// vtables.
- void constructContainingTypeDIEs();
-
- /// constructVariableDIE - Construct a DIE for the given DbgVariable.
- DIE *constructVariableDIE(DbgVariable *DV, bool isScopeAbstract);
-
/// createMemberDIE - Create new member DIE.
DIE *createMemberDIE(DIDerivedType DT);
/// createStaticMemberDIE - Create new static data member DIE.
DIE *createStaticMemberDIE(DIDerivedType DT);
/// createMemberDIE - Create new member DIE.
DIE *createMemberDIE(DIDerivedType DT);
/// createStaticMemberDIE - Create new static data member DIE.
DIE *createStaticMemberDIE(DIDerivedType DT);
- /// getOrCreateContextDIE - Get context owner's DIE.
- DIE *getOrCreateContextDIE(DIScope Context);
+ /// getLowerBoundDefault - Return the default lower bound for an array. If the
+ /// DWARF version doesn't handle the language, return -1.
+ int64_t getDefaultLowerBound() const;
+
+ /// getDIEEntry - Returns the debug information entry for the specified
+ /// debug variable.
+ DIEEntry *getDIEEntry(const MDNode *N) const {
+ return MDNodeToDIEEntryMap.lookup(N);
+ }
+
+ /// insertDIEEntry - Insert debug information entry into the map.
+ void insertDIEEntry(const MDNode *N, DIEEntry *E) {
+ MDNodeToDIEEntryMap.insert(std::make_pair(N, E));
+ }
+
+ // getIndexTyDie - Get an anonymous type for index type.
+ DIE *getIndexTyDie() { return IndexTyDie; }
+
+ // setIndexTyDie - Set D as anonymous type for index which can be reused
+ // later.
+ void setIndexTyDie(DIE *D) { IndexTyDie = D; }
+
+ /// createDIEEntry - Creates a new DIEEntry to be a proxy for a debug
+ /// information entry.
+ DIEEntry *createDIEEntry(DIE *Entry);
private:
private: