On Tue, Mar 13, 2012 at 7:31 PM, Andrew Pinski <pins...@gmail.com> wrote:
> Ping?  Rebootstrapped on x86_64-linux-gnu with no regressions.

Zdenek, can you have a look here?  I think the patch is reasonable, but
you should have a better idea ;)


> Thanks,
> Andrew Pinski
> On Sat, Jan 21, 2012 at 1:21 PM, Andrew Pinski <pins...@gmail.com> wrote:
>> The problem with these two bug reports is that the cfgloop does not do
>> a good job for disambiguating some loops.  This patch rewrites
>> find_subloop_latch_edge_by_ivs to be better.  It is able to detect
>> much more loops and gets the ones which are referenced in PR 50971 and
>> PR 35629.  It does make sure the loops it finds are really loops and
>> not ones where the continue would cause a loop not to be done.
>> OK for 4.8 when stage 1 comes?  Bootstrapped and tested on
>> x86_64-linux-gnu with no regressions.
>> ChangeLog:
>> cfgloop.c (skip_to_exit): New function.
>> (find_subloop_latch_edge_by_ivs): Rewrite to better detect subloop latches by
>> IVs.  Also look at the cfg for those IVs to check for a better choice.
>> testsuite/ChangeLog:
>> * gcc.dg/tree-ssa/loop-25.c: Remove xfails and remove "Found latch
>> edge"/"Merged latch edges" tests.
>> * gcc.dg/tree-ssa/loop-38.c: New testcase.

Reply via email to