diff --git a/llvm/include/llvm/CodeGen/MachineScheduler.h b/llvm/include/llvm/CodeGen/MachineScheduler.h --- a/llvm/include/llvm/CodeGen/MachineScheduler.h +++ b/llvm/include/llvm/CodeGen/MachineScheduler.h @@ -758,7 +758,9 @@ unsigned getOtherResourceCount(unsigned &OtherCritIdx); template - void releaseNode(SUnit *SU, unsigned ReadyCycle, unsigned Idx = 0); + void releaseNode(SUnit *SU, unsigned ReadyCycle, unsigned Idx = 0) { + releaseNodeImpl(SU, ReadyCycle, Idx, InPQueue); + } void bumpCycle(unsigned NextCycle); @@ -778,6 +780,10 @@ SUnit *pickOnlyChoice(); void dumpScheduledState() const; + +private: + void releaseNodeImpl(SUnit *SU, unsigned ReadyCycle, unsigned Idx, + bool InPQueue); }; /// Base class for GenericScheduler. This class maintains information about diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp --- a/llvm/lib/CodeGen/MachineScheduler.cpp +++ b/llvm/lib/CodeGen/MachineScheduler.cpp @@ -2088,8 +2088,8 @@ return OtherCritCount; } -template -void SchedBoundary::releaseNode(SUnit *SU, unsigned ReadyCycle, unsigned Idx) { +void SchedBoundary::releaseNodeImpl(SUnit *SU, unsigned ReadyCycle, + unsigned Idx, bool InPQueue) { assert(SU->getInstr() && "Scheduled SUnit must have instr"); #ifndef NDEBUG