mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-21 12:38:45 +00:00
Remove MachineFunction's DefaultDebugLoc member, and make DwarfDebug.cpp
responsible for figuring out what that's supposed to be on its own. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101844 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a9a3321938
commit
084751cd16
@ -109,10 +109,6 @@ class MachineFunction {
|
|||||||
typedef ilist<MachineBasicBlock> BasicBlockListType;
|
typedef ilist<MachineBasicBlock> BasicBlockListType;
|
||||||
BasicBlockListType BasicBlocks;
|
BasicBlockListType BasicBlocks;
|
||||||
|
|
||||||
/// Default debug location. Used to print out the debug label at the beginning
|
|
||||||
/// of a function.
|
|
||||||
DebugLoc DefaultDebugLoc;
|
|
||||||
|
|
||||||
/// FunctionNumber - This provides a unique ID for each function emitted in
|
/// FunctionNumber - This provides a unique ID for each function emitted in
|
||||||
/// this translation unit.
|
/// this translation unit.
|
||||||
///
|
///
|
||||||
@ -394,19 +390,6 @@ public:
|
|||||||
/// normal 'L' label is returned.
|
/// normal 'L' label is returned.
|
||||||
MCSymbol *getJTISymbol(unsigned JTI, MCContext &Ctx,
|
MCSymbol *getJTISymbol(unsigned JTI, MCContext &Ctx,
|
||||||
bool isLinkerPrivate = false) const;
|
bool isLinkerPrivate = false) const;
|
||||||
|
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
|
||||||
// Debug location.
|
|
||||||
//
|
|
||||||
|
|
||||||
/// getDefaultDebugLoc - Get the default debug location for the machine
|
|
||||||
/// function.
|
|
||||||
DebugLoc getDefaultDebugLoc() const { return DefaultDebugLoc; }
|
|
||||||
|
|
||||||
/// setDefaultDebugLoc - Get the default debug location for the machine
|
|
||||||
/// function.
|
|
||||||
void setDefaultDebugLoc(DebugLoc DL) { DefaultDebugLoc = DL; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
|
@ -2283,6 +2283,21 @@ void DwarfDebug::identifyScopeMarkers() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// FindFirstDebugLoc - Find the first debug location in the function. This
|
||||||
|
/// is intended to be an approximation for the source position of the
|
||||||
|
/// beginning of the function.
|
||||||
|
static DebugLoc FindFirstDebugLoc(const MachineFunction *MF) {
|
||||||
|
for (MachineFunction::const_iterator I = MF->begin(), E = MF->end();
|
||||||
|
I != E; ++I)
|
||||||
|
for (MachineBasicBlock::const_iterator MBBI = I->begin(), MBBE = I->end();
|
||||||
|
MBBI != MBBE; ++MBBI) {
|
||||||
|
DebugLoc DL = MBBI->getDebugLoc();
|
||||||
|
if (!DL.isUnknown())
|
||||||
|
return DL;
|
||||||
|
}
|
||||||
|
return DebugLoc();
|
||||||
|
}
|
||||||
|
|
||||||
/// beginFunction - Gather pre-function debug information. Assumes being
|
/// beginFunction - Gather pre-function debug information. Assumes being
|
||||||
/// emitted immediately after the function entry point.
|
/// emitted immediately after the function entry point.
|
||||||
void DwarfDebug::beginFunction(const MachineFunction *MF) {
|
void DwarfDebug::beginFunction(const MachineFunction *MF) {
|
||||||
@ -2297,7 +2312,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) {
|
|||||||
|
|
||||||
// Emit label for the implicitly defined dbg.stoppoint at the start of the
|
// Emit label for the implicitly defined dbg.stoppoint at the start of the
|
||||||
// function.
|
// function.
|
||||||
DebugLoc FDL = MF->getDefaultDebugLoc();
|
DebugLoc FDL = FindFirstDebugLoc(MF);
|
||||||
if (FDL.isUnknown()) return;
|
if (FDL.isUnknown()) return;
|
||||||
|
|
||||||
MDNode *Scope = FDL.getScope(MF->getFunction()->getContext());
|
MDNode *Scope = FDL.getScope(MF->getFunction()->getContext());
|
||||||
|
@ -235,11 +235,6 @@ static void SetDebugLoc(const Instruction *I, SelectionDAGBuilder *SDB,
|
|||||||
|
|
||||||
if (FastIS)
|
if (FastIS)
|
||||||
FastIS->setCurDebugLoc(DL);
|
FastIS->setCurDebugLoc(DL);
|
||||||
|
|
||||||
// If the function doesn't have a default debug location yet, set
|
|
||||||
// it. This is a total hack.
|
|
||||||
if (MF->getDefaultDebugLoc().isUnknown())
|
|
||||||
MF->setDefaultDebugLoc(DL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ResetDebugLoc - Set MF's and SDB's DebugLocs to Unknown.
|
/// ResetDebugLoc - Set MF's and SDB's DebugLocs to Unknown.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user