[Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build

2012-09-20 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312



Richard Guenther  changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED

   Target Milestone|--- |4.7.3



--- Comment #5 from Richard Guenther  2012-09-20 
14:52:23 UTC ---

Fixed for 4.7.3.


[Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build

2012-09-20 Thread rguenth at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312



--- Comment #4 from Richard Guenther  2012-09-20 
14:52:07 UTC ---

Author: rguenth

Date: Thu Sep 20 14:51:59 2012

New Revision: 191568



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191568

Log:

2012-09-20  Richard Guenther  



Backport from mainline

2012-09-11  Jan Hubicka  



PR lto/54312

* lto.c (uniquify_nodes): Remove quadratic loop checking if the

type is variant leader.



Modified:

branches/gcc-4_7-branch/gcc/lto/ChangeLog

branches/gcc-4_7-branch/gcc/lto/lto.c


[Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build

2012-09-12 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312

--- Comment #3 from Jan Hubicka  2012-09-12 
16:26:31 UTC ---
Author: hubicka
Date: Wed Sep 12 16:26:19 2012
New Revision: 191228

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191228
Log:

PR lto/54312
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
type is variant leader.

Modified:
trunk/gcc/lto/ChangeLog
trunk/gcc/lto/lto.c


[Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build

2012-09-11 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312

--- Comment #2 from Richard Guenther  2012-09-11 
11:03:52 UTC ---
Patch pre-approved (also for 4.7) if it passes your testing.


[Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build

2012-08-20 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312

--- Comment #1 from Richard Guenther  2012-08-20 
07:29:00 UTC ---
I don't see how we can do better.  Or well, we can put in an assert instead
(we stream TYPE_NEXT_VARIANT as NULL).

#ifdef ENABLE_CHECKING
  if (TYPE_MAIN_VARIANT (t) != t)
{
  tem = TYPE_MAIN_VARIANT (t);
  while (tem && TYPE_NEXT_VARIANT (tem) != t)
tem = TYPE_NEXT_VARIANT (tem);
  gcc_assert (!tem && !TYPE_NEXT_VARIANT (t));
}
#endif