mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +00:00
Preserve debug info during iSel by keeping DanglingDebugInfoMap live until end of function.
Patch by Micah Villmow git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131908 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
35b6994608
commit
233857537f
@ -783,11 +783,20 @@ void SelectionDAGBuilder::clear() {
|
||||
UnusedArgNodeMap.clear();
|
||||
PendingLoads.clear();
|
||||
PendingExports.clear();
|
||||
DanglingDebugInfoMap.clear();
|
||||
CurDebugLoc = DebugLoc();
|
||||
HasTailCall = false;
|
||||
}
|
||||
|
||||
/// clearDanglingDebugInfo - Clear the dangling debug information
|
||||
/// map. This function is seperated from the clear so that debug
|
||||
/// information that is dangling in a basic block can be properly
|
||||
/// resolved in a different basic block. This allows the
|
||||
/// SelectionDAG to resolve dangling debug information attached
|
||||
/// to PHI nodes.
|
||||
void SelectionDAGBuilder::clearDanglingDebugInfo() {
|
||||
DanglingDebugInfoMap.clear();
|
||||
}
|
||||
|
||||
/// getRoot - Return the current virtual root of the Selection DAG,
|
||||
/// flushing any PendingLoad items. This must be done before emitting
|
||||
/// a store or any other node that may need to be ordered after any
|
||||
|
@ -332,6 +332,14 @@ public:
|
||||
/// consumed.
|
||||
void clear();
|
||||
|
||||
/// clearDanglingDebugInfo - Clear the dangling debug information
|
||||
/// map. This function is seperated from the clear so that debug
|
||||
/// information that is dangling in a basic block can be properly
|
||||
/// resolved in a different basic block. This allows the
|
||||
/// SelectionDAG to resolve dangling debug information attached
|
||||
/// to PHI nodes.
|
||||
void clearDanglingDebugInfo();
|
||||
|
||||
/// getRoot - Return the current virtual root of the Selection DAG,
|
||||
/// flushing any PendingLoad items. This must be done before emitting
|
||||
/// a store or any other node that may need to be ordered after any
|
||||
|
@ -1019,6 +1019,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
|
||||
MBI != MBE; ++MBI)
|
||||
CheckLineNumbers(MBI);
|
||||
#endif
|
||||
SDB->clearDanglingDebugInfo();
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user