[clang] [Clang][AArch64] Include SME attributes in the name mangling of function types (PR #114209)

via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 25 07:46:45 PST 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 259eaa6878ead1e2e7ef572a874dc3d885c1899b 6317fc557364d524e1edc1b18e80da2a4058a5f9 --extensions cpp -- clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp clang/lib/AST/ItaniumMangle.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp
index 23c8f255c7..ebb6804bb6 100644
--- a/clang/lib/AST/ItaniumMangle.cpp
+++ b/clang/lib/AST/ItaniumMangle.cpp
@@ -3551,13 +3551,14 @@ unsigned getZAState(unsigned SMEAttrs) {
   }
 }
 
-// The mangling scheme for function types which have SME attributes is implemented as
-// a "pseudo" template:
+// The mangling scheme for function types which have SME attributes is
+// implemented as a "pseudo" template:
 //
 //   '__SME_ATTRS<<normal_function_type>, <sme_state>>'
 //
-// Combining the function type with a bitmask representing the streaming and ZA properties
-// of the function's interface. The bits of sme_state are defined as follows:
+// Combining the function type with a bitmask representing the streaming and ZA
+// properties of the function's interface. The bits of sme_state are defined as
+// follows:
 //    0:  Streaming Mode
 //    1:  Streaming Compatible
 //    2:  ZA Agnostic
@@ -3566,9 +3567,11 @@ unsigned getZAState(unsigned SMEAttrs) {
 //  9-63: 0, reserved for future type attributes.
 //
 // For example:
-//  void f(svint8_t (*fn)() __arm_streaming_compatible __arm_inout("za")) { fn(); }
+//  void f(svint8_t (*fn)() __arm_streaming_compatible __arm_inout("za")) {
+//  fn(); }
 //
-// The function fn is described as '__SME_ATTRS<Fu10__SVInt8_tvE, 26u>' and mangled as:
+// The function fn is described as '__SME_ATTRS<Fu10__SVInt8_tvE, 26u>' and
+// mangled as:
 //
 //  "11__SME_ATTRSI" + function type mangling + "Lj" + bitmask + "EE"
 //

``````````

</details>


https://github.com/llvm/llvm-project/pull/114209


More information about the cfe-commits mailing list