diff --git a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp index a838003c34dfb..987ea826f782e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp @@ -871,10 +871,11 @@ SDValue SelectionDAGBuilder::LowerAsSTATEPOINT( for (const auto *Relocate : SI.GCRelocates) { Value *Derived = Relocate->getDerivedPtr(); SDValue SD = getValue(Derived); - if (!LowerAsVReg.count(SD)) + auto It = LowerAsVReg.find(SD); + if (It == LowerAsVReg.end()) continue; - SDValue Relocated = SDValue(StatepointMCNode, LowerAsVReg[SD]); + SDValue Relocated = SDValue(StatepointMCNode, It->second); // Handle local relocate. Note that different relocates might // map to the same SDValue.