Changes in directory llvm/include/llvm/CodeGen:
DwarfWriter.h updated: 1.26 -> 1.27 --- Log message: Supporting multiple compile units. --- Diffs of the changes: (+16 -27) DwarfWriter.h | 43 ++++++++++++++++--------------------------- 1 files changed, 16 insertions(+), 27 deletions(-) Index: llvm/include/llvm/CodeGen/DwarfWriter.h diff -u llvm/include/llvm/CodeGen/DwarfWriter.h:1.26 llvm/include/llvm/CodeGen/DwarfWriter.h:1.27 --- llvm/include/llvm/CodeGen/DwarfWriter.h:1.26 Mon Feb 27 06:43:29 2006 +++ llvm/include/llvm/CodeGen/DwarfWriter.h Mon Feb 27 11:27:12 2006 @@ -32,6 +32,7 @@ // Forward declarations. class AsmPrinter; +class CompileUnit; class CompileUnitDesc; class DebugInfoDesc; class DIE; @@ -43,7 +44,6 @@ class SubprogramDesc; class Type; class TypeDesc; - //===----------------------------------------------------------------------===// // DWLabel - Labels are used to track locations in the assembler file. @@ -92,23 +92,20 @@ /// CompileUnits - All the compile units involved in this build. The index /// of each entry in this vector corresponds to the sources in DebugInfo. - std::vector<DIE *> CompileUnits; + std::vector<CompileUnit *> CompileUnits; /// Abbreviations - A UniqueVector of TAG structure abbreviations. /// UniqueVector<DIEAbbrev> Abbreviations; - /// GlobalTypes - A map of globally visible named types. - /// - std::map<std::string, DIE *> GlobalTypes; - - /// GlobalEntities - A map of globally visible named entities. - /// - std::map<std::string, DIE *> GlobalEntities; - /// StringPool - A UniqueVector of strings used by indirect references. - /// + /// UnitMap - Map debug information descriptor to compile unit. + /// UniqueVector<std::string> StringPool; + + /// UnitMap - Map debug information descriptor to compile unit. + /// + std::map<DebugInfoDesc *, CompileUnit *> DescToUnitMap; /// DescToDieMap - Tracks the mapping of debug informaton descriptors to /// DIES. @@ -299,25 +296,21 @@ /// NewBasicType - Creates a new basic type if necessary, then adds to the /// owner. /// FIXME - Should never be needed. - DIE *NewBasicType(DIE *Owner, Type *Ty); - - /// NewGlobalType - Make the type visible globally using the given name. - /// - void NewGlobalType(const std::string &Name, DIE *Type); - - /// NewGlobalEntity - Make the entity visible globally using the given name. - /// - void NewGlobalEntity(const std::string &Name, DIE *Entity); + DIE *NewBasicType(CompileUnit *Unit, Type *Ty); private: /// NewType - Create a new type DIE. /// - DIE *NewType(DIE *Unit, TypeDesc *TyDesc); + DIE *DwarfWriter::NewType(CompileUnit *Unit, TypeDesc *TyDesc); - /// NewCompileUnit - Create new compile unit DIE. + /// NewCompileUnit - Create new compile unit and it's die. /// - DIE *NewCompileUnit(CompileUnitDesc *CompileUnit); + CompileUnit *NewCompileUnit(CompileUnitDesc *UnitDesc, unsigned ID); + + /// FindCompileUnit - Get the compile unit for the given descriptor. + /// + CompileUnit *FindCompileUnit(CompileUnitDesc *UnitDesc); /// NewGlobalVariable - Make a new global variable DIE. /// @@ -363,10 +356,6 @@ /// void EmitDebugPubNames(); - /// EmitDebugPubTypes - Emit info into a debug pubtypes section. - /// - void EmitDebugPubTypes(); - /// EmitDebugStr - Emit info into a debug str section. /// void EmitDebugStr(); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits