From: rguenth Date: Thu, 20 Sep 2012 14:51:59 +0000 (+0000) Subject: 2012-09-20 Richard Guenther X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=ce446350114bf69b2b8ac24bc96712ccbb44939a;p=pf3gnuchains%2Fgcc-fork.git 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@191568 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index e3cece5294c..878f11066b5 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,12 @@ +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. + 2012-09-20 Release Manager * GCC 4.7.2 released. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 3e7503b73d9..2f100d96704 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -761,6 +761,7 @@ uniquify_nodes (struct data_in *data_in, unsigned from) variant list state before fixup is broken. */ tree tem, mv; +#ifdef ENABLE_CHECKING /* Remove us from our main variant list if we are not the variant leader. */ if (TYPE_MAIN_VARIANT (t) != t) @@ -768,10 +769,9 @@ uniquify_nodes (struct data_in *data_in, unsigned from) 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; + gcc_assert (!tem && !TYPE_NEXT_VARIANT (t)); } +#endif /* Query our new main variant. */ mv = GIMPLE_REGISTER_TYPE (TYPE_MAIN_VARIANT (t));