Dear gcc contributors,

could you please advise how to better write the following testcase?
After the compilation with -O2 -fdump-tree-graphite-all
-fgraphite-identity -fgraphite-code-generator=isl the dump file should
contain the following text

ISL AST generated by ISL:

for (int c1 = 0; c1 < n - 1; c1 += 1)
for (int c3 = 0; c3 < n; c3 += 1)
S_5(c1, c3);" 1 "graphite"}
}

I am using the following code to check it:

diff --git a/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
b/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
new file mode 100644
index 0000000..1bb0349
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
@@ -0,0 +1,16 @@
+/* { dg-options "-O2 -fdump-tree-graphite-all -fgraphite-identity
-fgraphite-code-generator=isl" } */
+
+int
+main (int n, int *a)
+{
+  int i, j;
+
+  for (i = 0; i < n - 1; i++)
+    for (j = 0; j < n; j++)
+      a[j] = i + n;
+
+  return 0;
+}
+
+/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL: \nfor
\\(int c1 = 0; c1 < n - 1; c1 \\+= 1\\)\n  for \\(int c3 = 0; c3 < n;
c3 \\+= 1\\)\n    S_5\\(c1, c3\\);" 1 "graphite"} } */
+/* { dg-final { cleanup-tree-dump "graphite" } } */

However, I want to make the regular expression easier to read and
similar to the following multiline form:

+/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL: \n

? for \\(int c1 = 0; c1 < n - 1; c1 \\+= 1\\)\n
?  for \\(int c3 = 0; c3 < n; c3 \\+= 1\\)\n
?    S_5\\(c1, c3\\);" 1 "graphite"}
? } */

Is it possible? Where can I find the description of regular
expressions used in scan-tree-dump-times? I would be very grateful for
your comments.


--
                                   Cheers, Roman Gareev

Reply via email to