mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-01 00:02:16 +00:00
Recommit "[RegAlloc] Make sure live-ranges reflect the state of the IR when
removing them" This was temporarily reverted, but now that the fix has been commited (r313197) it should be put back in place. https://bugs.llvm.org/show_bug.cgi?id=34502 This reverts commit 9ef93d9dc4c51568e858cf8203cd2c5ce8dca796. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313349 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1dc1d99a0e
commit
79131591b6
@ -143,14 +143,17 @@ INITIALIZE_PASS_END(RABasic, "regallocbasic", "Basic Register Allocator", false,
|
||||
false)
|
||||
|
||||
bool RABasic::LRE_CanEraseVirtReg(unsigned VirtReg) {
|
||||
LiveInterval &LI = LIS->getInterval(VirtReg);
|
||||
if (VRM->hasPhys(VirtReg)) {
|
||||
LiveInterval &LI = LIS->getInterval(VirtReg);
|
||||
Matrix->unassign(LI);
|
||||
aboutToRemoveInterval(LI);
|
||||
return true;
|
||||
}
|
||||
// Unassigned virtreg is probably in the priority queue.
|
||||
// RegAllocBase will erase it after dequeueing.
|
||||
// Nonetheless, clear the live-range so that the debug
|
||||
// dump will show the right state for that VirtReg.
|
||||
LI.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -546,14 +546,17 @@ void RAGreedy::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
bool RAGreedy::LRE_CanEraseVirtReg(unsigned VirtReg) {
|
||||
LiveInterval &LI = LIS->getInterval(VirtReg);
|
||||
if (VRM->hasPhys(VirtReg)) {
|
||||
LiveInterval &LI = LIS->getInterval(VirtReg);
|
||||
Matrix->unassign(LI);
|
||||
aboutToRemoveInterval(LI);
|
||||
return true;
|
||||
}
|
||||
// Unassigned virtreg is probably in the priority queue.
|
||||
// RegAllocBase will erase it after dequeueing.
|
||||
// Nonetheless, clear the live-range so that the debug
|
||||
// dump will show the right state for that VirtReg.
|
||||
LI.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user