[PATCH] D30558: Fix value numbers in successor blocks if liveout number has changed

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 2 17:19:59 PST 2017


MatzeB added a comment.

In https://reviews.llvm.org/D30558#691246, @rampitec wrote:

> In https://reviews.llvm.org/D30558#691234, @MatzeB wrote:
>
> > I remember that handleMove() tries to reuse the existing VNInfo* for the last liverange. Sounds like on of those cases is wrong, and should be fixed rather than doing a postpass expensively patching around liveranges.
>
>
> That was my first thought, so I debugged handleMove for this case. I did not find a place like this, but maybe I'm just not familiar enough with this piece of code. What's interesting subranges are updated properly.


handleMoveUp/handleMoveDown are pretty complicated, and this is certainly not the first we fine a bug in them. The last times I tried to construct simple testcase and then stepping around with a debugger to see in which of the many cases you end up and then trying to understand/fix it from there...


Repository:
  rL LLVM

https://reviews.llvm.org/D30558





More information about the llvm-commits mailing list