[PATCH] D62614: Fix for the OCL/LC to failure on some OCLPerf tests

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 31 09:32:30 PDT 2019

alex-t added a comment.

In D62614#1525150 <https://reviews.llvm.org/D62614#1525150>, @rampitec wrote:

> In D62614#1524852 <https://reviews.llvm.org/D62614#1524852>, @alex-t wrote:
> > In D62614#1524597 <https://reviews.llvm.org/D62614#1524597>, @nhaehnle wrote:
> >
> > > See D60834 <https://reviews.llvm.org/D60834> for what I think is the right direction to fix this.
> >
> >
> > Once again:
> >
> > LCSSA is not sufficient for the following reason:
> >  Since definition is considered uniform it is selected to SALU and produces SGPR.
> >  The value in this SGPR is correct for all laves leave in loop body.
> >  LCSSA PHI node that inserted in loop exit block will turn into the copy from SGPR to VGPR – this is incorrect.
> Why isn't sgpr to vgpr copy correct? If it is done still inside the loop it is suboptimal but correct. When done outside of the loop it is incorrect, that's true.

I obviously meant outside :)
I answered to Nicolai about LCSSA. I not yet sure why but the move is always placed in "Flow" bock that is outside the loop.



More information about the llvm-commits mailing list