diff options
author | Chris Lattner <sabre@nondot.org> | 2010-03-09 04:54:43 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-03-09 04:54:43 +0000 |
commit | c608784dc8a668abbb96e7a471e6341c1fda669f (patch) | |
tree | 3e7c5ddb954cf81b3503ef3ac2f1c21559a06e30 /lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
parent | 6c7dfc046326f7c52c8df782c326b703882b3796 (diff) |
reapply r98035:
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 9a534315bd..a84ef470cf 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1951,14 +1951,14 @@ void DwarfDebug::collectVariableInfo() { } /// beginScope - Process beginning of a scope starting at Label. -void DwarfDebug::beginScope(const MachineInstr *MI, unsigned Label) { +void DwarfDebug::beginScope(const MachineInstr *MI, MCSymbol *Label) { InsnToDbgScopeMapTy::iterator I = DbgScopeBeginMap.find(MI); if (I == DbgScopeBeginMap.end()) return; ScopeVector &SD = I->second; for (ScopeVector::iterator SDI = SD.begin(), SDE = SD.end(); SDI != SDE; ++SDI) - (*SDI)->setStartLabel(getDWLabel("label", Label)); + (*SDI)->setStartLabel(Label); } /// endScope - Process end of a scope. @@ -2127,7 +2127,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) { Col = DLT.getColumnNumber(); } - Asm->printLabel(recordSourceLine(Line, Col, DLT.getScope().getNode())); + recordSourceLine(Line, Col, DLT.getScope().getNode()); } if (TimePassesIsEnabled) DebugTimer->stopTimer(); @@ -2183,11 +2183,10 @@ void DwarfDebug::endFunction(const MachineFunction *MF) { DebugTimer->stopTimer(); } -/// recordSourceLine - Records location information and associates it with a -/// label. Returns a unique label ID used to generate a label and provide -/// correspondence to the source line list. -unsigned DwarfDebug::recordSourceLine(unsigned Line, unsigned Col, - MDNode *S) { +/// recordSourceLine - Register a source line with debug info. Returns the +/// unique label that was emitted and which provides correspondence to +/// the source line list. +MCSymbol *DwarfDebug::recordSourceLine(unsigned Line, unsigned Col, MDNode *S) { if (!MMI) return 0; @@ -2220,7 +2219,9 @@ unsigned DwarfDebug::recordSourceLine(unsigned Line, unsigned Col, if (TimePassesIsEnabled) DebugTimer->stopTimer(); - return ID; + MCSymbol *Label = getDWLabel("label", ID); + Asm->OutStreamer.EmitLabel(Label); + return Label; } /// getOrCreateSourceID - Public version of GetOrCreateSourceID. This can be |