[PATCH] D9067: LiveIntervalAnalysis: Support moving of subregister defs in handleMove

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 11 16:03:38 PST 2016


MatzeB added a comment.

In http://reviews.llvm.org/D9067#323889, @axeldavy wrote:

> In http://reviews.llvm.org/D9067#323823, @MatzeB wrote:
>
> > This is surprising, I would have expected this patch to only have an effect for http://reviews.llvm.org/D14969. Do you have out-of-tree code which reschedules independent subregister definitions? Apart from that this patch is not accepted yet, I wanted to not apply this until the rest of the subreg scheduling patches is accepted.
>
>
> Improvements to http://reviews.llvm.org/D11885 needs this patch (see the part "#if 0 // To enable when handleMove fix lands").
>
> Note that this patch doesn't solve all handleMove bug.
>  I have a part "// Restore old ordering (which prevents a LIS->handleMove bug)." which cannot be removed either with this patch.


I didn't read all the code in that patch. As long as you respect all the dependencies generated by ScheduleDAGInstructions today you should not run into any situations where handleMove fails,  The changes here should only be necessary if subregister definitions become independent of each other. If you still require this patch then we may have an unrelated bug in handleMove(). Would be interesting to see the liveinterval before and for a handleMove() that fails for you.


Repository:
  rL LLVM

http://reviews.llvm.org/D9067





More information about the llvm-commits mailing list