On Wed, Jan 15, 2014 at 11:52 AM, Richard Biener wrote: > I can split off a df_analyze_1 and have a df_analyze () doing what > it does now and a df_analyze_loop () combining df_set_blocks () > and df_analyze () for example.
df_analyze_loop sounds good to me. But shouldn't it be possible to avoid the re-computation of the pre/postorders? If the CFG hasn't changed, the orders also haven't changed. It should be possible to communicate that to DF from the CFG hooks somehow. AFAIR loop-invariant.c doesn't modify the CFG (and if it does then it's easily avoided) and RTL loop unswitching should just go away. Ciao! Steven