Changes in directory llvm/include/llvm/CodeGen:
AsmPrinter.h updated: 1.40 -> 1.41 DwarfWriter.h updated: 1.37 -> 1.38 MachineDebugInfo.h updated: 1.36 -> 1.37 --- Log message: Add and sort "sections" in debug lines. This always stepping through code in sections other than ".text", including weak sections like ctors and dtors. --- Diffs of the changes: (+15 -16) AsmPrinter.h | 8 ++++---- DwarfWriter.h | 17 ++++++++--------- MachineDebugInfo.h | 6 +++--- 3 files changed, 15 insertions(+), 16 deletions(-) Index: llvm/include/llvm/CodeGen/AsmPrinter.h diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.40 llvm/include/llvm/CodeGen/AsmPrinter.h:1.41 --- llvm/include/llvm/CodeGen/AsmPrinter.h:1.40 Fri May 19 14:07:54 2006 +++ llvm/include/llvm/CodeGen/AsmPrinter.h Fri Jun 23 07:51:53 2006 @@ -26,10 +26,6 @@ class GlobalVariable; class AsmPrinter : public MachineFunctionPass { - /// CurrentSection - The current section we are emitting to. This is - /// controlled and used by the SwitchSection method. - std::string CurrentSection; - /// FunctionNumber - This provides a unique ID for each function emitted in /// this translation unit. It is autoincremented by SetupMachineFunction, /// and can be accessed with getFunctionNumber() and @@ -134,6 +130,10 @@ //===--- Section Switching Directives ---------------------------------===// + /// CurrentSection - The current section we are emitting to. This is + /// controlled and used by the SwitchSection method. + std::string CurrentSection; + /// SwitchToSectionDirective - This is the directive used when we want to /// emit a global to an arbitrary section. The section name is emited after /// this. Index: llvm/include/llvm/CodeGen/DwarfWriter.h diff -u llvm/include/llvm/CodeGen/DwarfWriter.h:1.37 llvm/include/llvm/CodeGen/DwarfWriter.h:1.38 --- llvm/include/llvm/CodeGen/DwarfWriter.h:1.37 Wed Jun 14 06:35:03 2006 +++ llvm/include/llvm/CodeGen/DwarfWriter.h Fri Jun 23 07:51:53 2006 @@ -47,6 +47,7 @@ class Module; class MRegisterInfo; class SubprogramDesc; +class SourceLineInfo; class TargetData; class Type; class TypeDesc; @@ -110,11 +111,6 @@ /// bool shouldEmit; - /// IsNormalText - Flag to indicate if routine is not special case text - /// (coalesced.) - // FIXME - should be able to debug coalesced functions. - bool IsNormalText; - /// SubprogramCount - The running count of functions being compiled. /// unsigned SubprogramCount; @@ -144,10 +140,13 @@ /// descriptors to debug information entries. std::map<DebugInfoDesc *, DIE *> DescToDieMap; - /// TypeToDieMap - Type to DIEType map. + /// SectionMap - Provides a unique id per text section. + /// + UniqueVector<std::string> SectionMap; + + /// SectionSourceLines - Tracks line numbers per text section. /// - // FIXME - Should not be needed. - std::map<Type *, DIE *> TypeToDieMap; + std::vector<std::vector<SourceLineInfo *> > SectionSourceLines; //===--------------------------------------------------------------------===// // Properties to be set by the derived class ctor, used to configure the @@ -483,7 +482,7 @@ /// BeginFunction - Gather pre-function debug information. Assumes being /// emitted immediately after the function entry point. - void BeginFunction(MachineFunction *MF, bool IsNormalText); + void BeginFunction(MachineFunction *MF); /// EndFunction - Gather and emit post-function debug information. /// Index: llvm/include/llvm/CodeGen/MachineDebugInfo.h diff -u llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.36 llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.37 --- llvm/include/llvm/CodeGen/MachineDebugInfo.h:1.36 Fri Jun 16 08:14:03 2006 +++ llvm/include/llvm/CodeGen/MachineDebugInfo.h Fri Jun 23 07:51:53 2006 @@ -1031,9 +1031,9 @@ return SourceFiles; } - /// getSourceLines - Return a vector of source lines. Vector index + 1 - /// equals label ID. - const std::vector<SourceLineInfo *> &getSourceLines() const { + /// getSourceLines - Return a vector of source lines. + /// + std::vector<SourceLineInfo *> &getSourceLines() { return Lines; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits