[PATCH] D68043: [AArch64][GlobalISel] Support lowering variadic musttail calls

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 26 14:55:32 PDT 2019


paquette marked 2 inline comments as done.
paquette added inline comments.


================
Comment at: llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp:2266
+    // If we are vararg, and we haven't seen a musttail call, check if there's
+    // one in this block.
+    if (IsVarArg && !HasMustTailInVarArgFn) {
----------------
aemerson wrote:
> Can we extract this into a helper function?
Sure


================
Comment at: llvm/lib/Target/AArch64/AArch64CallLowering.cpp:868
+    // forward. We want these copies to happen *before* handling arguments.
+    // If we do it after, we could clobber a parameter.
+    //
----------------
aemerson wrote:
> Not sure what this means. The forwarded physregs could clobber the argument copies, or vice versa? How?
The forwarded physregs can clobber the argument copies because we restore argument registers.

But now that I look at this again, I think we can just create the copies in the second if block rather than creating them here.


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

https://reviews.llvm.org/D68043





More information about the llvm-commits mailing list