[PATCH] D71216: [AArch64] Implement passing SVE vectors by ref for AAPCS.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 09:36:42 PST 2020
sdesmalen marked an inline comment as done.
sdesmalen added a comment.
In D71216#1817936 <https://reviews.llvm.org/D71216#1817936>, @efriedma wrote:
> Please add a comment explaining each `isScalableVector()`, to make it clear why we're excluding them. Otherwise LGTM
Thanks, I'll add some comments for these cases (and do this for future cases I find as well).
================
Comment at: llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll:9
+; x1 = &%z9
+define aarch64_sve_vector_pcs <vscale x 4 x i32> @callee_with_many_sve_arg(<vscale x 4 x i32> %z0, <vscale x 4 x i32> %z1, <vscale x 4 x i32> %z2, <vscale x 4 x i32> %z3, <vscale x 4 x i32> %z4, <vscale x 4 x i32> %z5, <vscale x 4 x i32> %z6, <vscale x 4 x i32> %z7, <vscale x 4 x i32> %z8, <vscale x 4 x i32> %z9) {
+; CHECK: name: callee_with_many_sve_arg
----------------
efriedma wrote:
> I just thought of this, but should scalable arguments be allowed for calls using the regular C calling convetion? If they are, do we need any additional changes to make that work?
The code that derives `aarch64_sve_vector_pcs` from the function signature (it takes and/or returns SVE vectors) already exists (in `AArch64ISelLowering::LowerCall`), so the `aarch64_sve_vector_pcs` is unnecessary here.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71216/new/
https://reviews.llvm.org/D71216
More information about the llvm-commits
mailing list