mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
If FastISel is run and it has known DebugLoc then use it.
llvm-svn: 69253
This commit is contained in:
parent
c6c6759194
commit
d9a9d5bdbb
@ -83,6 +83,9 @@ public:
|
||||
///
|
||||
void setCurDebugLoc(DebugLoc dl) { DL = dl; }
|
||||
|
||||
/// getCurDebugLoc() - Return current debug location information.
|
||||
DebugLoc getCurDebugLoc() const { return DL; }
|
||||
|
||||
/// SelectInstruction - Do "fast" instruction selection for the given
|
||||
/// LLVM IR instruction, and append generated machine instructions to
|
||||
/// the current block. Return true if selection was successful.
|
||||
|
@ -392,6 +392,7 @@ public:
|
||||
SDValue getControlRoot();
|
||||
|
||||
DebugLoc getCurDebugLoc() const { return CurDebugLoc; }
|
||||
void setCurDebugLoc(DebugLoc dl) { CurDebugLoc = dl; }
|
||||
|
||||
void CopyValueToVirtualRegister(Value *V, unsigned Reg);
|
||||
|
||||
@ -542,8 +543,6 @@ private:
|
||||
|
||||
const char *implVisitBinaryAtomic(CallInst& I, ISD::NodeType Op);
|
||||
const char *implVisitAluOverflow(CallInst &I, ISD::NodeType Op);
|
||||
|
||||
void setCurDebugLoc(DebugLoc dl) { CurDebugLoc = dl; }
|
||||
};
|
||||
|
||||
/// AddCatchInfo - Extract the personality and type infos from an eh.selector
|
||||
|
@ -824,6 +824,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn,
|
||||
R = FuncInfo->CreateRegForValue(BI);
|
||||
}
|
||||
|
||||
SDL->setCurDebugLoc(FastIS->getCurDebugLoc());
|
||||
SelectBasicBlock(LLVMBB, BI, next(BI));
|
||||
// If the instruction was codegen'd with multiple blocks,
|
||||
// inform the FastISel object where to resume inserting.
|
||||
@ -850,8 +851,12 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn,
|
||||
// Run SelectionDAG instruction selection on the remainder of the block
|
||||
// not handled by FastISel. If FastISel is not run, this is the entire
|
||||
// block.
|
||||
if (BI != End)
|
||||
if (BI != End) {
|
||||
// If FastISel is run and it has known DebugLoc then use it.
|
||||
if (FastIS && !FastIS->getCurDebugLoc().isUnknown())
|
||||
SDL->setCurDebugLoc(FastIS->getCurDebugLoc());
|
||||
SelectBasicBlock(LLVMBB, BI, End);
|
||||
}
|
||||
|
||||
FinishBasicBlock();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user