aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Gareev <gareevroman@gmail.com>2014-08-09 05:57:47 +0000
committerRoman Gareev <romangareev@gcc.gnu.org>2014-08-09 05:57:47 +0000
commitb5bdf598f9a3fa0c883982a95517bf4477796dd2 (patch)
treea6ab5ce0c1cd38b3ed691cf41beadca53aeeb59d
parent361f3f5f1279341b43c9447a8def03ec4994ff4a (diff)
downloadgcc-b5bdf598f9a3fa0c883982a95517bf4477796dd2.zip
gcc-b5bdf598f9a3fa0c883982a95517bf4477796dd2.tar.gz
gcc-b5bdf598f9a3fa0c883982a95517bf4477796dd2.tar.bz2
[gcc/]
* graphite-isl-ast-to-gimple.c: (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase. From-SVN: r213774
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/graphite-isl-ast-to-gimple.c6
-rw-r--r--gcc/testsuite/gcc.dg/graphite/isl-ast-gen-user-1.c25
3 files changed, 35 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0bb62f7..c58827e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2014-08-09 Roman Gareev <gareevroman@gmail.com>
+
+ * graphite-isl-ast-to-gimple.c:
+ (translate_isl_ast_node_user): Use nb_loops instead of loop->num + 1.
+
+ * gcc.dg/graphite/isl-ast-gen-user-1.c: New testcase.
+
2014-08-08 Guozhi Wei <carrot@google.com>
* config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
diff --git a/gcc/graphite-isl-ast-to-gimple.c b/gcc/graphite-isl-ast-to-gimple.c
index 42393c3..44357dc 100644
--- a/gcc/graphite-isl-ast-to-gimple.c
+++ b/gcc/graphite-isl-ast-to-gimple.c
@@ -632,9 +632,9 @@ translate_isl_ast_node_user (__isl_keep isl_ast_node *node,
gcc_assert (GBB_BB (gbb) != ENTRY_BLOCK_PTR_FOR_FN (cfun) &&
"The entry block should not even appear within a scop");
- loop_p loop = gbb_loop (gbb);
- iv_map.create (loop->num + 1);
- iv_map.safe_grow_cleared (loop->num + 1);
+ int nb_loops = number_of_loops (cfun);
+ iv_map.create (nb_loops);
+ iv_map.safe_grow_cleared (nb_loops);
build_iv_mapping (iv_map, gbb, user_expr, ip, SCOP_REGION (pbb->scop));
isl_ast_expr_free (user_expr);
diff --git a/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-user-1.c b/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-user-1.c
new file mode 100644
index 0000000..a08a0f7
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/isl-ast-gen-user-1.c
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fgraphite-identity -fgraphite-code-generator=isl" } */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static const int N = 12;
+
+void Crystal_Cholesky (int nSlip, int a[N][N])
+{
+ int i, j, k, fdot = 0;
+
+ for ( i = 1; i < nSlip; i++)
+ {
+ for ( j = i+1; j < nSlip; j++)
+ {
+ for ( k = 0; k < i; k++)
+ fdot += a[i][k] * a[k][j];
+ a[i][j] = a[i][j] - fdot;
+ }
+ }
+}
+
+
+