[clang] [Clang][AArch64] Fixed incorrect _BitInt alignment (PR #90602)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 30 06:00:29 PDT 2024
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 179e174945b6c0da462c534504720c9544aebf84 dfb8a9de874f233c9d3964569f3d5201fd717c16 -- clang/include/clang/Basic/TargetInfo.h clang/lib/AST/ASTContext.cpp clang/lib/Basic/Targets/AArch64.cpp clang/lib/Basic/Targets/AArch64.h clang/test/CodeGen/aapcs64-align.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/include/clang/Basic/TargetInfo.h b/clang/include/clang/Basic/TargetInfo.h
index 1b5efa488b..488b166a95 100644
--- a/clang/include/clang/Basic/TargetInfo.h
+++ b/clang/include/clang/Basic/TargetInfo.h
@@ -518,13 +518,15 @@ public:
/// getInt128Align() - Returns the alignment of Int128.
unsigned getInt128Align() const { return Int128Align; }
- /// getBitIntAlign/Width - Return aligned size of '_BitInt' and
+ /// getBitIntAlign/Width - Return aligned size of '_BitInt' and
/// 'unsigned _BitInt' for this target, in bits.
unsigned getBitIntWidth(unsigned NumBits) const {
- return llvm::alignTo(NumBits, getBitIntAlign(NumBits));}
+ return llvm::alignTo(NumBits, getBitIntAlign(NumBits));
+ }
virtual unsigned getBitIntAlign(unsigned NumBits) const {
- return std::clamp<unsigned>(llvm::PowerOf2Ceil(NumBits), getCharWidth(),
- getLongLongAlign());}
+ return std::clamp<unsigned>(llvm::PowerOf2Ceil(NumBits), getCharWidth(),
+ getLongLongAlign());
+ }
/// getShortAccumWidth/Align - Return the size of 'signed short _Accum' and
/// 'unsigned short _Accum' for this target, in bits.
diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp
index 9a6c197ff7..cc0ae0e285 100644
--- a/clang/lib/Basic/Targets/AArch64.cpp
+++ b/clang/lib/Basic/Targets/AArch64.cpp
@@ -1473,9 +1473,10 @@ bool AArch64TargetInfo::validatePointerAuthKey(
bool AArch64TargetInfo::hasInt128Type() const { return true; }
-unsigned AArch64TargetInfo::getBitIntAlign(unsigned NumBits) const{
- return std::clamp<unsigned>(llvm::PowerOf2Ceil(NumBits), getCharWidth(),
- getInt128Align());}
+unsigned AArch64TargetInfo::getBitIntAlign(unsigned NumBits) const {
+ return std::clamp<unsigned>(llvm::PowerOf2Ceil(NumBits), getCharWidth(),
+ getInt128Align());
+}
AArch64leTargetInfo::AArch64leTargetInfo(const llvm::Triple &Triple,
const TargetOptions &Opts)
diff --git a/clang/lib/Basic/Targets/AArch64.h b/clang/lib/Basic/Targets/AArch64.h
index d8cdc814b2..be6435007a 100644
--- a/clang/lib/Basic/Targets/AArch64.h
+++ b/clang/lib/Basic/Targets/AArch64.h
@@ -204,7 +204,6 @@ public:
bool validateTarget(DiagnosticsEngine &Diags) const override;
unsigned getBitIntAlign(unsigned NumBits) const override;
-
};
class LLVM_LIBRARY_VISIBILITY AArch64leTargetInfo : public AArch64TargetInfo {
``````````
</details>
https://github.com/llvm/llvm-project/pull/90602
More information about the cfe-commits
mailing list