@@ -399,11 +399,11 @@ MCRegister SPIRVModuleAnalysis::handleFunctionOrParameter(
399399 F = dyn_cast<Argument>(GObj)->getParent ();
400400 assert (F && " Expected a reference to a function or an argument" );
401401 IsFunDef = !F->isDeclaration ();
402- auto It = GlobalToGReg.find (GObj);
403- if (It != GlobalToGReg. end () )
402+ auto [It, Inserted] = GlobalToGReg.try_emplace (GObj);
403+ if (!Inserted )
404404 return It->second ;
405405 MCRegister GReg = MAI.getNextIDRegister ();
406- GlobalToGReg[GObj] = GReg;
406+ It-> second = GReg;
407407 if (!IsFunDef)
408408 MAI.MS [SPIRV::MB_ExtFuncDecls].push_back (&MI);
409409 return GReg;
@@ -413,11 +413,11 @@ MCRegister
413413SPIRVModuleAnalysis::handleTypeDeclOrConstant (const MachineInstr &MI,
414414 InstrGRegsMap &SignatureToGReg) {
415415 InstrSignature MISign = instrToSignature (MI, MAI, false );
416- auto It = SignatureToGReg.find (MISign);
417- if (It != SignatureToGReg. end () )
416+ auto [It, Inserted] = SignatureToGReg.try_emplace (MISign);
417+ if (!Inserted )
418418 return It->second ;
419419 MCRegister GReg = MAI.getNextIDRegister ();
420- SignatureToGReg[MISign] = GReg;
420+ It-> second = GReg;
421421 MAI.MS [SPIRV::MB_TypeConstVars].push_back (&MI);
422422 return GReg;
423423}
@@ -428,11 +428,11 @@ MCRegister SPIRVModuleAnalysis::handleVariable(
428428 MAI.GlobalVarList .push_back (&MI);
429429 const Value *GObj = GR->getGlobalObject (MF, MI.getOperand (0 ).getReg ());
430430 assert (GObj && " Unregistered global definition" );
431- auto It = GlobalToGReg.find (GObj);
432- if (It != GlobalToGReg. end () )
431+ auto [It, Inserted] = GlobalToGReg.try_emplace (GObj);
432+ if (!Inserted )
433433 return It->second ;
434434 MCRegister GReg = MAI.getNextIDRegister ();
435- GlobalToGReg[GObj] = GReg;
435+ It-> second = GReg;
436436 MAI.MS [SPIRV::MB_TypeConstVars].push_back (&MI);
437437 return GReg;
438438}
@@ -605,8 +605,9 @@ void SPIRVModuleAnalysis::numberRegistersGlobally(const Module &M) {
605605 if (MI.getOpcode () != SPIRV::OpExtInst)
606606 continue ;
607607 auto Set = MI.getOperand (2 ).getImm ();
608- if (!MAI.ExtInstSetMap .contains (Set))
609- MAI.ExtInstSetMap [Set] = MAI.getNextIDRegister ();
608+ auto [It, Inserted] = MAI.ExtInstSetMap .try_emplace (Set);
609+ if (Inserted)
610+ It->second = MAI.getNextIDRegister ();
610611 }
611612 }
612613 }
0 commit comments