Hello, > On Fri, 20 Jan 2006, Kenneth Zadeck wrote: > > I would like permission to revert Zdenek's patch for a few days. There > > is nothing wrong with zdenek's patch, pe se, but it excercises a part of > > df that should work but does not. > > > I'm going to make an executive decision on this one, to restore bootstrap > immediately. I agree that Zdenek's patch be reverted for a few days > without prejudice. Both patch submitters followed the rules of bootstrap > and regression test, but a bad (unforetestable) interaction occurred > between the two. It turns out that it was the Kenny's DF changes at > fault, that contain paths that weren't fully tested with his changes > alone. Zdenek's patch is innocent, but reliant on this problematic > functionality.
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. Zdenek Index: loop-iv.c =================================================================== *** loop-iv.c (revision 110028) --- loop-iv.c (working copy) *************** iv_analysis_loop_init (struct loop *loop *** 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++) { --- 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++) {