diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp index 0921e36449818..51a5f895f341d 100644 --- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -6868,15 +6868,13 @@ bool ARMPipelinerLoopInfo::tooMuchRegisterPressure(SwingSchedulerDAG &SSD, if (MI->isPHI() && S.getKind() == SDep::Anti) { Register Reg = S.getReg(); if (Reg.isVirtual()) - CrossIterationNeeds.insert(std::make_pair(Reg.id(), IterNeed())) - .first->second.set(0); + CrossIterationNeeds[Reg.id()].set(0); } else if (S.isAssignedRegDep()) { int OStg = SMS.stageScheduled(S.getSUnit()); if (OStg >= 0 && OStg != Stg) { Register Reg = S.getReg(); if (Reg.isVirtual()) - CrossIterationNeeds.insert(std::make_pair(Reg.id(), IterNeed())) - .first->second |= ((1 << (OStg - Stg)) - 1); + CrossIterationNeeds[Reg.id()] |= ((1 << (OStg - Stg)) - 1); } } }