[clang] 65708ba - [clang][CodeGenOpenCL][NFC] Remove redundant map lookups (#125285)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 31 23:21:19 PST 2025
Author: Balazs Benics
Date: 2025-02-01T08:21:15+01:00
New Revision: 65708bad579229cd7f62b8d0eaefda4bb20eb6d8
URL: https://github.com/llvm/llvm-project/commit/65708bad579229cd7f62b8d0eaefda4bb20eb6d8
DIFF: https://github.com/llvm/llvm-project/commit/65708bad579229cd7f62b8d0eaefda4bb20eb6d8.diff
LOG: [clang][CodeGenOpenCL][NFC] Remove redundant map lookups (#125285)
Added:
Modified:
clang/lib/CodeGen/CGOpenCLRuntime.cpp
Removed:
################################################################################
diff --git a/clang/lib/CodeGen/CGOpenCLRuntime.cpp b/clang/lib/CodeGen/CGOpenCLRuntime.cpp
index 115b618056a445..9f8ff488755ec3 100644
--- a/clang/lib/CodeGen/CGOpenCLRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenCLRuntime.cpp
@@ -130,10 +130,11 @@ void CGOpenCLRuntime::recordBlockInfo(const BlockExpr *E,
assert(!EnqueuedBlockMap.contains(E) && "Block expression emitted twice");
assert(isa<llvm::Function>(InvokeF) && "Invalid invoke function");
assert(Block->getType()->isPointerTy() && "Invalid block literal type");
- EnqueuedBlockMap[E].InvokeFunc = InvokeF;
- EnqueuedBlockMap[E].BlockArg = Block;
- EnqueuedBlockMap[E].BlockTy = BlockTy;
- EnqueuedBlockMap[E].KernelHandle = nullptr;
+ EnqueuedBlockInfo &BlockInfo = EnqueuedBlockMap[E];
+ BlockInfo.InvokeFunc = InvokeF;
+ BlockInfo.BlockArg = Block;
+ BlockInfo.BlockTy = BlockTy;
+ BlockInfo.KernelHandle = nullptr;
}
llvm::Function *CGOpenCLRuntime::getInvokeFunction(const Expr *E) {
@@ -148,17 +149,19 @@ CGOpenCLRuntime::emitOpenCLEnqueuedBlock(CodeGenFunction &CGF, const Expr *E) {
// to get the block literal.
const BlockExpr *Block = getBlockExpr(E);
- assert(EnqueuedBlockMap.contains(Block) && "Block expression not emitted");
+ auto It = EnqueuedBlockMap.find(Block);
+ assert(It != EnqueuedBlockMap.end() && "Block expression not emitted");
+ EnqueuedBlockInfo &BlockInfo = It->second;
// Do not emit the block wrapper again if it has been emitted.
- if (EnqueuedBlockMap[Block].KernelHandle) {
- return EnqueuedBlockMap[Block];
+ if (BlockInfo.KernelHandle) {
+ return BlockInfo;
}
auto *F = CGF.getTargetHooks().createEnqueuedBlockKernel(
- CGF, EnqueuedBlockMap[Block].InvokeFunc, EnqueuedBlockMap[Block].BlockTy);
+ CGF, BlockInfo.InvokeFunc, BlockInfo.BlockTy);
// The common part of the post-processing of the kernel goes here.
- EnqueuedBlockMap[Block].KernelHandle = F;
- return EnqueuedBlockMap[Block];
+ BlockInfo.KernelHandle = F;
+ return BlockInfo;
}
More information about the cfe-commits
mailing list