[PATCH] D18680: ARM, AArch64, X86: Check preserved registers for tail calls.

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 4 03:15:29 PDT 2016


rengolin added a comment.

Overall, I think the change makes sense in that it should keep the original intention intact and make it more generic and not less safe (but I'm not an expert).


================
Comment at: lib/CodeGen/TargetRegisterInfo.cpp:395
@@ +394,3 @@
+  for (unsigned I = 0; I < N; ++I)
+    if ((mask0[I] & mask1[I]) != mask0[I])
+      return false;
----------------
IIUC, you need to check that all reserved registers on the left are also on the right, but not necessarily all on the right to be on the left, right? In that case, this check would be too restrictive, mostly matching recursive tail calls only, no?


Repository:
  rL LLVM

http://reviews.llvm.org/D18680





More information about the llvm-commits mailing list