This is the mail archive of the 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]

Re: Update to flow_loops_find

  In message <>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
  > obvious.
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  <>

         * 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]