[clang] [Clang] Amend SME attributes with support for ZT0. (PR #77941)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 16 08:28:02 PST 2024
================
@@ -4253,7 +4260,7 @@ class FunctionProtoType final
FunctionType::ExtInfo ExtInfo;
unsigned Variadic : 1;
unsigned HasTrailingReturn : 1;
- unsigned AArch64SMEAttributes : 6;
----------------
AaronBallman wrote:
<General Concern>
Looking through the review which started introducing SME attributes, we went to pretty big lengths to try to keep that at zero-cost by figuring out the upper bounds. Now we're looking to expand those upper bounds because they were insufficient less than six months later.
So I'm also concerned about the extra memory pressures this adds because those pressures impact everyone, not just folks targeting AArch64 with these SME attributes. If we have to increase that pressure because this is needed functionality, I think it seems like the cost should be borne by the users using the new functionality instead of impacting everyone.
</General Concern>
That said, `ExtInfo` and `FunctionTypeExtraBitfields` are the ones that needs to stay small; `ExtProtoInfo` is already huge thanks to `ExceptionSpecInfo` being 48 bytes. IIRC, `ExtProtoInfo` is allocated as-needed and so it can grow.
https://github.com/llvm/llvm-project/pull/77941
More information about the cfe-commits
mailing list