aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2016-10-07 12:16:55 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2016-10-07 12:16:55 +0000
commit1edfde32a81006b564eb290a5989f473ab2d9af9 (patch)
treeaa99b9b3770fe91d8227daea8d5b0194a9890bec /gcc
parentd4bd46463c63cf0304a71563f1b68f271f3cb230 (diff)
downloadgcc-1edfde32a81006b564eb290a5989f473ab2d9af9.zip
gcc-1edfde32a81006b564eb290a5989f473ab2d9af9.tar.gz
gcc-1edfde32a81006b564eb290a5989f473ab2d9af9.tar.bz2
re PR tree-optimization/77880 (out of memory building recent LLVM on ppc64le with -O3)
PR tree-optimization/77880 * expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where necessary. From-SVN: r240862
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/expr.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ece1252..e4f5198 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-10-07 Bernd Schmidt <bschmidt@redhat.com>
+
+ PR tree-optimization/77880
+ * expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
+ necessary.
+
2016-10-07 Marek Polacek <polacek@redhat.com>
PR c++/77803
diff --git a/gcc/expr.c b/gcc/expr.c
index d15e98b..2256ac9 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -785,7 +785,7 @@ by_pieces_ninsns (unsigned HOST_WIDE_INT l, unsigned int align,
case COMPARE_BY_PIECES:
int batch = targetm.compare_by_pieces_branch_ratio (mode);
int batch_ops = 4 * batch - 1;
- int full = n_pieces / batch;
+ unsigned HOST_WIDE_INT full = n_pieces / batch;
n_insns += full * batch_ops;
if (n_pieces % batch != 0)
n_insns++;