[PATCH] D30438: SplitKit: Correctly implement partial copies

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 14 15:10:15 PDT 2017


MatzeB marked an inline comment as done.
MatzeB added inline comments.


================
Comment at: lib/CodeGen/SplitKit.cpp:597
+    if (BestIdx == 0)
+      report_fatal_error("Impossible to implement partial COPY");
+
----------------
kparzysz wrote:
> This doesn't need to be addressed in this patch, but on a general note---this would be a case where the compiler corners itself into such a situation.  It's not a symptom of simply a bug, but rather a design that can end up in a dead end.  Ideally, we should avoid getting here early enough to have other options.
I think this cannot happen. As for liveness to split up into a given lanemask we need an operand in the function that uses a subregister index with such a lanemask. But that would mean we can use the same index to implement the COPY.

I'm not a 100% sure that I am not missing something here so I left this check in to better abort than silently infinite loop if I did :).


Repository:
  rL LLVM

https://reviews.llvm.org/D30438





More information about the llvm-commits mailing list