llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-codegen Author: Kazu Hirata (kazutakahirata) <details> <summary>Changes</summary> I'm planning to deprecate DenseMap::FindAndConstruct in favor of DenseMap::operator[]. --- Full diff: https://github.com/llvm/llvm-project/pull/107185.diff 1 Files Affected: - (modified) clang/lib/CodeGen/CGOpenMPRuntime.cpp (+13-13) ``````````diff diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp index 23b977be816025..2c5e2a0a1695d8 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -1327,25 +1327,25 @@ llvm::Function *CGOpenMPRuntime::emitTaskOutlinedFunction( void CGOpenMPRuntime::setLocThreadIdInsertPt(CodeGenFunction &CGF, bool AtCurrentPoint) { - auto &Elem = OpenMPLocThreadIDMap.FindAndConstruct(CGF.CurFn); - assert(!Elem.second.ServiceInsertPt && "Insert point is set already."); + auto &Elem = OpenMPLocThreadIDMap[CGF.CurFn]; + assert(!Elem.ServiceInsertPt && "Insert point is set already."); llvm::Value *Undef = llvm::UndefValue::get(CGF.Int32Ty); if (AtCurrentPoint) { - Elem.second.ServiceInsertPt = new llvm::BitCastInst( + Elem.ServiceInsertPt = new llvm::BitCastInst( Undef, CGF.Int32Ty, "svcpt", CGF.Builder.GetInsertBlock()); } else { - Elem.second.ServiceInsertPt = + Elem.ServiceInsertPt = new llvm::BitCastInst(Undef, CGF.Int32Ty, "svcpt"); - Elem.second.ServiceInsertPt->insertAfter(CGF.AllocaInsertPt); + Elem.ServiceInsertPt->insertAfter(CGF.AllocaInsertPt); } } void CGOpenMPRuntime::clearLocThreadIdInsertPt(CodeGenFunction &CGF) { - auto &Elem = OpenMPLocThreadIDMap.FindAndConstruct(CGF.CurFn); - if (Elem.second.ServiceInsertPt) { - llvm::Instruction *Ptr = Elem.second.ServiceInsertPt; - Elem.second.ServiceInsertPt = nullptr; + auto &Elem = OpenMPLocThreadIDMap[CGF.CurFn]; + if (Elem.ServiceInsertPt) { + llvm::Instruction *Ptr = Elem.ServiceInsertPt; + Elem.ServiceInsertPt = nullptr; Ptr->eraseFromParent(); } } @@ -1441,18 +1441,18 @@ llvm::Value *CGOpenMPRuntime::getThreadID(CodeGenFunction &CGF, // kmpc_global_thread_num(ident_t *loc). // Generate thread id value and cache this value for use across the // function. - auto &Elem = OpenMPLocThreadIDMap.FindAndConstruct(CGF.CurFn); - if (!Elem.second.ServiceInsertPt) + auto &Elem = OpenMPLocThreadIDMap[CGF.CurFn]; + if (!Elem.ServiceInsertPt) setLocThreadIdInsertPt(CGF); CGBuilderTy::InsertPointGuard IPG(CGF.Builder); - CGF.Builder.SetInsertPoint(Elem.second.ServiceInsertPt); + CGF.Builder.SetInsertPoint(Elem.ServiceInsertPt); auto DL = ApplyDebugLocation::CreateDefaultArtificial(CGF, Loc); llvm::CallInst *Call = CGF.Builder.CreateCall( OMPBuilder.getOrCreateRuntimeFunction(CGM.getModule(), OMPRTL___kmpc_global_thread_num), emitUpdateLocation(CGF, Loc)); Call->setCallingConv(CGF.getRuntimeCC()); - Elem.second.ThreadID = Call; + Elem.ThreadID = Call; return Call; } `````````` </details> https://github.com/llvm/llvm-project/pull/107185 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits