This is the mail archive of the
mailing list for the GCC project.
Re: [patch] Remove flow_loop_scan
> > 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 :(
as long as jump threading does not damage loops (i.e. is a bit careful
when dealing with edges leading to loop header), this is not a problem
-- cleanup_tree_cfg_loop already handles that type of changes. Of
course it may turn out that this is too restrictive and that the
produced code is worse due to it, but it does not seem likely to me.
> 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.
This by itself is as hard as keeping the loop structures up-to-date
(harder in fact, since you have less information to use).