[clang] [CodeGen] Revamp counted_by calculations (PR #70606)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 29 15:22:06 PDT 2023
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff 91b9a661c21891dc06e1721a26478d5bfe53e4ed 19dd7db8ab5f98a618c717944c96b34e604fbc30 -- clang/lib/CodeGen/CGBuiltin.cpp clang/lib/CodeGen/CGExpr.cpp clang/lib/CodeGen/CodeGenFunction.h
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index acee2c1af..26c73d07c 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -882,23 +882,23 @@ CodeGenFunction::emitBuiltinObjectSize(const Expr *E, unsigned Type,
if (const ValueDecl *CountedByFD = FindCountedByField(E)) {
// Find the flexible array member.
const RecordDecl *OuterRD =
- CountedByFD->getDeclContext()->getOuterLexicalRecordContext();
- const ValueDecl *FAM = FindFlexibleArrayMemberField(getContext(),
- OuterRD);
+ CountedByFD->getDeclContext()->getOuterLexicalRecordContext();
+ const ValueDecl *FAM =
+ FindFlexibleArrayMemberField(getContext(), OuterRD);
// Get the size of the flexible array member's base type.
const auto *ArrayTy = getContext().getAsArrayType(FAM->getType());
unsigned Size = getContext().getTypeSize(ArrayTy->getElementType());
// Find the outer struct expr (i.e. p in p->a.b.c.d).
- Expr *CountedByExpr = BuildCountedByFieldExpr(const_cast<Expr *>(E),
- CountedByFD);
+ Expr *CountedByExpr =
+ BuildCountedByFieldExpr(const_cast<Expr *>(E), CountedByFD);
llvm::Value *CountedByInstr =
- EmitAnyExprToTemp(CountedByExpr).getScalarVal();
+ EmitAnyExprToTemp(CountedByExpr).getScalarVal();
llvm::Constant *ArraySize =
- llvm::ConstantInt::get(CountedByInstr->getType(), Size / 8);
+ llvm::ConstantInt::get(CountedByInstr->getType(), Size / 8);
llvm::Value *ObjectSize = Builder.CreateMul(CountedByInstr, ArraySize);
ObjectSize = Builder.CreateZExtOrTrunc(ObjectSize, ResType);
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index 2b39194e1..b39cd8b45 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -976,9 +976,9 @@ Expr *CodeGenFunction::BuildCountedByFieldExpr(Expr *Base,
}
// Add back an implicit cast to create the required pr-value.
- Base = ImplicitCastExpr::Create(
- getContext(), Base->getType(), CK_LValueToRValue, Base,
- nullptr, VK_PRValue, FPOptionsOverride());
+ Base =
+ ImplicitCastExpr::Create(getContext(), Base->getType(), CK_LValueToRValue,
+ Base, nullptr, VK_PRValue, FPOptionsOverride());
Expr *CountedByExpr = Base;
@@ -988,24 +988,24 @@ Expr *CodeGenFunction::BuildCountedByFieldExpr(Expr *Base,
// easily. (Yay!)
for (NamedDecl *ND : IFD->chain()) {
ValueDecl *VD = cast<ValueDecl>(ND);
- CountedByExpr = MemberExpr::CreateImplicit(
- getContext(), CountedByExpr,
- CountedByExpr->getType()->isPointerType(), VD, VD->getType(),
- VK_LValue, OK_Ordinary);
+ CountedByExpr =
+ MemberExpr::CreateImplicit(getContext(), CountedByExpr,
+ CountedByExpr->getType()->isPointerType(),
+ VD, VD->getType(), VK_LValue, OK_Ordinary);
}
} else {
CountedByExpr = MemberExpr::CreateImplicit(
- getContext(), CountedByExpr,
- CountedByExpr->getType()->isPointerType(),
- const_cast<ValueDecl *>(CountedByVD), CountedByVD->getType(),
- VK_LValue, OK_Ordinary);
+ getContext(), CountedByExpr, CountedByExpr->getType()->isPointerType(),
+ const_cast<ValueDecl *>(CountedByVD), CountedByVD->getType(), VK_LValue,
+ OK_Ordinary);
}
return CountedByExpr;
}
-const ValueDecl *CodeGenFunction::FindFlexibleArrayMemberField(
- ASTContext &Ctx, const RecordDecl *RD) {
+const ValueDecl *
+CodeGenFunction::FindFlexibleArrayMemberField(ASTContext &Ctx,
+ const RecordDecl *RD) {
LangOptions::StrictFlexArraysLevelKind StrictFlexArraysLevel =
getLangOpts().getStrictFlexArraysLevel();
``````````
</details>
https://github.com/llvm/llvm-project/pull/70606
More information about the cfe-commits
mailing list