Commit 4877b5a4 by Nathan Sidwell Committed by Nathan Sidwell

omp-low.c (lower_oacc_head_tail): Assert there is at least one marker.

	* omp-low.c (lower_oacc_head_tail): Assert there is at least one
	marker.
	(oacc_loop_process): Check mask for loop termination.

From-SVN: r235775
parent 4344d7fa
2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
* omp-low.c (lower_oacc_head_tail): Assert there is at least one
marker.
(oacc_loop_process): Check mask for loop termination.
2016-05-02 Jan Hubicka <hubicka@ucw.cz> 2016-05-02 Jan Hubicka <hubicka@ucw.cz>
* cif-code.def (CIF_THUNK): Add. * cif-code.def (CIF_THUNK): Add.
......
...@@ -6402,12 +6402,10 @@ lower_oacc_head_tail (location_t loc, tree clauses, ...@@ -6402,12 +6402,10 @@ lower_oacc_head_tail (location_t loc, tree clauses,
gimple_seq_add_stmt (head, gimple_build_assign (ddvar, integer_zero_node)); gimple_seq_add_stmt (head, gimple_build_assign (ddvar, integer_zero_node));
unsigned count = lower_oacc_head_mark (loc, ddvar, clauses, head, ctx); unsigned count = lower_oacc_head_mark (loc, ddvar, clauses, head, ctx);
if (!count)
lower_oacc_loop_marker (loc, ddvar, false, integer_zero_node, tail);
tree fork_kind = build_int_cst (unsigned_type_node, IFN_UNIQUE_OACC_FORK); tree fork_kind = build_int_cst (unsigned_type_node, IFN_UNIQUE_OACC_FORK);
tree join_kind = build_int_cst (unsigned_type_node, IFN_UNIQUE_OACC_JOIN); tree join_kind = build_int_cst (unsigned_type_node, IFN_UNIQUE_OACC_JOIN);
gcc_assert (count);
for (unsigned done = 1; count; count--, done++) for (unsigned done = 1; count; count--, done++)
{ {
gimple_seq fork_seq = NULL; gimple_seq fork_seq = NULL;
...@@ -19331,10 +19329,8 @@ oacc_loop_process (oacc_loop *loop) ...@@ -19331,10 +19329,8 @@ oacc_loop_process (oacc_loop *loop)
oacc_loop_xform_loop (loop->head_end, loop->ifns, mask_arg, chunk_arg); oacc_loop_xform_loop (loop->head_end, loop->ifns, mask_arg, chunk_arg);
for (ix = 0; ix != GOMP_DIM_MAX && loop->heads[ix]; ix++) for (ix = 0; ix != GOMP_DIM_MAX && mask; ix++)
{ {
gcc_assert (mask);
while (!(GOMP_DIM_MASK (dim) & mask)) while (!(GOMP_DIM_MASK (dim) & mask))
dim++; dim++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment