From: Steven Bosscher Date: Fri, 3 Apr 2009 20:15:40 +0000 (+0000) Subject: omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp. X-Git-Tag: releases/gcc-4.5.0~6921 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=535b544aa70749ecce8ea8914831479ece53995f;p=thirdparty%2Fgcc.git omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp. * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 388514716443..79061d345613 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,19 @@ +2009-04-03 Steven Bosscher + + * 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 PR middle-end/13146 diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 137dd66a3b3d..21dd8871e0a4 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1382,7 +1382,7 @@ struct ipa_opt_pass pass_ipa_cp = 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 | diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 5da4b4c700e8..dfc346aec6a4 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1561,7 +1561,7 @@ struct gimple_opt_pass pass_early_inline = 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 */ @@ -1591,7 +1591,7 @@ struct simple_ipa_opt_pass pass_ipa_early_inline = 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 */ @@ -1653,7 +1653,7 @@ struct gimple_opt_pass pass_inline_parameters = 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 */ @@ -1772,7 +1772,7 @@ struct ipa_opt_pass pass_ipa_inline = 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 diff --git a/gcc/matrix-reorg.c b/gcc/matrix-reorg.c index d916f70266cc..8f71be538180 100644 --- a/gcc/matrix-reorg.c +++ b/gcc/matrix-reorg.c @@ -2421,7 +2421,7 @@ struct simple_ipa_opt_pass pass_ipa_matrix_reorg = 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 */ diff --git a/gcc/omp-low.c b/gcc/omp-low.c index ec02b5f50a49..551af4024b00 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -5456,7 +5456,7 @@ struct gimple_opt_pass pass_expand_omp = 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 */ @@ -6577,6 +6577,11 @@ execute_lower_omp (void) { 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); @@ -6604,18 +6609,12 @@ execute_lower_omp (void) 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 */ diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c index 4467668a8858..06f113bea091 100644 --- a/gcc/tree-profile.c +++ b/gcc/tree-profile.c @@ -492,7 +492,7 @@ struct gimple_opt_pass pass_tree_profile = 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 */