@@ -4593,9 +4593,14 @@ class FunctionType : public Type {
45934593 SME_ZT0Shift = 5 ,
45944594 SME_ZT0Mask = 0b111 << SME_ZT0Shift,
45954595
4596+ // A bit to tell whether a function is agnostic about sme ZA state.
4597+ SME_AgnosticZAStateShift = 8 ,
4598+ SME_AgnosticZAStateMask = 1 << SME_AgnosticZAStateShift,
4599+
45964600 SME_AttributeMask =
4597- 0b111'111'11 // We can't support more than 8 bits because of
4598- // the bitmask in FunctionTypeExtraBitfields.
4601+ 0b1'111'111'11 // We can't support more than 9 bits because of
4602+ // the bitmask in FunctionTypeArmAttributes
4603+ // and ExtProtoInfo.
45994604 };
46004605
46014606 enum ArmStateValue : unsigned {
@@ -4620,7 +4625,7 @@ class FunctionType : public Type {
46204625 struct alignas (void *) FunctionTypeArmAttributes {
46214626 // / Any AArch64 SME ACLE type attributes that need to be propagated
46224627 // / on declarations and function pointers.
4623- unsigned AArch64SMEAttributes : 8 ;
4628+ unsigned AArch64SMEAttributes : 9 ;
46244629
46254630 FunctionTypeArmAttributes () : AArch64SMEAttributes (SME_NormalFunction) {}
46264631 };
@@ -5188,7 +5193,7 @@ class FunctionProtoType final
51885193 FunctionType::ExtInfo ExtInfo;
51895194 unsigned Variadic : 1 ;
51905195 unsigned HasTrailingReturn : 1 ;
5191- unsigned AArch64SMEAttributes : 8 ;
5196+ unsigned AArch64SMEAttributes : 9 ;
51925197 Qualifiers TypeQuals;
51935198 RefQualifierKind RefQualifier = RQ_None;
51945199 ExceptionSpecInfo ExceptionSpec;
0 commit comments