================
@@ -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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to