On Thu, Jun 23, 2011 at 6:13 PM, Jeff Law <l...@redhat.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > 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?
Ok. Thanks, Richard. > Jeff > -----BEGIN PGP SIGNATURE----- > 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 > -----END PGP SIGNATURE----- >