[llvm] r254371 - RegisterPressure: Remove support for recede()/advance() at MBB boundaries
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 30 20:20:04 PST 2015
Author: matze
Date: Mon Nov 30 22:20:04 2015
New Revision: 254371
URL: http://llvm.org/viewvc/llvm-project?rev=254371&view=rev
Log:
RegisterPressure: Remove support for recede()/advance() at MBB boundaries
Nobody was checking the returnvalue of recede()/advance() so we can
simply replace this code with asserts.
Modified:
llvm/trunk/include/llvm/CodeGen/RegisterPressure.h
llvm/trunk/lib/CodeGen/RegisterPressure.cpp
Modified: llvm/trunk/include/llvm/CodeGen/RegisterPressure.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/RegisterPressure.h?rev=254371&r1=254370&r2=254371&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/RegisterPressure.h (original)
+++ llvm/trunk/include/llvm/CodeGen/RegisterPressure.h Mon Nov 30 22:20:04 2015
@@ -329,11 +329,11 @@ public:
void setPos(MachineBasicBlock::const_iterator Pos) { CurrPos = Pos; }
/// Recede across the previous instruction.
- bool recede(SmallVectorImpl<unsigned> *LiveUses = nullptr,
+ void recede(SmallVectorImpl<unsigned> *LiveUses = nullptr,
PressureDiff *PDiff = nullptr);
/// Advance across the current instruction.
- bool advance();
+ void advance();
/// Finalize the region boundaries and recored live ins and live outs.
void closeRegion();
@@ -350,8 +350,7 @@ public:
ArrayRef<unsigned> getLiveThru() const { return LiveThruPressure; }
/// Get the resulting register pressure over the traversed region.
- /// This result is complete if either advance() or recede() has returned true,
- /// or if closeRegion() was explicitly invoked.
+ /// This result is complete if closeRegion() was explicitly invoked.
RegisterPressure &getPressure() { return P; }
const RegisterPressure &getPressure() const { return P; }
Modified: llvm/trunk/lib/CodeGen/RegisterPressure.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/RegisterPressure.cpp?rev=254371&r1=254370&r2=254371&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/RegisterPressure.cpp (original)
+++ llvm/trunk/lib/CodeGen/RegisterPressure.cpp Mon Nov 30 22:20:04 2015
@@ -491,13 +491,9 @@ void RegPressureTracker::discoverLiveOut
/// registers that are both defined and used by the instruction. If a pressure
/// difference pointer is provided record the changes is pressure caused by this
/// instruction independent of liveness.
-bool RegPressureTracker::recede(SmallVectorImpl<unsigned> *LiveUses,
+void RegPressureTracker::recede(SmallVectorImpl<unsigned> *LiveUses,
PressureDiff *PDiff) {
- // Check for the top of the analyzable region.
- if (CurrPos == MBB->begin()) {
- closeRegion();
- return false;
- }
+ assert(CurrPos != MBB->begin());
if (!isBottomClosed())
closeBottom();
@@ -509,11 +505,8 @@ bool RegPressureTracker::recede(SmallVec
do
--CurrPos;
while (CurrPos != MBB->begin() && CurrPos->isDebugValue());
+ assert(!CurrPos->isDebugValue());
- if (CurrPos->isDebugValue()) {
- closeRegion();
- return false;
- }
SlotIndex SlotIdx;
if (RequireIntervals)
SlotIdx = LIS->getInstructionIndex(CurrPos).getRegSlot();
@@ -584,18 +577,13 @@ bool RegPressureTracker::recede(SmallVec
UntiedDefs.insert(Reg);
}
}
- return true;
}
/// Advance across the current instruction.
-bool RegPressureTracker::advance() {
+void RegPressureTracker::advance() {
assert(!TrackUntiedDefs && "unsupported mode");
- // Check for the bottom of the analyzable region.
- if (CurrPos == MBB->end()) {
- closeRegion();
- return false;
- }
+ assert(CurrPos != MBB->end());
if (!isTopClosed())
closeTop();
@@ -653,7 +641,6 @@ bool RegPressureTracker::advance() {
do
++CurrPos;
while (CurrPos != MBB->end() && CurrPos->isDebugValue());
- return true;
}
/// Find the max change in excess pressure across all sets.
More information about the llvm-commits
mailing list