From b5bdf598f9a3fa0c883982a95517bf4477796dd2 Mon Sep 17 00:00:00 2001 From: Roman Gareev Date: Sat, 9 Aug 2014 05:57:47 +0000 Subject: [PATCH] [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 --- gcc/ChangeLog | 7 ++++++ gcc/graphite-isl-ast-to-gimple.c | 6 ++--- .../gcc.dg/graphite/isl-ast-gen-user-1.c | 25 +++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/graphite/isl-ast-gen-user-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0bb62f74327..c58827ed9ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-08-09 Roman Gareev + + * 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 * 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 42393c3ea17..44357dc823f 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 00000000000..a08a0f771a0 --- /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 +#include + +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; + } + } +} + + +