diff options
author | Jim Laskey <jlaskey@mac.com> | 2006-06-23 12:51:53 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2006-06-23 12:51:53 +0000 |
commit | 89d67faf30ed1a8b5364f53c9a0f5e07a9a0719c (patch) | |
tree | 7ad677adaa15e302a762b79b0fa731b7ec813c9d /include/llvm/CodeGen | |
parent | 52b510b4c4f36f58c4aa37a1f835eb95e89e0adb (diff) |
Add and sort "sections" in debug lines. This always stepping through
code in sections other than ".text", including weak sections like ctors and
dtors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28909 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/AsmPrinter.h | 8 | ||||
-rw-r--r-- | include/llvm/CodeGen/DwarfWriter.h | 17 | ||||
-rw-r--r-- | include/llvm/CodeGen/MachineDebugInfo.h | 6 |
3 files changed, 15 insertions, 16 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index cf65c9ec32..af80d3ce8c 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -26,10 +26,6 @@ namespace llvm { 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 @@ namespace llvm { //===--- 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. diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h index cfa90f2ed1..d501d50191 100644 --- a/include/llvm/CodeGen/DwarfWriter.h +++ b/include/llvm/CodeGen/DwarfWriter.h @@ -47,6 +47,7 @@ class MachineMove; class Module; class MRegisterInfo; class SubprogramDesc; +class SourceLineInfo; class TargetData; class Type; class TypeDesc; @@ -110,11 +111,6 @@ protected: /// 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 @@ protected: /// 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 @@ public: /// 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. /// diff --git a/include/llvm/CodeGen/MachineDebugInfo.h b/include/llvm/CodeGen/MachineDebugInfo.h index cd28c77250..70c8398656 100644 --- a/include/llvm/CodeGen/MachineDebugInfo.h +++ b/include/llvm/CodeGen/MachineDebugInfo.h @@ -1031,9 +1031,9 @@ public: 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; } |