diff options
author | Devang Patel <dpatel@apple.com> | 2009-04-15 00:10:26 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-04-15 00:10:26 +0000 |
commit | 1be3eccecbd2fa50ed9008ffee01f6351df5d8f7 (patch) | |
tree | c27337a942e36a3dd2d628d2e1779ca0b21ba294 /include | |
parent | aaa1fdb271073893699f3af57f5439dae35a8f59 (diff) | |
download | external_llvm-1be3eccecbd2fa50ed9008ffee01f6351df5d8f7.zip external_llvm-1be3eccecbd2fa50ed9008ffee01f6351df5d8f7.tar.gz external_llvm-1be3eccecbd2fa50ed9008ffee01f6351df5d8f7.tar.bz2 |
Construct and emit DW_TAG_inlined_subroutine DIEs for inlined subroutine scopes (only in FastISel mode).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69116 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/DwarfWriter.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h index 9b9e21c..4b35b28 100644 --- a/include/llvm/CodeGen/DwarfWriter.h +++ b/include/llvm/CodeGen/DwarfWriter.h @@ -29,11 +29,15 @@ class DwarfDebug; class DwarfException; class MachineModuleInfo; class MachineFunction; +class MachineInstr; class Value; class Module; class GlobalVariable; class TargetAsmInfo; class raw_ostream; +class Instruction; +class DISubprogram; +class DIVariable; //===----------------------------------------------------------------------===// // DwarfWriter - Emits Dwarf debug and exception handling directives. @@ -94,9 +98,6 @@ public: /// RecordRegionStart - Indicate the start of a region. unsigned RecordRegionStart(GlobalVariable *V); - /// RecordRegionStart - Indicate the start of a region. - unsigned RecordRegionStart(GlobalVariable *V, unsigned ID); - /// RecordRegionEnd - Indicate the end of a region. unsigned RecordRegionEnd(GlobalVariable *V); @@ -105,15 +106,23 @@ public: /// RecordVariable - Indicate the declaration of a local variable. /// - void RecordVariable(GlobalVariable *GV, unsigned FrameIndex); + void RecordVariable(GlobalVariable *GV, unsigned FrameIndex, + const MachineInstr *MI); /// ShouldEmitDwarfDebug - Returns true if Dwarf debugging declarations should /// be emitted. bool ShouldEmitDwarfDebug() const; - //// RecordInlineInfo - Global variable GV is inlined at the location marked - //// by LabelID label. - void RecordInlineInfo(GlobalVariable *GV, unsigned LabelID); + //// RecordInlinedFnStart - Indicate the start of a inlined function. + void RecordInlinedFnStart(Instruction *I, DISubprogram &SP, unsigned LabelID, + unsigned Src, unsigned Line, unsigned Col); + + /// RecordInlinedFnEnd - Indicate the end of inlined subroutine. + unsigned RecordInlinedFnEnd(DISubprogram &SP); + + /// RecordVariableScope - Record scope for the variable declared by + /// DeclareMI. DeclareMI must describe TargetInstrInfo::DECLARE. + void RecordVariableScope(DIVariable &DV, const MachineInstr *DeclareMI); }; |