+2023-05-04 Frederik Harwath <frederik@codesourcery.com>
+
+ * omp-transform-loops.cc (full_unroll): Add initialization of index variable.
+
2023-04-27 Andrew Stubbs <ams@codesourcery.com>
* config/gcn/gcn-valu.md (cmul<conj_op><mode>3): Use gcn_gen_undef.
gimple_seq unrolled = NULL;
gimple_seq_add_seq (&unrolled, gimple_omp_for_pre_body (omp_for));
+ gimplify_assign (index, init, &unrolled);
push_gimplify_context ();
gimple_seq_add_seq (&unrolled,
build_unroll_body (body, unroll_factor, index, incr));
+2023-05-04 Frederik Harwath <frederik@codesourcery.com>
+
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-unroll-full-1.c:
+ Use -Wall and add -Wno-unknown-pragmas to disable warnings about empty pragmas.
+ Use -O2.
+ * testsuite/libgomp.c++/loop-transforms/matrix-no-directive-unroll-full-1.C:
+ Copy of testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c,
+ but using -O0 which works only for C++.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-no-directive-1.c: Use -Wall
+ and use -Wno-unknown-pragmas to disable warnings about empty pragmas.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-distribute-parallel-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-parallel-masked-taskloop-simd-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-parallel-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-target-teams-distribute-parallel-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-taskloop-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-omp-teams-distribute-parallel-for-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/matrix-simd-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/unroll-non-rect-1.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/loop-transforms/unroll-1.c:
+ Likewise and fix broken function calls found by -Wall.
+
2023-04-25 Frederik Harwath <frederik@codesourcery.com>
* testsuite/libgomp.fortran/loop-transforms/tile-2.f90: Add reduction clause.
--- /dev/null
+/* { dg-additional-options { -O0 -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
+
+#define COMMON_DIRECTIVE
+#define COMMON_TOP_TRANSFORM omp unroll full
+#define COLLAPSE_1
+#define COLLAPSE_2
+#define COLLAPSE_3
+#define IMPLEMENTATION_FILE "../../libgomp.c-c++-common/loop-transforms/matrix-constant-iter.h"
+
+#include "../../libgomp.c-c++-common/loop-transforms/matrix-transform-variants-1.h"
+
+/* A consistency check to prevent broken macro usage. */
+/* { dg-final { scan-tree-dump-times "unroll_full" 13 "original" } } */
-/* { dg-additional-options {-fdump-tree-original} } */
+/* { dg-additional-options { -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
#define COMMON_DIRECTIVE
#define COLLAPSE_1 collapse(1)
-/* { dg-additional-options {-fdump-tree-original} } */
+/* { dg-additional-options { -O2 -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
#define COMMON_DIRECTIVE
#define COMMON_TOP_TRANSFORM omp unroll full
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE "omp teams distribute parallel for"
#define COLLAPSE_1 "collapse(1)"
#define COLLAPSE_2 "collapse(2)"
-/* { dg-additional-options {-fdump-tree-original} } */
+/* { dg-additional-options { -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
#define COMMON_DIRECTIVE omp for
#define COLLAPSE_1 collapse(1)
-/* { dg-additional-options {-fdump-tree-original} } */
+/* { dg-additional-options { -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
#define COMMON_DIRECTIVE omp parallel for
#define COLLAPSE_1 collapse(1)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp parallel masked taskloop
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp parallel masked taskloop simd
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
-/* { dg-additional-options {-fdump-tree-original} } */
+/* { dg-additional-options { -fdump-tree-original -Wall -Wno-unknown-pragmas } } */
#define COMMON_DIRECTIVE omp target parallel for map(tofrom:result[0:dim0*dim1]) map(to:matrix1[0:dim0*dim1], matrix2[0:dim0*dim1])
#define COLLAPSE_1 collapse(1)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp target teams distribute parallel for map(tofrom:result[:dim0*dim1]) map(to:matrix1[0:dim0*dim1], matrix2[0:dim0*dim1])
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp taskloop
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp teams distribute parallel for
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#define COMMON_DIRECTIVE omp simd
#define COLLAPSE_1 collapse(1)
#define COLLAPSE_2 collapse(2)
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#include <stdio.h>
int compute_sum1 ()
sum++;
if (j != 7)
- __builtin_abort;
+ __builtin_abort ();
return sum;
}
sum++;
if (j != 7)
- __builtin_abort;
+ __builtin_abort ();
return sum;
}
sum++;
if (j != 7)
- __builtin_abort;
+ __builtin_abort ();
return sum;
}
+/* { dg-additional-options { -Wall -Wno-unknown-pragmas } } */
+
#include <stdio.h>
#include <stdlib.h>