This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR tree-opt/28937
- From: "Richard Guenther" <richard dot guenther at gmail dot com>
- To: "Diego Novillo" <dnovillo at redhat dot com>
- Cc: "Andrew Pinski" <pinskia at physics dot uc dot edu>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 18 Oct 2006 14:02:25 +0200
- Subject: Re: [PATCH] Fix PR tree-opt/28937
- References: <1157418187.24185.132.camel@celery.andrew.com> <44FD6B8F.8010202@redhat.com>
On 9/5/06, Diego Novillo <dnovillo@redhat.com> wrote:
Andrew Pinski wrote on 09/04/06 21:03:
> * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
> (canonicalize_induction_variables): Likewise.
> (tree_unroll_loops_completely): Likewise.
> (tree_ssa_prefetch_arrays): Likewise.
> (remove_empty_loops): Likewise.
> * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
> TODO_cleanup_cfg instead of directly calling
> cleanup_tree_cfg_loop.
> * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
> Likewise.
> (tree_unroll_loops_completely): Likewise.
> (remove_empty_loops): Likewise.
> * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
> * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
> of tree_ssa_unswitch_loops.
> (tree_ssa_loop_ivcanon): Use the return value of
> canonicalize_induction_variables.
> (tree_ssa_empty_loop): Use the return value of
> remove_empty_loops.
> (tree_complete_unroll): Use the return value of
> tree_unroll_loops_completely.
> (tree_ssa_loop_prefetch): Use the return value of
> tree_ssa_prefetch_arrays.
> * passes.c (execute_todo): Before Cleanup CFG, set
> updating_used_alone and after cleanup CFG, call
> recalculate_used_alone.
>
> testsuite/ChangeLog:
>
> * g++.dg/opt/unroll2.C: New test.
>
OK.
This causes huge compile-time regressions on tramp3d, boost, botan,
DLV, FreeFEM and
Polyhedron (I guess a lot of stuff is affected). Slowdown is ~5% for
all these testcases
and makes us compile slower than 4.1 again.
Richard.