diff options
author | Jim Laskey <jlaskey@mac.com> | 2006-04-07 16:34:46 +0000 |
---|---|---|
committer | Jim Laskey <jlaskey@mac.com> | 2006-04-07 16:34:46 +0000 |
commit | 4188699f80c233a20b6ddc61570a8a8c1804cb85 (patch) | |
tree | a711460fdce84b3c1fdd9c1dcce8be21fef48786 /include/llvm/CodeGen/DwarfWriter.h | |
parent | 38ab6d887c660c7e2fe08707e8f982ab451fb224 (diff) | |
download | llvm-4188699f80c233a20b6ddc61570a8a8c1804cb85.tar.gz llvm-4188699f80c233a20b6ddc61570a8a8c1804cb85.tar.bz2 llvm-4188699f80c233a20b6ddc61570a8a8c1804cb85.tar.xz |
Foundation for call frame information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/DwarfWriter.h')
-rw-r--r-- | include/llvm/CodeGen/DwarfWriter.h | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h index 7ac5aa6ba4..34c69b907d 100644 --- a/include/llvm/CodeGen/DwarfWriter.h +++ b/include/llvm/CodeGen/DwarfWriter.h @@ -41,10 +41,13 @@ class DIE; class DIEAbbrev; class GlobalVariableDesc; class MachineDebugInfo; -class MachineLocation; class MachineFunction; +class MachineLocation; +class MachineMove; class Module; +class MRegisterInfo; class SubprogramDesc; +class TargetData; class Type; class TypeDesc; @@ -81,6 +84,12 @@ protected: /// AsmPrinter *Asm; + /// TD - Target data. + const TargetData &TD; + + /// RI - Register Information. + const MRegisterInfo *RI; + /// M - Current module. /// Module *M; @@ -324,7 +333,8 @@ private: /// AddAddress - Add an address attribute to a die based on the location /// provided. - void AddAddress(DIE *Die, unsigned Attribute, MachineLocation &Location); + void AddAddress(DIE *Die, unsigned Attribute, + const MachineLocation &Location); /// NewType - Create a new type DIE. /// @@ -375,6 +385,11 @@ private: /// void SizeAndOffsets(); + /// EmitFrameMoves - Emit frame instructions to describe the layout of the + /// frame. + void EmitFrameMoves(const char *BaseLabel, unsigned BaseLabelID, + std::vector<MachineMove *> &Moves); + /// EmitDebugInfo - Emit the debug info section. /// void EmitDebugInfo() const; @@ -387,10 +402,14 @@ private: /// void EmitDebugLines() const; - /// EmitDebugFrame - Emit info into a debug frame section. + /// EmitInitialDebugFrame - Emit common frame info into a debug frame section. /// - void EmitDebugFrame(); - + void EmitInitialDebugFrame(); + + /// EmitFunctionDebugFrame - Emit per function frame info into a debug frame + /// section. + void EmitFunctionDebugFrame(); + /// EmitDebugPubNames - Emit info into a debug pubnames section. /// void EmitDebugPubNames(); @@ -439,7 +458,7 @@ public: /// SetDebugInfo - Set DebugInfo when it's known that pass manager has /// created it. Set by the target AsmPrinter. - void SetDebugInfo(MachineDebugInfo *DI) { DebugInfo = DI; } + void SetDebugInfo(MachineDebugInfo *DI); //===--------------------------------------------------------------------===// // Main entry points. |