diff options
author | Tom de Vries <tom@codesourcery.com> | 2014-11-13 10:51:58 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2014-11-13 10:51:58 +0000 |
commit | 187518942c654f1d144a76a262ba8a7b904f7b9d (patch) | |
tree | 3873e81fede18285707d2a798b557f5b571b0ea0 /gcc/tree-pass.h | |
parent | d82f1e13053446d0b0fd8e8e3b26f5d7e579bfd7 (diff) | |
download | gcc-187518942c654f1d144a76a262ba8a7b904f7b9d.zip gcc-187518942c654f1d144a76a262ba8a7b904f7b9d.tar.gz gcc-187518942c654f1d144a76a262ba8a7b904f7b9d.tar.bz2 |
Run pass_expand_omp_ssa after pass_paralellize_loops
2014-11-13 Tom de Vries <tom@codesourcery.com>
* omp-low.c (pass_data_expand_omp): Set properties_provided to
PROP_gimple_eomp.
(pass_expand_omp::gate): Remove function. Move gate expression to ...
(pass_expand_omp::execute): ... here, as new variable gate. Add early
exit if gate is false.
(pass_data pass_data_expand_omp_ssa): New pass_data.
(class pass_expand_omp_ssa): New pass.
(make_pass_expand_omp_ssa): New function.
* passes.def (pass_parallelize_loops): Use PUSH_INSERT_PASSES_WITHIN
instead of NEXT_PASS.
(pass_expand_omp_ssa): Add after pass_parallelize_loops.
* tree-parloops.c (gen_parallel_loop): Remove call to omp_expand_local.
(pass_parallelize_loops::execute): Don't do cleanups TODO_cleanup_cfg
and TODO_rebuild_alias yet. Add TODO_update_ssa. Set
cfun->omp_expand_needed.
* tree-pass.h: Add define PROP_gimple_eomp.
(make_pass_expand_omp_ssa): Declare.
From-SVN: r217474
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r-- | gcc/tree-pass.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index a3efdd8..25ff364 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -220,6 +220,7 @@ protected: #define PROP_gimple_lcx (1 << 10) /* lowered complex */ #define PROP_loops (1 << 11) /* preserve loop structures */ #define PROP_gimple_lvec (1 << 12) /* lowered vector */ +#define PROP_gimple_eomp (1 << 13) /* no OpenMP directives */ #define PROP_trees \ (PROP_gimple_any | PROP_gimple_lcf | PROP_gimple_leh | PROP_gimple_lomp) @@ -399,6 +400,7 @@ extern gimple_opt_pass *make_pass_lower_vector_ssa (gcc::context *ctxt); extern gimple_opt_pass *make_pass_lower_omp (gcc::context *ctxt); extern gimple_opt_pass *make_pass_diagnose_omp_blocks (gcc::context *ctxt); extern gimple_opt_pass *make_pass_expand_omp (gcc::context *ctxt); +extern gimple_opt_pass *make_pass_expand_omp_ssa (gcc::context *ctxt); extern gimple_opt_pass *make_pass_object_sizes (gcc::context *ctxt); extern gimple_opt_pass *make_pass_strlen (gcc::context *ctxt); extern gimple_opt_pass *make_pass_fold_builtins (gcc::context *ctxt); |