diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-05-20 23:19:06 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-05-20 23:19:06 +0000 |
commit | f0fb987903d0885e7da456e3d6f4a094efaccdc2 (patch) | |
tree | b11e9216b210aa292c44b188250195ef8292d4b3 /lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | 63ad10c004a559dce2dd3179fb851ad5fa6fbbe9 (diff) |
Revert r72192. It was causing a build failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72193 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.h | 77 |
1 files changed, 44 insertions, 33 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index a2647f87f3..a997199bed 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -230,9 +230,16 @@ class VISIBILITY_HIDDEN DwarfDebug : public Dwarf { /// void AssignAbbrevNumber(DIEAbbrev &Abbrev); - /// CreateDIEEntry - Creates a new DIEEntry to be a proxy for a debug - /// information entry. - DIEEntry *CreateDIEEntry(DIE *Entry = NULL); + /// NewString - Add a string to the constant pool and returns a label. + /// + DWLabel NewString(const std::string &String) { + unsigned StringID = StringPool.insert(String); + return DWLabel("string", StringID); + } + + /// NewDIEEntry - Creates a new DIEEntry to be a proxy for a debug information + /// entry. + DIEEntry *NewDIEEntry(DIE *Entry = NULL); /// SetDIEEntry - Set a DIEEntry once the debug information entry is defined. /// @@ -275,7 +282,7 @@ class VISIBILITY_HIDDEN DwarfDebug : public Dwarf { /// AddDIEEntry - Add a DIE attribute data and value. /// void AddDIEEntry(DIE *Die, unsigned Attribute, unsigned Form, DIE *Entry) { - Die->AddValue(Attribute, Form, CreateDIEEntry(Entry)); + Die->AddValue(Attribute, Form, NewDIEEntry(Entry)); } /// AddBlock - Add block data. @@ -339,9 +346,9 @@ class VISIBILITY_HIDDEN DwarfDebug : public Dwarf { /// CompileUnit &FindCompileUnit(DICompileUnit Unit) const; - /// CreateDbgScopeVariable - Create a new debug scope variable. + /// NewDbgScopeVariable - Create a new scope variable. /// - DIE *CreateDbgScopeVariable(DbgVariable *DV, CompileUnit *Unit); + DIE *NewDbgScopeVariable(DbgVariable *DV, CompileUnit *Unit); /// getOrCreateScope - Returns the scope associated with the given descriptor. /// @@ -355,38 +362,17 @@ class VISIBILITY_HIDDEN DwarfDebug : public Dwarf { /// ConstructFunctionDbgScope - Construct the scope for the subprogram. /// - void ConstructFunctionDbgScope(DbgScope *RootScope, - bool AbstractScope = false); + void ConstructFunctionDbgScope(DbgScope *RootScope); + + /// ConstructFunctionDbgScope - Construct the scope for the abstract debug + /// scope. + /// + void ConstructAbstractDbgScope(DbgScope *AbsScope); /// ConstructDefaultDbgScope - Construct a default scope for the subprogram. /// void ConstructDefaultDbgScope(MachineFunction *MF); - /// GetOrCreateSourceID - Look up the source id with the given directory and - /// source file names. If none currently exists, create a new id and insert it - /// in the SourceIds map. This can update DirectoryNames and SourceFileNames maps - /// as well. - unsigned GetOrCreateSourceID(const std::string &DirName, - const std::string &FileName); - - void ConstructCompileUnit(GlobalVariable *GV); - - /// ConstructCompileUnits - Create a compile unit DIEs. - void ConstructCompileUnits(); - - bool ConstructGlobalVariableDIE(GlobalVariable *GV); - - /// ConstructGlobalVariableDIEs - Create DIEs for each of the externally - /// visible global variables. Return true if at least one global DIE is - /// created. - bool ConstructGlobalVariableDIEs(); - - bool ConstructSubprogram(GlobalVariable *GV); - - /// ConstructSubprograms - Create DIEs for each of the externally visible - /// subprograms. Return true if at least one subprogram DIE is created. - bool ConstructSubprograms(); - /// EmitInitial - Emit initial Dwarf declarations. This is necessary for cc /// tools to recognize the object file contains Dwarf information. void EmitInitial(); @@ -475,6 +461,31 @@ class VISIBILITY_HIDDEN DwarfDebug : public Dwarf { /// the __debug_info section, and the low_pc is the starting address for the /// inlining instance. void EmitDebugInlineInfo(); + + /// GetOrCreateSourceID - Look up the source id with the given directory and + /// source file names. If none currently exists, create a new id and insert it + /// in the SourceIds map. This can update DirectoryNames and SourceFileNames maps + /// as well. + unsigned GetOrCreateSourceID(const std::string &DirName, + const std::string &FileName); + + void ConstructCompileUnit(GlobalVariable *GV); + + /// ConstructCompileUnits - Create a compile unit DIEs. + void ConstructCompileUnits(); + + bool ConstructGlobalVariableDIE(GlobalVariable *GV); + + /// ConstructGlobalVariableDIEs - Create DIEs for each of the externally + /// visible global variables. Return true if at least one global DIE is + /// created. + bool ConstructGlobalVariableDIEs(); + + bool ConstructSubprogram(GlobalVariable *GV); + + /// ConstructSubprograms - Create DIEs for each of the externally visible + /// subprograms. Return true if at least one subprogram DIE is created. + bool ConstructSubprograms(); public: //===--------------------------------------------------------------------===// // Main entry points. |