[clang] [clang][bytecode][NFC] Simplify VisitCompoundLiteralExpr (PR #140547)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Mon May 19 07:28:16 PDT 2025
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/140547
>From 9592150674b5d6b44446141d126bf2c291464026 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Mon, 19 May 2025 16:24:29 +0200
Subject: [PATCH] [clang][bytecode][NFC] Simplify VisitCompoundLiteralExpr
---
clang/lib/AST/ByteCode/Compiler.cpp | 36 +++++++++++------------------
1 file changed, 13 insertions(+), 23 deletions(-)
diff --git a/clang/lib/AST/ByteCode/Compiler.cpp b/clang/lib/AST/ByteCode/Compiler.cpp
index aa8f009f58bb9..36380543e5991 100644
--- a/clang/lib/AST/ByteCode/Compiler.cpp
+++ b/clang/lib/AST/ByteCode/Compiler.cpp
@@ -2922,32 +2922,22 @@ bool Compiler<Emitter>::VisitCompoundLiteralExpr(const CompoundLiteralExpr *E) {
if (T && !E->isLValue()) {
// For primitive types, we just visit the initializer.
return this->delegate(Init);
- } else {
- unsigned LocalIndex;
-
- if (T)
- LocalIndex = this->allocateLocalPrimitive(Init, *T, /*IsConst=*/false);
- else if (std::optional<unsigned> MaybeIndex = this->allocateLocal(Init))
- LocalIndex = *MaybeIndex;
- else
- return false;
+ }
- if (!this->emitGetPtrLocal(LocalIndex, E))
- return false;
+ unsigned LocalIndex;
+ if (T)
+ LocalIndex = this->allocateLocalPrimitive(Init, *T, /*IsConst=*/false);
+ else if (std::optional<unsigned> MaybeIndex = this->allocateLocal(Init))
+ LocalIndex = *MaybeIndex;
+ else
+ return false;
- if (T) {
- if (!this->visit(Init)) {
- return false;
- }
- return this->emitInit(*T, E);
- } else {
- if (!this->visitInitializer(Init) || !this->emitFinishInit(E))
- return false;
- }
- return true;
- }
+ if (!this->emitGetPtrLocal(LocalIndex, E))
+ return false;
- return false;
+ if (T)
+ return this->visit(Init) && this->emitInit(*T, E);
+ return this->visitInitializer(Init) && this->emitFinishInit(E);
}
template <class Emitter>
More information about the cfe-commits
mailing list