[PATCH] D124998: [AArch64][SVE] Add aarch64_sve_pcs attribute to Clang

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 5 06:24:21 PDT 2022


erichkeane added inline comments.


================
Comment at: clang/include/clang/Basic/Specifiers.h:283
     CC_AArch64VectorCall, // __attribute__((aarch64_vector_pcs))
+    CC_AArch64SVEPcs, // __attribute__((aarch64_sve_pcs))
   };
----------------
aaron.ballman wrote:
> I continue to be concerned with how many custom calling conventions we're adding. We're running out of bits to store them and when we bump up against the next limitation (32 possible calling conventions, this patch brings us up to 20), we're going to lose a significant amount of performance due to extra memory overhead pressure (which, in turn, will greatly reduce our maximum template instantiation depth) with no clear path forward. We've looked into this before and once we hit that 32 calling convention limit, we won't be adding any new calling conventions until we solve the memory pressure problem.
> 
> Are there other alternatives than making a new calling convention? (e.g., can this be handled with a backend pass somehow, or some other implementation strategy?)
> Is this calling convention going to be used often enough to warrant adding it? (e.g., will this be showing up in system headers or other major third-party library headers, or is this a one-off for people trying to eek the last ounce of performance out of a function call?)
I agree with this, our list of calling conventions needs to find a way to get smaller, not larger.  our `ExtInfo` is already shocking/frighteningly large use of bits with calling conventions taking 5.  IMO, we should reduce this to 4 bits if at all possible, particularly since we're likely to need more bits in the function-type thanks to the C++ committee.

Internally, Ive been fighting pretty hard to keep us from extending this list unless at all possible, and I think we need to do so here.  


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124998/new/

https://reviews.llvm.org/D124998



More information about the cfe-commits mailing list