This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: DCE speedup


> 	This patch changes the error, but does not fix the ICE.
> 
> src/libstdc++-v3/src/locale.cc: In function '(static initializers for /farm/dje/src/src/libstdc++-v3/src/locale.cc)':
> src/libstdc++-v3/src/locale.cc:441: internal compiler error: in verify_curr_properties, at passes.c:882
Hi,
the patch actually had typo (or I put the TODO into properties section)
so the problem reproduce during x86-64 bootstrap too.
See the mail on GGC ICEs - I will plan to disable the ggc_free flag now
making the problem latent again and try to deal with it more
curefully next week once other problems resolved.
I am attaching the version of patch I believe it should fix the problem.
If it is easy for you, I would be interested to know if it really does -
I have half done patch that does better tracking on when the
unreferenced locals can appear.

Thank you and I am sorry for the troubles,
Honza

Index: tree-ssanames.c
===================================================================
*** tree-ssanames.c	(revision 120777)
--- tree-ssanames.c	(working copy)
*************** release_dead_ssa_names (void)
*** 325,331 ****
    for (t = FREE_SSANAMES (cfun); t; t = next)
      {
        next = TREE_CHAIN (t);
!       ggc_free (t);
        n++;
      }
    FREE_SSANAMES (cfun) = NULL;
--- 325,336 ----
    for (t = FREE_SSANAMES (cfun); t; t = next)
      {
        next = TREE_CHAIN (t);
!       /* Dangling pointers might make GGC to still see dead SSA names, so it is
!  	 important to unlink the list and avoid GGC from seeing all subsequent
! 	 SSA names.  In longer run we want to have all dangling pointers here
! 	 removed (since they usually go trhough dead statements that consume
! 	 considerable amounts of memory).  */
!       TREE_CHAIN (t) = NULL_TREE;
        n++;
      }
    FREE_SSANAMES (cfun) = NULL;
*************** struct tree_opt_pass pass_release_ssa_na
*** 343,352 ****
    NULL,					/* next */
    0,					/* static_pass_number */
    0,					/* tv_id */
!   PROP_ssa,				/* properties_required */
    0,					/* properties_provided */
    0,					/* properties_destroyed */
    0,					/* todo_flags_start */
!   0,					/* todo_flags_finish */
    0					/* letter */
  };
--- 348,357 ----
    NULL,					/* next */
    0,					/* static_pass_number */
    0,					/* tv_id */
!   PROP_ssa,	/* properties_required */
    0,					/* properties_provided */
    0,					/* properties_destroyed */
    0,					/* todo_flags_start */
!   TODO_remove_unused_locals,		/* todo_flags_finish */
    0					/* letter */
  };


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]