@@ -399,11 +399,11 @@ MCRegister SPIRVModuleAnalysis::handleFunctionOrParameter(
399
399
F = dyn_cast<Argument>(GObj)->getParent ();
400
400
assert (F && " Expected a reference to a function or an argument" );
401
401
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 )
404
404
return It->second ;
405
405
MCRegister GReg = MAI.getNextIDRegister ();
406
- GlobalToGReg[GObj] = GReg;
406
+ It-> second = GReg;
407
407
if (!IsFunDef)
408
408
MAI.MS [SPIRV::MB_ExtFuncDecls].push_back (&MI);
409
409
return GReg;
@@ -413,11 +413,11 @@ MCRegister
413
413
SPIRVModuleAnalysis::handleTypeDeclOrConstant (const MachineInstr &MI,
414
414
InstrGRegsMap &SignatureToGReg) {
415
415
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 )
418
418
return It->second ;
419
419
MCRegister GReg = MAI.getNextIDRegister ();
420
- SignatureToGReg[MISign] = GReg;
420
+ It-> second = GReg;
421
421
MAI.MS [SPIRV::MB_TypeConstVars].push_back (&MI);
422
422
return GReg;
423
423
}
@@ -428,11 +428,11 @@ MCRegister SPIRVModuleAnalysis::handleVariable(
428
428
MAI.GlobalVarList .push_back (&MI);
429
429
const Value *GObj = GR->getGlobalObject (MF, MI.getOperand (0 ).getReg ());
430
430
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 )
433
433
return It->second ;
434
434
MCRegister GReg = MAI.getNextIDRegister ();
435
- GlobalToGReg[GObj] = GReg;
435
+ It-> second = GReg;
436
436
MAI.MS [SPIRV::MB_TypeConstVars].push_back (&MI);
437
437
return GReg;
438
438
}
@@ -605,8 +605,9 @@ void SPIRVModuleAnalysis::numberRegistersGlobally(const Module &M) {
605
605
if (MI.getOpcode () != SPIRV::OpExtInst)
606
606
continue ;
607
607
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 ();
610
611
}
611
612
}
612
613
}
0 commit comments