On 23/07/2014 16:55, Roman Gareev wrote:
I've attached the patch, which adds handling of isl_ast_op_pdiv_q and
isl_ast_op_pdiv_r. It also contains a corresponding test case, which
generates the following ISL AST:

{
   for (int c1 = 0; c1 < -((-k.0 + i + 4294967296) % 4294967296) +
4294967296; c1 += 1)
     S_4(c1);
   S_6();
}

Is it fine for trunk?

Some minor comments in the test case, otherwise LGTM. Feel free to commit after addressing those.

Index: gcc/testsuite/gcc.dg/graphite/isl-ast-gen-blocks-3.c
===================================================================
--- gcc/testsuite/gcc.dg/graphite/isl-ast-gen-blocks-3.c        (revision 0)
+++ gcc/testsuite/gcc.dg/graphite/isl-ast-gen-blocks-3.c        (working copy)
@@ -0,0 +1,27 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -fgraphite-identity -fgraphite-code-generator=isl" } */
+
+int k = 50;

Any reason you don't make 'k' a function parameter?

+static int __attribute__((noinline))
+foo ()
+{
+  int i, res;
+  for (i = k/2, res = 0; i < k; i++)

Can you initialize res outside of the loop?

Cheers,
Tobias

Reply via email to