This is the mail archive of the
mailing list for the GCC project.
Re: [patch] Remove flow_loop_scan
On Tue, 2005-02-22 at 21:33 +0100, Zdenek Dvorak wrote:
> > So what would be the procedure to get loop exit edges marked without
> > having to run the entire loop optimizer?
> > The code to prevent the jump threader from creating irreducible regions
> > needs this information so that it can determine if it is safe to thread
> > through a block with an incoming back edge.
> ifcvt.c:mark_loop_exit_edges could be exported (and free_dominance_info
> call removed from it).
OK. I'll take a looksie before approving your patch to verify it's
going to meet our needs.
> Long term, we would like to keep information about loops up-to-date for most
> of optimizations, which would make EDGE_LOOP_EXIT unnecessary.
I'm not sure how feasible that is, particularly for jump threading :(
I have looked briefly at keeping EDGE_DFS_BACK and EDGE_LOOP_EXIT
accurate through other parts of the compiler (so I could avoid
recomputing them), but was rather disappointed at how many different
places we were going to have to put logic to keep them up-to-date.