[PATCH] D120094: [CallingConv] Generate isCCArgumentReg() predicate via tablegen

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 23 02:19:34 PST 2022


uweigand added inline comments.


================
Comment at: llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp:480
+  else
+    llvm_unreachable("Unknown Calling Convention!");
+
----------------
Thanks for reworking this, this looks much simpler.   However, this version now solely returns **general purpose registers** used for argument passing.   The SystemZ calling convention may in addition also use floating-point registers (and, for XPLINK64, vector registers) to pass arguments of certain types; these are ignored by this implementation.

Is the semantics of `isCCArgRegister` such that only GPRs *should* be returned?   In that case, I think this should be clearly documented (and also, some of the other implementations may have to be adapted?).   However, if **all** registers need to be returned here, then you'll also have to check those other lists mentioned above.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D120094



More information about the llvm-commits mailing list