diff options
Diffstat (limited to 'llvm/lib/CodeGen/MachineCopyPropagation.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineCopyPropagation.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/MachineCopyPropagation.cpp b/llvm/lib/CodeGen/MachineCopyPropagation.cpp index 0afd73d..d44b064 100644 --- a/llvm/lib/CodeGen/MachineCopyPropagation.cpp +++ b/llvm/lib/CodeGen/MachineCopyPropagation.cpp @@ -127,11 +127,11 @@ public: BitVector &getPreservedRegUnits(const MachineOperand &RegMaskOp, const TargetRegisterInfo &TRI) { const uint32_t *RegMask = RegMaskOp.getRegMask(); - auto Existing = RegMaskToPreservedRegUnits.find(RegMask); - if (Existing != RegMaskToPreservedRegUnits.end()) { - return Existing->second; + auto [It, Inserted] = RegMaskToPreservedRegUnits.try_emplace(RegMask); + if (!Inserted) { + return It->second; } else { - BitVector &PreservedRegUnits = RegMaskToPreservedRegUnits[RegMask]; + BitVector &PreservedRegUnits = It->second; PreservedRegUnits.resize(TRI.getNumRegUnits()); for (unsigned SafeReg = 0, E = TRI.getNumRegs(); SafeReg < E; ++SafeReg) |