aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2014-02-12 15:46:19 +0100
committerThomas Schwinge <tschwinge@gcc.gnu.org>2014-02-12 15:46:19 +0100
commitbae729a29f4d0a06380db341b7cf6146316aff67 (patch)
tree289e2892a055d1dc67c6fee7b4aa45d9b4e3388c /gcc
parent64e5ace535448901c3e29cc1f6612e6c8d2a0a0c (diff)
downloadgcc-bae729a29f4d0a06380db341b7cf6146316aff67.zip
gcc-bae729a29f4d0a06380db341b7cf6146316aff67.tar.gz
gcc-bae729a29f4d0a06380db341b7cf6146316aff67.tar.bz2
Add clobber for object, after last use.
gcc/ * omp-low.c (lower_omp_target): Add clobber for sizes array, after last use. From-SVN: r207723
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/omp-low.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 78bf506..25f1bf4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2014-02-12 Thomas Schwinge <thomas@codesourcery.com>
+ * omp-low.c (lower_omp_target): Add clobber for sizes array, after
+ last use.
+
* omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
dereference.
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index ff3d2e8..e7fc730 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -9812,6 +9812,13 @@ lower_omp_target (gimple_stmt_iterator *gsi_p, omp_context *ctx)
TREE_VEC_ELT (t, 1)),
&initlist, true, NULL_TREE);
gimple_seq_add_seq (&ilist, initlist);
+
+ tree clobber = build_constructor (TREE_TYPE (TREE_VEC_ELT (t, 1)),
+ NULL);
+ TREE_THIS_VOLATILE (clobber) = 1;
+ gimple_seq_add_stmt (&olist,
+ gimple_build_assign (TREE_VEC_ELT (t, 1),
+ clobber));
}
tree clobber = build_constructor (ctx->record_type, NULL);