[clang] b4c6ab6 - [clang][Interp][NFC] Don't use visitLocalInitializer in visitExpr
Timm Bäder via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 10 09:03:20 PST 2024
Author: Timm Bäder
Date: 2024-02-10T18:01:30+01:00
New Revision: b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
URL: https://github.com/llvm/llvm-project/commit/b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
DIFF: https://github.com/llvm/llvm-project/commit/b4c6ab600f2ef6f3a842afee569dcf86bce7a43a.diff
LOG: [clang][Interp][NFC] Don't use visitLocalInitializer in visitExpr
We were unnecessarily getting the pointer of the local variable twice.
Added:
Modified:
clang/lib/AST/Interp/ByteCodeExprGen.cpp
Removed:
################################################################################
diff --git a/clang/lib/AST/Interp/ByteCodeExprGen.cpp b/clang/lib/AST/Interp/ByteCodeExprGen.cpp
index aaa8ac834cf9fe..6993d751fe58f0 100644
--- a/clang/lib/AST/Interp/ByteCodeExprGen.cpp
+++ b/clang/lib/AST/Interp/ByteCodeExprGen.cpp
@@ -2555,10 +2555,13 @@ bool ByteCodeExprGen<Emitter>::visitExpr(const Expr *E) {
// For us, that means everything we don't
// have a PrimType for.
if (std::optional<unsigned> LocalOffset = this->allocateLocal(E)) {
- if (!this->visitLocalInitializer(E, *LocalOffset))
+ if (!this->emitGetPtrLocal(*LocalOffset, E))
return false;
- if (!this->emitGetPtrLocal(*LocalOffset, E))
+ if (!visitInitializer(E))
+ return false;
+
+ if (!this->emitInitPtr(E))
return false;
return this->emitRetValue(E);
}
More information about the cfe-commits
mailing list