This is the mail archive of the
mailing list for the GCC project.
Re: Update to flow_loops_find
- To: Michael Hayes <mhayes at cygnus dot com>
- Subject: Re: Update to flow_loops_find
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Mon, 11 Sep 2000 10:05:04 -0600
- cc: gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <email@example.com>you write:
> This patch allows floop_loops_find to gather more information about
> natural loops; in particular about the pre-header extended basic block
> and about the loop nodes that dominate all the loop exits. I have
> also added a flags option to control what information is gathered.
> I've bootstrapped gcc with this patch but could someone pleae cast
> their beady little eye over it in case I've overlooked something
It looks real good to me.
I didn't see anything at all fishy about the patch except the code which
builds a trace to the root of the loop pre-header EBB -- but it's correct,
you want a trace to the root of the EBB, you're not trying to find the
full set of blocks in the EBB.
2000-09-12 Michael Hayes <firstname.lastname@example.org>
* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
(flow_loops_update): New prototype.
(flow_loops_find): Add flags to prototype.
(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
* flow.c (flow_loop_pre_header_scan): New.
(flow_loop_dump): Dump pre-header root and trace and exit dominators.
(flow_loop_free): Free pre-header root and trace and exit dominators.
(flow_loops_find): New argument flags.
(flow_loops_update): New function.
* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
Please install this patch.