diff mbox

Fix compile time regression caused by fix to PR64111

Message ID CABtf2+RxvHchi=k9z9HPoaUFVY3Mx89rGgh8Sx2HLXMfQVqANQ@mail.gmail.com
State New
Headers show

Commit Message

Caroline Tice Oct. 23, 2015, 10:22 p.m. UTC
This patch fixes a compile-time regression that was originally
introduced by the fix
for PR64111, in GCC 4.9.3.    One of our user's encountered this problem with a
particular file, where the compile time (on arm) went from 20 seconds
to 150 seconds.

The fix in this patch was suggested by Richard Biener, who wrote the
original fix for
PR64111.  I have verified that this patch fixes the compile time
regression; I have bootstrapped
the compiler with this patch; and I have run the regression testsuite
(no regressions).
Is this ok to commit to ToT?   (I am also working on backports for
gcc-5_branch and gcc-4_9-branch).

-- Caroline Tice
cmtice@google.com

gcc/ChangeLog:

2015-10-23  Caroline Tice  <cmtice@google.com>

        (from Richard Biener)
        * tree.c (int_cst_hasher::hash):  Replace XOR with more efficient
        call to iterative_hash_host_wide_int.

Comments

Jeff Law Oct. 23, 2015, 10:38 p.m. UTC | #1
On 10/23/2015 04:22 PM, Caroline Tice wrote:
> This patch fixes a compile-time regression that was originally
> introduced by the fix
> for PR64111, in GCC 4.9.3.    One of our user's encountered this problem with a
> particular file, where the compile time (on arm) went from 20 seconds
> to 150 seconds.
>
> The fix in this patch was suggested by Richard Biener, who wrote the
> original fix for
> PR64111.  I have verified that this patch fixes the compile time
> regression; I have bootstrapped
> the compiler with this patch; and I have run the regression testsuite
> (no regressions).
> Is this ok to commit to ToT?   (I am also working on backports for
> gcc-5_branch and gcc-4_9-branch).
>
> -- Caroline Tice
> cmtice@google.com
>
> gcc/ChangeLog:
>
> 2015-10-23  Caroline Tice  <cmtice@google.com>
>
>          (from Richard Biener)
>          * tree.c (int_cst_hasher::hash):  Replace XOR with more efficient
>          call to iterative_hash_host_wide_int.
>
OK.
jeff
diff mbox

Patch

Index: gcc/tree.c
===================================================================
--- gcc/tree.c	(revision 229270)
+++ gcc/tree.c	(working copy)
@@ -1364,7 +1364,7 @@ 
   int i;
 
   for (i = 0; i < TREE_INT_CST_NUNITS (t); i++)
-    code ^= TREE_INT_CST_ELT (t, i);
+    code = iterative_hash_host_wide_int (TREE_INT_CST_ELT(t, i), code);
 
   return code;
 }