diff --git a/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp b/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp index d307c73a87fc9..589dd8b634125 100644 --- a/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp +++ b/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp @@ -688,16 +688,17 @@ void SystemZAsmPrinter::emitInstruction(const MachineInstr *MI) { int64_t SrcDisp = MI->getOperand(5).getImm(); SystemZTargetStreamer *TS = getTargetStreamer(); - MCSymbol *DotSym = nullptr; - MCInst ET = MCInstBuilder(TargetInsOpc).addReg(DestReg) - .addImm(DestDisp).addImm(1).addReg(SrcReg).addImm(SrcDisp); + MCInst ET = MCInstBuilder(TargetInsOpc) + .addReg(DestReg) + .addImm(DestDisp) + .addImm(1) + .addReg(SrcReg) + .addImm(SrcDisp); SystemZTargetStreamer::MCInstSTIPair ET_STI(ET, &MF->getSubtarget()); - SystemZTargetStreamer::EXRLT2SymMap::iterator I = - TS->EXRLTargets2Sym.find(ET_STI); - if (I != TS->EXRLTargets2Sym.end()) - DotSym = I->second; - else - TS->EXRLTargets2Sym[ET_STI] = DotSym = OutContext.createTempSymbol(); + auto [It, Inserted] = TS->EXRLTargets2Sym.try_emplace(ET_STI); + if (Inserted) + It->second = OutContext.createTempSymbol(); + MCSymbol *DotSym = It->second; const MCSymbolRefExpr *Dot = MCSymbolRefExpr::create(DotSym, OutContext); EmitToStreamer( *OutStreamer,