[llvm] r312708 - Revert "[RegAlloc] Make sure live-ranges reflect the state of the IR when removing them"
Jonas Paulsson via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 7 02:13:17 PDT 2017
Author: jonpa
Date: Thu Sep 7 02:13:17 2017
New Revision: 312708
URL: http://llvm.org/viewvc/llvm-project?rev=312708&view=rev
Log:
Revert "[RegAlloc] Make sure live-ranges reflect the state of the IR when removing them"
This temporarily reverts commit 463fa38 (r311401).
See https://bugs.llvm.org/show_bug.cgi?id=34502
Modified:
llvm/trunk/lib/CodeGen/RegAllocBasic.cpp
llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp
Modified: llvm/trunk/lib/CodeGen/RegAllocBasic.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocBasic.cpp?rev=312708&r1=312707&r2=312708&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/RegAllocBasic.cpp (original)
+++ llvm/trunk/lib/CodeGen/RegAllocBasic.cpp Thu Sep 7 02:13:17 2017
@@ -143,17 +143,14 @@ INITIALIZE_PASS_END(RABasic, "regallocba
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;
}
Modified: llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp?rev=312708&r1=312707&r2=312708&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp (original)
+++ llvm/trunk/lib/CodeGen/RegAllocGreedy.cpp Thu Sep 7 02:13:17 2017
@@ -546,17 +546,14 @@ void RAGreedy::getAnalysisUsage(Analysis
//===----------------------------------------------------------------------===//
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;
}
More information about the llvm-commits
mailing list