diff --git a/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp b/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp index 4bc979de795dc..5e2365f1dc513 100644 --- a/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp +++ b/llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp @@ -94,14 +94,16 @@ void SystemZPostRASchedStrategy::enterMBB(MachineBasicBlock *NextMBB) { // scheduled. If this is not possible, we are done. MachineBasicBlock *SinglePredMBB = getSingleSchedPred(MBB, MLI->getLoopFor(MBB)); - if (SinglePredMBB == nullptr || - SchedStates.find(SinglePredMBB) == SchedStates.end()) + if (SinglePredMBB == nullptr) + return; + auto It = SchedStates.find(SinglePredMBB); + if (It == SchedStates.end()) return; LLVM_DEBUG(dbgs() << "** Continued scheduling from " << printMBBReference(*SinglePredMBB) << "\n";); - HazardRec->copyState(SchedStates[SinglePredMBB]); + HazardRec->copyState(It->second); LLVM_DEBUG(HazardRec->dumpState();); // Emit incoming terminator(s). Be optimistic and assume that branch