Hello, > On Fri, 20 Jan 2006, Zdenek Dvorak wrote: > > I propose the following workaround instead, that also restores > > bootstrap. It changes the way loop-iv uses df to more conservative one, > > that does not seem to cause problems. > > That's what I like to see... options. Yes, this is OK for mainline, > please hold off on the reversion (or if necessary reapply with this > change).
OK to revert this workaround now? Mainline now passes bootstrap & regtesting on i686 without it. Zdenek * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more efficient way. Index: loop-iv.c =================================================================== *** loop-iv.c (revision 110143) --- loop-iv.c (working copy) *************** iv_analysis_loop_init (struct loop *loop *** 250,260 **** current_loop = loop; /* Clear the information from the analysis of the previous loop. */ ! if (!first_time) ! iv_analysis_done (); ! df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES); ! df_chain_add_problem (df, DF_UD_CHAIN); ! bivs = htab_create (10, biv_hash, biv_eq, free); for (i = 0; i < loop->num_nodes; i++) { --- 250,263 ---- current_loop = loop; /* Clear the information from the analysis of the previous loop. */ ! if (first_time) ! { ! df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES); ! df_chain_add_problem (df, DF_UD_CHAIN); ! bivs = htab_create (10, biv_hash, biv_eq, free); ! } ! else ! clear_iv_info (); for (i = 0; i < loop->num_nodes; i++) {