public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build
@ 2012-08-18 9:47 hubicka at gcc dot gnu.org
2012-08-20 7:29 ` [Bug lto/54312] " rguenth at gcc dot gnu.org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: hubicka at gcc dot gnu.org @ 2012-08-18 9:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
Bug #: 54312
Summary: uniquify_nodes takes 12% of Mozilla LTO build
Classification: Unclassified
Product: gcc
Version: lto
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: hubicka@gcc.gnu.org
uniquify_nodes has quadratic loop removing types from variant lists:
/* Remove us from our main variant list if we are not the
variant leader. */
if (TYPE_MAIN_VARIANT (t) != t)
{
tem = TYPE_MAIN_VARIANT (t);
while (tem && TYPE_NEXT_VARIANT (tem) != t)
tem = TYPE_NEXT_VARIANT (tem);
if (tem)
TYPE_NEXT_VARIANT (tem) = TYPE_NEXT_VARIANT (t);
TYPE_NEXT_VARIANT (t) = NULL_TREE;
}
this consume a lot of time building Mozilla (and was introduced by Michael's
patch cleaning up the stream in process). Can't we do a bit better here?
(this was introduced in 4.7)
Honza
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
@ 2012-08-20 7:29 ` rguenth at gcc dot gnu.org
2012-09-11 11:04 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-08-20 7:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
2012-08-20 7:29 ` [Bug lto/54312] " rguenth at gcc dot gnu.org
@ 2012-09-11 11:04 ` rguenth at gcc dot gnu.org
2012-09-12 16:26 ` hubicka at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-09-11 11:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-11 11:03:52 UTC ---
Patch pre-approved (also for 4.7) if it passes your testing.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
2012-08-20 7:29 ` [Bug lto/54312] " rguenth at gcc dot gnu.org
2012-09-11 11:04 ` rguenth at gcc dot gnu.org
@ 2012-09-12 16:26 ` hubicka at gcc dot gnu.org
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: hubicka at gcc dot gnu.org @ 2012-09-12 16:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
` (3 preceding siblings ...)
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
@ 2012-09-20 14:52 ` rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-09-20 14:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.7.3
--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-20 14:52:23 UTC ---
Fixed for 4.7.3.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug lto/54312] uniquify_nodes takes 12% of Mozilla LTO build
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
` (2 preceding siblings ...)
2012-09-12 16:26 ` hubicka at gcc dot gnu.org
@ 2012-09-20 14:52 ` rguenth at gcc dot gnu.org
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-09-20 14:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54312
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 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 <rguenther@suse.de>
Backport from mainline
2012-09-11 Jan Hubicka <jh@suse.cz>
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
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-09-20 14:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-18 9:47 [Bug lto/54312] New: uniquify_nodes takes 12% of Mozilla LTO build hubicka at gcc dot gnu.org
2012-08-20 7:29 ` [Bug lto/54312] " rguenth at gcc dot gnu.org
2012-09-11 11:04 ` rguenth at gcc dot gnu.org
2012-09-12 16:26 ` hubicka at gcc dot gnu.org
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
2012-09-20 14:52 ` rguenth at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).