[PATCH] D101010: [SystemZ] [z/OS] Add XPLINK64 Calling Convention to SystemZ
Neumann Hon via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 23 16:31:07 PDT 2021
Everybody0523 marked 7 inline comments as done.
Everybody0523 added inline comments.
================
Comment at: llvm/lib/Target/SystemZ/SystemZCallingConv.td:248
+ // before placing the parameters either on the stack or in registers
+ CCIfType<[i1, i8, i16, i32], CCPromoteToType<i64>>,
+
----------------
uweigand wrote:
> So a difference to Linux ABI code here is that in Linux we use CCIfExtend, i.e. the extension only happens if the argument is marked using "sext" or "zext" in the IR (which gets set from clang depending on the source type, or omitted e.g. if we're passing a struct in register that cannot be "extended" as such). This code here calls CCPromoteToType unconditionally, so you'll get AnyExtend nodes in cases where there is no "sext" or "zext" marker. Is this intended?
The clang front-end should generate sext/zext for those types anyways so we should be using CCIfExtend as well. Thanks!
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101010/new/
https://reviews.llvm.org/D101010
More information about the llvm-commits
mailing list