aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2019-10-28 10:59:01 +0000
committerMichael Matz <matz@gcc.gnu.org>2019-10-28 10:59:01 +0000
commit5869faffd32c442675220851f371cc0173f6529b (patch)
tree73bd677565e7b3cc0e67e3bac75f892cd50ed6a0 /gcc
parent216779db90e32a7a7f8be2b322208c80666f1e52 (diff)
downloadgcc-5869faffd32c442675220851f371cc0173f6529b.zip
gcc-5869faffd32c442675220851f371cc0173f6529b.tar.gz
gcc-5869faffd32c442675220851f371cc0173f6529b.tar.bz2
Fix unroll-and-jam.c on 32bit
where LIM interacts with foo10. On 64bit LIM doesn't do the problematic change for whatever reason, but it seems better to disable LIM alltogether, which requires a minor change in the testcase. From-SVN: r277508
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/unroll-and-jam.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 128679a..3fe8a78 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-28 Michael Matz <matz@suse.de>
+
+ PR middle-end/90796
+ * gcc.dg/unroll-and-jam.c: Disable loop-invariant motion and adjust.
+
2019-10-28 Ilya Leoshkevich <iii@linux.ibm.com>
PR rtl-optimization/92007
diff --git a/gcc/testsuite/gcc.dg/unroll-and-jam.c b/gcc/testsuite/gcc.dg/unroll-and-jam.c
index bcfe1bd..7eb6421 100644
--- a/gcc/testsuite/gcc.dg/unroll-and-jam.c
+++ b/gcc/testsuite/gcc.dg/unroll-and-jam.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O3 -floop-unroll-and-jam --param unroll-jam-min-percent=0 -fdump-tree-unrolljam-details" } */
+/* { dg-options "-O3 -floop-unroll-and-jam -fno-tree-loop-im --param unroll-jam-min-percent=0 -fdump-tree-unrolljam-details" } */
/* { dg-require-effective-target int32plus } */
#include <stdio.h>
@@ -31,10 +31,10 @@ void checkb(void)
//printf(" %d\n", sum);
}
-unsigned i, j;
#define TEST(name, body, test) \
static void __attribute__((noinline,noclone)) name (unsigned long n, unsigned long m) \
{ \
+ unsigned i, j; \
for (i = 1; i < m; i++) { \
for (j = 1; j < n; j++) { \
body; \