* omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp.
(execute_lower_omp): Always run but take the short way out if -fopenmp
is not given.
(gate_lower_omp): Remove, forcing the pass manager to always run the
pass and always set PROP_gimple_lomp.
(pass_lower_omp): Remove gate function.
* matrix-reorg.c (pass_ipa_matrix_reorg): Don't claim to provide
PROP_trees. Instead, require it.
* ipa-cp.c (pass_ipa_cp): Likewise.
* ipa-inline.c (pass_early_inline): Don't claim to provide PROP_cfg.
(pass_ipa_early_inline, pass_inline_parameters, pass_ipa_inline): Idem.
* tree-profile.c (pass_tree_profile): Don't claim to provide PROP_cfg
and PROP_gimple_leh.
From-SVN: r145518
+2009-04-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp.
+ (execute_lower_omp): Always run but take the short way out if -fopenmp
+ is not given.
+ (gate_lower_omp): Remove, forcing the pass manager to always run the
+ pass and always set PROP_gimple_lomp.
+ (pass_lower_omp): Remove gate function.
+ * matrix-reorg.c (pass_ipa_matrix_reorg): Don't claim to provide
+ PROP_trees. Instead, require it.
+ * ipa-cp.c (pass_ipa_cp): Likewise.
+ * ipa-inline.c (pass_early_inline): Don't claim to provide PROP_cfg.
+ (pass_ipa_early_inline, pass_inline_parameters, pass_ipa_inline): Idem.
+ * tree-profile.c (pass_tree_profile): Don't claim to provide PROP_cfg
+ and PROP_gimple_leh.
+
2009-04-03 Richard Guenther <rguenther@suse.de>
PR middle-end/13146
0, /* static_pass_number */
TV_IPA_CONSTANT_PROP, /* tv_id */
0, /* properties_required */
- PROP_trees, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_cgraph | TODO_dump_func |
0, /* static_pass_number */
TV_INLINE_HEURISTICS, /* tv_id */
0, /* properties_required */
- PROP_cfg, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_func /* todo_flags_finish */
0, /* static_pass_number */
TV_INLINE_HEURISTICS, /* tv_id */
0, /* properties_required */
- PROP_cfg, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_cgraph /* todo_flags_finish */
0, /* static_pass_number */
TV_INLINE_HEURISTICS, /* tv_id */
0, /* properties_required */
- PROP_cfg, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
0 /* todo_flags_finish */
0, /* static_pass_number */
TV_INLINE_HEURISTICS, /* tv_id */
0, /* properties_required */
- PROP_cfg, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
TODO_remove_functions, /* todo_flags_finish */
TODO_dump_cgraph | TODO_dump_func
0, /* static_pass_number */
0, /* tv_id */
0, /* properties_required */
- PROP_trees, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_cgraph | TODO_dump_func /* todo_flags_finish */
0, /* static_pass_number */
0, /* tv_id */
PROP_gimple_any, /* properties_required */
- PROP_gimple_lomp, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_dump_func /* todo_flags_finish */
{
gimple_seq body;
+ /* This pass always runs, to provide PROP_gimple_lomp.
+ But there is nothing to do unless -fopenmp is given. */
+ if (flag_openmp == 0)
+ return 0;
+
all_contexts = splay_tree_new (splay_tree_compare_pointers, 0,
delete_omp_context);
return 0;
}
-static bool
-gate_lower_omp (void)
-{
- return flag_openmp != 0;
-}
-
struct gimple_opt_pass pass_lower_omp =
{
{
GIMPLE_PASS,
"omplower", /* name */
- gate_lower_omp, /* gate */
+ NULL, /* gate */
execute_lower_omp, /* execute */
NULL, /* sub */
NULL, /* next */
0, /* static_pass_number */
TV_BRANCH_PROB, /* tv_id */
PROP_gimple_leh | PROP_cfg, /* properties_required */
- PROP_gimple_leh | PROP_cfg, /* properties_provided */
+ 0, /* properties_provided */
0, /* properties_destroyed */
0, /* todo_flags_start */
TODO_verify_stmts | TODO_dump_func /* todo_flags_finish */