mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-21 11:38:35 +00:00
Update processDebugLoc() to handle requests to process debug info, before and after emitting instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83364 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
af0e272683
commit
02c04237d0
@ -597,7 +597,7 @@ namespace {
|
|||||||
/// MachineRelocations that reference external functions by name.
|
/// MachineRelocations that reference external functions by name.
|
||||||
const StringMap<void*> &getExternalFnStubs() const { return ExtFnStubs; }
|
const StringMap<void*> &getExternalFnStubs() const { return ExtFnStubs; }
|
||||||
|
|
||||||
virtual void processDebugLoc(DebugLoc DL);
|
virtual void processDebugLoc(DebugLoc DL, bool BeforePrintingInsn);
|
||||||
|
|
||||||
virtual void emitLabel(uint64_t LabelID) {
|
virtual void emitLabel(uint64_t LabelID) {
|
||||||
if (LabelLocations.size() <= LabelID)
|
if (LabelLocations.size() <= LabelID)
|
||||||
@ -708,18 +708,20 @@ void JITEmitter::AddStubToCurrentFunction(void *StubAddr) {
|
|||||||
FnRefs.insert(CurFn);
|
FnRefs.insert(CurFn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JITEmitter::processDebugLoc(DebugLoc DL) {
|
void JITEmitter::processDebugLoc(DebugLoc DL, bool BeforePrintingInsn) {
|
||||||
if (!DL.isUnknown()) {
|
if (!DL.isUnknown()) {
|
||||||
DebugLocTuple CurDLT = EmissionDetails.MF->getDebugLocTuple(DL);
|
DebugLocTuple CurDLT = EmissionDetails.MF->getDebugLocTuple(DL);
|
||||||
|
|
||||||
if (CurDLT.CompileUnit != 0 && PrevDLT != CurDLT) {
|
if (BeforePrintingInsn) {
|
||||||
JITEvent_EmittedFunctionDetails::LineStart NextLine;
|
if (CurDLT.CompileUnit != 0 && PrevDLT != CurDLT) {
|
||||||
NextLine.Address = getCurrentPCValue();
|
JITEvent_EmittedFunctionDetails::LineStart NextLine;
|
||||||
NextLine.Loc = DL;
|
NextLine.Address = getCurrentPCValue();
|
||||||
EmissionDetails.LineStarts.push_back(NextLine);
|
NextLine.Loc = DL;
|
||||||
}
|
EmissionDetails.LineStarts.push_back(NextLine);
|
||||||
|
}
|
||||||
|
|
||||||
PrevDLT = CurDLT;
|
PrevDLT = CurDLT;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user