[clang] [clang][bytecode][NFC] Move local variable into closest scope (PR #186376)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 13 04:50:19 PDT 2026
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/186376
We don't need ElemLoc unless we have an element ctor func.
>From 4dcfbfdf9a6ceeba3566561134f35cc445bc1173 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Fri, 13 Mar 2026 12:48:47 +0100
Subject: [PATCH] [clang][bytecode] Move local variable into closest scope
We don't need ElemLoc unless we have an element ctor func.
---
clang/lib/AST/ByteCode/Descriptor.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/clang/lib/AST/ByteCode/Descriptor.cpp b/clang/lib/AST/ByteCode/Descriptor.cpp
index 5ebc726328fb7..9cc79883474a0 100644
--- a/clang/lib/AST/ByteCode/Descriptor.cpp
+++ b/clang/lib/AST/ByteCode/Descriptor.cpp
@@ -83,10 +83,9 @@ static void ctorArrayDesc(Block *B, std::byte *Ptr, bool IsConst,
D->ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
unsigned ElemOffset = 0;
- for (unsigned I = 0; I < NumElems; ++I, ElemOffset += ElemSize) {
+ for (unsigned I = 0; I != NumElems; ++I, ElemOffset += ElemSize) {
auto *ElemPtr = Ptr + ElemOffset;
auto *Desc = reinterpret_cast<InlineDescriptor *>(ElemPtr);
- auto *ElemLoc = reinterpret_cast<std::byte *>(Desc + 1);
auto *SD = D->ElemDesc;
Desc->Offset = ElemOffset + sizeof(InlineDescriptor);
@@ -100,9 +99,11 @@ static void ctorArrayDesc(Block *B, std::byte *Ptr, bool IsConst,
Desc->IsArrayElement = true;
Desc->IsVolatile = IsVolatile;
- if (auto Fn = D->ElemDesc->CtorFn)
+ if (auto Fn = D->ElemDesc->CtorFn) {
+ auto *ElemLoc = reinterpret_cast<std::byte *>(Desc + 1);
Fn(B, ElemLoc, Desc->IsConst, Desc->IsFieldMutable, IsVolatile, IsActive,
Desc->InUnion || SD->isUnion(), D->ElemDesc);
+ }
}
}
More information about the cfe-commits
mailing list