[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