[PATCH] D48102: Improve handling of COPY instructions with identical value numbers

Tim Renouf via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 19 05:12:31 PDT 2018


tpr added inline comments.


================
Comment at: lib/CodeGen/RegisterCoalescer.cpp:2849
+          // If V is identical to V.OtherVNI, then we can't simply prune V
+          // from S. V needs to be replaced with V.OtherVNI.
+          LIS->extendToIndices(S, EndPoints);
----------------
My new failure is because it gets here with V.Identical true, but in this particular lane there is no def or liveness at OtherDef. So I added a check for that:

```
        if (V.Identical && S.Query(OtherDef).valueOut()) {
          // If V is identical to V.OtherVNI and is live out of OtherDef in
          // this lane, then we can't simply prune V from S. V needs to be
          // replaced with V.OtherVNI.

```

But I am now getting a "Couldn't join subrange" in the code that originally prompted this whole fix (but in not the cutdown that is the first test in this change). So I need to investigate that.


Repository:
  rL LLVM

https://reviews.llvm.org/D48102





More information about the llvm-commits mailing list