diff options
| author | Devang Patel <dpatel@apple.com> | 2009-10-01 18:25:23 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2009-10-01 18:25:23 +0000 |
| commit | 787f94c28d09ba74c226ab15c2c7dcd9ccae74a5 (patch) | |
| tree | c024b77fa2786ad9a55b078ef29834fa23ada1d7 /llvm/lib/CodeGen | |
| parent | 8cf7907ba40b81ca4c2da0190a1d2f535c6c4194 (diff) | |
| download | bcm5719-llvm-787f94c28d09ba74c226ab15c2c7dcd9ccae74a5.tar.gz bcm5719-llvm-787f94c28d09ba74c226ab15c2c7dcd9ccae74a5.zip | |
Record first and last instruction of a scope in DbgScope.
llvm-svn: 83207
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 549644a37da..1361373e67a 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -147,6 +147,8 @@ class VISIBILITY_HIDDEN DbgScope { // Either subprogram or block. unsigned StartLabelID; // Label ID of the beginning of scope. unsigned EndLabelID; // Label ID of the end of scope. + const MachineInstr *LastInsn; // Last instruction of this scope. + const MachineInstr *FirstInsn; // First instruction of this scope. SmallVector<DbgScope *, 4> Scopes; // Scopes defined in scope. SmallVector<DbgVariable *, 8> Variables;// Variables declared in scope. SmallVector<DbgConcreteScope *, 8> ConcreteInsts;// Concrete insts of funcs. @@ -155,7 +157,8 @@ class VISIBILITY_HIDDEN DbgScope { mutable unsigned IndentLevel; public: DbgScope(DbgScope *P, DIDescriptor D) - : Parent(P), Desc(D), StartLabelID(0), EndLabelID(0), IndentLevel(0) {} + : Parent(P), Desc(D), StartLabelID(0), EndLabelID(0), LastInsn(0), + FirstInsn(0), IndentLevel(0) {} virtual ~DbgScope(); // Accessors. @@ -168,7 +171,10 @@ public: SmallVector<DbgConcreteScope*,8> &getConcreteInsts() { return ConcreteInsts; } void setStartLabelID(unsigned S) { StartLabelID = S; } void setEndLabelID(unsigned E) { EndLabelID = E; } - + void setLastInsn(const MachineInstr *MI) { LastInsn = MI; } + const MachineInstr *getLastInsn() { return LastInsn; } + void setFirstInsn(const MachineInstr *MI) { FirstInsn = MI; } + const MachineInstr *getFirstInsn() { return FirstInsn; } /// AddScope - Add a scope to the scope. /// void AddScope(DbgScope *S) { Scopes.push_back(S); } |

