This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Remove cse_around_loop
- From: Jeffrey A Law <law at redhat dot com>
- To: Steven Bosscher <stevenb at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 24 Aug 2004 11:25:58 -0600
- Subject: Re: Remove cse_around_loop
- Organization: Red Hat, Inc
- References: <200408210121.18462.stevenb@suse.de>
- Reply-to: law at redhat dot com
On Fri, 2004-08-20 at 17:21, Steven Bosscher wrote:
> Hi,
>
> This removes cse_around_loop. As the comment from the pre-egcs days
> already says:
>
> (...)This will be caught when global cse is implemented, (...)
>
> and to the best of my knowledge, we've had gcse.c for a long time :-)
>
> And indeed, cse_around_loop buys us nothing for code size, speed, or
> benchmarks. Also, cleaning up cse.c has to start *somewhere* :-/
>
> Bootstrapped on x86_64-suse-linux-gnu, testing in progress. OK when
> it has passed?
>
> Gr.
> Steven
>
> * cse.c (cse_around_loop, cse_check_loop_start,
> cse_set_around_loop): Remove.
> (cse_basic_block): Remove the around_loop argument.
> (cse_end_of_basic_block): Remove the after_loop argument.
> (cse_main): Likewise.
> * rtl.h (cse_main): Update prototype.
> * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
> rest_of_handle_gcse): Update cse_main calls.
This is fine.
I think you can also eliminate "last_jump_equiv_class" which is set
but never used after removing cse_around_loop.
Jeff