This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Ping? Rebootstrapped on x86_64-linux-gnu with no regressions. Thanks, Andrew Pinski On Sat, Jan 21, 2012 at 1:21 PM, Andrew Pinski <pinskia@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.
Attachment:
fixcfg.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |