Zdenek Dvorak wrote:
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.

I tested my code before and after your revert and it passed. As far as I am concerned, put it back.

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

Reply via email to