RFA PR middle-end/49465

Richard Guenther richard.guenther@gmail.com
Thu Jun 23 16:38:00 GMT 2011

On Thu, Jun 23, 2011 at 6:13 PM, Jeff Law <law@redhat.com> wrote:
> Hash: SHA1
> At the core of this PR is a case where we were threading through a
> successor of a joiner block where there was already an edge from the
> threadable successor to the final target.  ie, the successor of the
> joiner ended with a conditional branch, after threading both arms
> reached the same location.
> For this case, we have to ensure that if the target block has PHIs that
> the PHI arguments are the same for both incoming edges so that when the
> two edges are combined into a single edge we don't lose information.
> We already check and reject cases where this is not true prior to
> registering the jump thread.  Unfortunately, the updating code tried to
> update the PHIs when no update is necessary or desirable.
> I don't have a small testcase for this bug.
> Bootstrapped and regression tested on x86_64-unknown-linux-gnu; also
> built and run cpu2006 C integer benchmarks which were failing with -O2
> - -fast-math.  Those benchmarks run correctly with this patch applied.
> OK for trunk?



> Jeff
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
> iQEcBAEBAgAGBQJOA2YgAAoJEBRtltQi2kC7R4kH/1jRce606GysmFOjgbIapPGb
> PyQk4NjnrMY3WujiQOghPe6D7wRi+UCs0DLhqW7zTcBUlBAJjCTpo3DbYyfnmSHp
> vQu74JYeZItjMfkPRI+6JFkaUlEpGVaAqCK7+CAqI7e3qLEook05lsJfHtzOQ/60
> kGeczpjWn6p7hvVj9Q5p2OCo9+tWsu+vowdQrzF/2nBTrtSyqwE4oEW9fL7h/6Sw
> 27/YBheJeGEf7HtwL3Pm/G0M9mEv7u57rIek2G+VweUqwmrADvI5NuVOs1mQdDTw
> iYY61sjSOO8iPMAATufndjhLJKATndoXmdHL9sfpYrlsDZqsF6cCrR18o+RFymo=
> =ylGm

More information about the Gcc-patches mailing list