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++)
{