This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Loop optimizer tidy up
- To: Michael Hayes <m dot hayes at elec dot canterbury dot ac dot nz>
- Subject: Re: Loop optimizer tidy up
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sun, 29 Aug 1999 04:01:18 -0600
- cc: gcc-patches at gnu dot org
- Reply-To: law at cygnus dot com
In message <14279.19614.431767.425497@ongaonga.elec.canterbury.ac.nz>you writ
e:
>
> This patch removes most of the global variables used to store
> information about things found within a loop and replaces them
> with entries in the loop_info structure.
>
> It also renames this_loop with this_loop_num in find_and_verify loops
> to be consistent with the rest of loop.c.
>
> This patch is a precursor for my low overhead loop optimizing patches
> to follow.
>
> Michael.
>
> 1999-08-28 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
>
> * loop.c (this_loop_info): New variable.
> (loop_has_call, loop_has_volatile, loop_has_tablejump,
> loop_continue, loops_enclosed): Replace with fields in this_loop_info.
> All uses updated.
> (prescan_loop, strength_reduce): New argument loop_info. All callers
> updated.
> (scan_loop): New variable loop_info, initialise to address of
> this_loop_info.
> (prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
> Delete variable loop_has_multiple_exit targets and replace with
> field in this_loop_info.
> (find_and_verify_loops): Rename this_loop to this_loop_num.
> (strength_reduce): Delete loop_iteration_info. Replace variable
> loop_info with function argument of same name.
> (insert_bct): Rework test for loop being completely unrolled.
>
> * loop.h (struct loop_info): New fields num, loops_enclosed,
> has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
> has_indirect_jump, and cont. Redefine use of unroll_number.
> (loop_unroll_number): Delete.
>
> * unroll.c (unroll_loop): Store loop unroll count in unroll_number
> field of loop_info.
> (loop_iterations): Delete variable vtop and instead use
> loop_info->vtop computed in prescan_loop.
Thanks. Installed (and I get to remove the Jan '99 variant patch from my
queue :-)
jeff