Skip to content
Snippets Groups Projects
  • Jakub Jelinek's avatar
    7855700e
    gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate... · 7855700e
    Jakub Jelinek authored
    gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate conditional on combined for simd.
    
    	* gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate
    	conditional on combined for simd.
    	* omp-low.c (struct omp_context): Add combined_into_simd_safelen0
    	member.
    	(lower_rec_input_clauses): For gimple_omp_for_combined_into_p max_vf 1
    	constructs, don't remove lastprivate_conditional_map, but instead set
    	ctx->combined_into_simd_safelen0 and adjust hash_map, so that it points
    	to parent construct temporaries.
    	(lower_lastprivate_clauses): Handle ctx->combined_into_simd_safelen0
    	like !ctx->lastprivate_conditional_map.
    	(lower_omp_1) <case GIMPLE_ASSIGN>: If up->combined_into_simd_safelen0,
    	use up->outer context instead of up.
    	* omp-expand.c (expand_omp_for_generic): Perform cond_var bump even if
    	gimple_omp_for_combined_p.
    	(expand_omp_for_static_nochunk): Likewise.
    	(expand_omp_for_static_chunk): Add forgotten cond_var bump that was
    	probably moved over into expand_omp_for_generic rather than being copied
    	there.
    gcc/cp/
    	* cp-tree.h (CP_OMP_CLAUSE_INFO): Allow for any clauses up to _condvar_
    	instead of only up to linear.
    gcc/testsuite/
    	* c-c++-common/gomp/lastprivate-conditional-2.c (foo): Don't expect
    	a sorry_at on any of the clauses.
    libgomp/
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
    
    From-SVN: r271907
    7855700e
    History
    gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate...
    Jakub Jelinek authored
    gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate conditional on combined for simd.
    
    	* gimplify.c (gimplify_scan_omp_clauses): Don't sorry_at on lastprivate
    	conditional on combined for simd.
    	* omp-low.c (struct omp_context): Add combined_into_simd_safelen0
    	member.
    	(lower_rec_input_clauses): For gimple_omp_for_combined_into_p max_vf 1
    	constructs, don't remove lastprivate_conditional_map, but instead set
    	ctx->combined_into_simd_safelen0 and adjust hash_map, so that it points
    	to parent construct temporaries.
    	(lower_lastprivate_clauses): Handle ctx->combined_into_simd_safelen0
    	like !ctx->lastprivate_conditional_map.
    	(lower_omp_1) <case GIMPLE_ASSIGN>: If up->combined_into_simd_safelen0,
    	use up->outer context instead of up.
    	* omp-expand.c (expand_omp_for_generic): Perform cond_var bump even if
    	gimple_omp_for_combined_p.
    	(expand_omp_for_static_nochunk): Likewise.
    	(expand_omp_for_static_chunk): Add forgotten cond_var bump that was
    	probably moved over into expand_omp_for_generic rather than being copied
    	there.
    gcc/cp/
    	* cp-tree.h (CP_OMP_CLAUSE_INFO): Allow for any clauses up to _condvar_
    	instead of only up to linear.
    gcc/testsuite/
    	* c-c++-common/gomp/lastprivate-conditional-2.c (foo): Don't expect
    	a sorry_at on any of the clauses.
    libgomp/
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
    	* testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
    
    From-SVN: r271907