[PATCH] D50914: [RegisterCoalescer] Fix for assert in removePartialRedundancy

Tim Renouf via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 22 10:30:24 PDT 2018


tpr added a comment.

Hi Matthias

Thanks for the pointer on MIR tests. I stripped out all the unnecessary IR, but I left the MIR as it was because that was already the result of bugpointing the original test case.

Is that comment better for understanding the situation in which it happens?

> Why isn't this fix necessary in the main liverange?

The main liverange would never be immediately dead at the copy because the dead copy would have been removed before getting to removePartialRedundancy, right?

> Is the fix only necessary for removePartialRedundancy() or should be pruneValue() or extendToIndices() so it applies to all similar situations?

I don't know the answer to that. But note that it is only valid to remove the endpoint at the same index as the copy because we know it must come from a dead def, rather than a normal use at the same place. We know that because the copy is a full copy. That same thing might not apply in other cases of pruneValue()/extendToIndices().


Repository:
  rL LLVM

https://reviews.llvm.org/D50914





More information about the llvm-commits mailing list