mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
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
This commit is contained in:
parent
6c7dfc0463
commit
c608784dc8
@ -35,6 +35,7 @@ class Value;
|
||||
class Module;
|
||||
class MDNode;
|
||||
class MCAsmInfo;
|
||||
class MCSymbol;
|
||||
class raw_ostream;
|
||||
class Instruction;
|
||||
class DICompileUnit;
|
||||
@ -82,10 +83,10 @@ public:
|
||||
///
|
||||
void EndFunction(const MachineFunction *MF);
|
||||
|
||||
/// RecordSourceLine - Register a source line with debug info. Returns a
|
||||
/// unique label ID used to generate a label and provide correspondence to
|
||||
/// RecordSourceLine - Register a source line with debug info. Returns the
|
||||
/// unique label that was emitted and which provides correspondence to
|
||||
/// the source line list.
|
||||
unsigned RecordSourceLine(unsigned Line, unsigned Col, MDNode *Scope);
|
||||
MCSymbol *RecordSourceLine(unsigned Line, unsigned Col, MDNode *Scope);
|
||||
|
||||
/// getRecordSourceLineCount - Count source lines.
|
||||
unsigned getRecordSourceLineCount();
|
||||
@ -94,7 +95,7 @@ public:
|
||||
/// be emitted.
|
||||
bool ShouldEmitDwarfDebug() const;
|
||||
|
||||
void BeginScope(const MachineInstr *MI, unsigned Label);
|
||||
void BeginScope(const MachineInstr *MI, MCSymbol *Label);
|
||||
void EndScope(const MachineInstr *MI);
|
||||
};
|
||||
|
||||
|
@ -1319,10 +1319,9 @@ void AsmPrinter::processDebugLoc(const MachineInstr *MI,
|
||||
// After printing instruction
|
||||
DW->EndScope(MI);
|
||||
} else if (CurDLT.getNode() != PrevDLT) {
|
||||
unsigned L = DW->RecordSourceLine(CurDLT.getLineNumber(),
|
||||
CurDLT.getColumnNumber(),
|
||||
CurDLT.getScope().getNode());
|
||||
printLabel(L);
|
||||
MCSymbol *L = DW->RecordSourceLine(CurDLT.getLineNumber(),
|
||||
CurDLT.getColumnNumber(),
|
||||
CurDLT.getScope().getNode());
|
||||
DW->BeginScope(MI, L);
|
||||
PrevDLT = CurDLT.getNode();
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -512,10 +512,10 @@ public:
|
||||
///
|
||||
void endFunction(const MachineFunction *MF);
|
||||
|
||||
/// 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 recordSourceLine(unsigned Line, unsigned Col, MDNode *Scope);
|
||||
/// 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 *recordSourceLine(unsigned Line, unsigned Col, MDNode *Scope);
|
||||
|
||||
/// getSourceLineCount - Return the number of source lines in the debug
|
||||
/// info.
|
||||
@ -539,7 +539,7 @@ public:
|
||||
void collectVariableInfo();
|
||||
|
||||
/// beginScope - Process beginning of a scope starting at Label.
|
||||
void beginScope(const MachineInstr *MI, unsigned Label);
|
||||
void beginScope(const MachineInstr *MI, MCSymbol *Label);
|
||||
|
||||
/// endScope - Prcess end of a scope.
|
||||
void endScope(const MachineInstr *MI);
|
||||
|
@ -73,11 +73,11 @@ void DwarfWriter::EndFunction(const MachineFunction *MF) {
|
||||
MMI->EndFunction();
|
||||
}
|
||||
|
||||
/// 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 DwarfWriter::RecordSourceLine(unsigned Line, unsigned Col,
|
||||
MDNode *Scope) {
|
||||
/// 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 *DwarfWriter::RecordSourceLine(unsigned Line, unsigned Col,
|
||||
MDNode *Scope) {
|
||||
return DD->recordSourceLine(Line, Col, Scope);
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ bool DwarfWriter::ShouldEmitDwarfDebug() const {
|
||||
return DD && DD->ShouldEmitDwarfDebug();
|
||||
}
|
||||
|
||||
void DwarfWriter::BeginScope(const MachineInstr *MI, unsigned L) {
|
||||
void DwarfWriter::BeginScope(const MachineInstr *MI, MCSymbol *L) {
|
||||
DD->beginScope(MI, L);
|
||||
}
|
||||
void DwarfWriter::EndScope(const MachineInstr *MI) {
|
||||
|
Loading…
Reference in New Issue
Block a user