aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-05-31 23:37:10 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-05-31 23:37:10 +0200
commit1ce8fc63a4132b66ced527afd2c88b840ecbb0b9 (patch)
tree58257ee78b302386388450db4354bb8aabf2718c /gcc
parent2099d4465862a0a004b1617ff1c9ab5ee6bb8a67 (diff)
downloadgcc-1ce8fc63a4132b66ced527afd2c88b840ecbb0b9.zip
gcc-1ce8fc63a4132b66ced527afd2c88b840ecbb0b9.tar.gz
gcc-1ce8fc63a4132b66ced527afd2c88b840ecbb0b9.tar.bz2
omp-low.c (lower_rec_simd_input_clauses): Set TREE_THIS_NOTRAP on ivar and lvar.
* omp-low.c (lower_rec_simd_input_clauses): Set TREE_THIS_NOTRAP on ivar and lvar. * gcc.dg/vect/vect-simd-5.c: New test. From-SVN: r271824
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/omp-low.c2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-simd-5.c14
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 29c8ecc..3693ae6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-low.c (lower_rec_simd_input_clauses): Set TREE_THIS_NOTRAP on
+ ivar and lvar.
+
2019-05-31 Xiong Hu Luo <luoxhu@linux.ibm.com>
PR c/43673
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index d200005d..1e47a36 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -3728,6 +3728,8 @@ lower_rec_simd_input_clauses (tree new_var, omp_context *ctx,
NULL_TREE, NULL_TREE);
lvar = build4 (ARRAY_REF, TREE_TYPE (new_var), avar, sctx->lane,
NULL_TREE, NULL_TREE);
+ TREE_THIS_NOTRAP (ivar) = 1;
+ TREE_THIS_NOTRAP (lvar) = 1;
}
if (DECL_P (new_var))
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9dc9cbc..fac9f2e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2019-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vect/vect-simd-5.c: New test.
+
2019-05-31 Xiong Hu Luo <luoxhu@linux.ibm.com>
PR c/43673
diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-5.c b/gcc/testsuite/gcc.dg/vect/vect-simd-5.c
new file mode 100644
index 0000000..bacb247
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/vect-simd-5.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-fopenmp-simd" } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_condition } } } */
+
+int x;
+
+void
+foo (int *a)
+{
+ #pragma omp simd lastprivate (x)
+ for (int i = 0; i < 1024; ++i)
+ if (a[i])
+ x = i;
+}