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

Sander de Smalen via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 25 09:42:25 PST 2024


================
@@ -3535,6 +3536,74 @@ void CXXNameMangler::mangleExtFunctionInfo(const FunctionType *T) {
   // FIXME: noreturn
 }
 
+enum SMEState {
+  Normal = 0,
+  SM_Enabled = 1 << 0,
+  SM_Compatible = 1 << 1,
+  ZA_Agnostic = 1 << 2,
+  ZA_Shift = 3,
+  ZT0_Shift = 6,
+  None = 0b000,
+  In = 0b001,
+  Out = 0b010,
+  InOut = 0b011,
+  Preserves = 0b100
+};
+
+unsigned encodeZAState(unsigned SMEAttrs) {
----------------
sdesmalen-arm wrote:

```suggestion
static unsigned encodeAAPCSZAState(unsigned SMEAttrs) {
```

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


More information about the cfe-commits mailing list