diff options
Diffstat (limited to 'gcc/tree-ssa-loop.c')
-rw-r--r-- | gcc/tree-ssa-loop.c | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index bf2fbc8..cbb14e60 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -134,61 +134,6 @@ make_pass_tree_loop_init (gcc::context *ctxt) return new pass_tree_loop_init (ctxt); } -/* Predictive commoning. */ - -static unsigned -run_tree_predictive_commoning (void) -{ - if (!current_loops) - return 0; - - return tree_predictive_commoning (); -} - -static bool -gate_tree_predictive_commoning (void) -{ - return flag_predictive_commoning != 0; -} - -namespace { - -const pass_data pass_data_predcom = -{ - GIMPLE_PASS, /* type */ - "pcom", /* name */ - OPTGROUP_LOOP, /* optinfo_flags */ - true, /* has_gate */ - true, /* has_execute */ - TV_PREDCOM, /* tv_id */ - PROP_cfg, /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - TODO_update_ssa_only_virtuals, /* todo_flags_finish */ -}; - -class pass_predcom : public gimple_opt_pass -{ -public: - pass_predcom (gcc::context *ctxt) - : gimple_opt_pass (pass_data_predcom, ctxt) - {} - - /* opt_pass methods: */ - bool gate () { return gate_tree_predictive_commoning (); } - unsigned int execute () { return run_tree_predictive_commoning (); } - -}; // class pass_predcom - -} // anon namespace - -gimple_opt_pass * -make_pass_predcom (gcc::context *ctxt) -{ - return new pass_predcom (ctxt); -} - /* Loop autovectorization. */ static unsigned int @@ -244,110 +189,6 @@ make_pass_vectorize (gcc::context *ctxt) return new pass_vectorize (ctxt); } -/* GRAPHITE optimizations. */ - -static unsigned int -graphite_transforms (void) -{ - if (!current_loops) - return 0; - - graphite_transform_loops (); - - return 0; -} - -static bool -gate_graphite_transforms (void) -{ - /* Enable -fgraphite pass if any one of the graphite optimization flags - is turned on. */ - if (flag_loop_block - || flag_loop_interchange - || flag_loop_strip_mine - || flag_graphite_identity - || flag_loop_parallelize_all - || flag_loop_optimize_isl) - flag_graphite = 1; - - return flag_graphite != 0; -} - -namespace { - -const pass_data pass_data_graphite = -{ - GIMPLE_PASS, /* type */ - "graphite0", /* name */ - OPTGROUP_LOOP, /* optinfo_flags */ - true, /* has_gate */ - false, /* has_execute */ - TV_GRAPHITE, /* tv_id */ - ( PROP_cfg | PROP_ssa ), /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - 0, /* todo_flags_finish */ -}; - -class pass_graphite : public gimple_opt_pass -{ -public: - pass_graphite (gcc::context *ctxt) - : gimple_opt_pass (pass_data_graphite, ctxt) - {} - - /* opt_pass methods: */ - bool gate () { return gate_graphite_transforms (); } - -}; // class pass_graphite - -} // anon namespace - -gimple_opt_pass * -make_pass_graphite (gcc::context *ctxt) -{ - return new pass_graphite (ctxt); -} - -namespace { - -const pass_data pass_data_graphite_transforms = -{ - GIMPLE_PASS, /* type */ - "graphite", /* name */ - OPTGROUP_LOOP, /* optinfo_flags */ - true, /* has_gate */ - true, /* has_execute */ - TV_GRAPHITE_TRANSFORMS, /* tv_id */ - ( PROP_cfg | PROP_ssa ), /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - 0, /* todo_flags_finish */ -}; - -class pass_graphite_transforms : public gimple_opt_pass -{ -public: - pass_graphite_transforms (gcc::context *ctxt) - : gimple_opt_pass (pass_data_graphite_transforms, ctxt) - {} - - /* opt_pass methods: */ - bool gate () { return gate_graphite_transforms (); } - unsigned int execute () { return graphite_transforms (); } - -}; // class pass_graphite_transforms - -} // anon namespace - -gimple_opt_pass * -make_pass_graphite_transforms (gcc::context *ctxt) -{ - return new pass_graphite_transforms (ctxt); -} - /* Check the correctness of the data dependence analyzers. */ static unsigned int @@ -501,63 +342,6 @@ make_pass_record_bounds (gcc::context *ctxt) return new pass_record_bounds (ctxt); } -/* Parallelization. */ - -static bool -gate_tree_parallelize_loops (void) -{ - return flag_tree_parallelize_loops > 1; -} - -static unsigned -tree_parallelize_loops (void) -{ - if (number_of_loops (cfun) <= 1) - return 0; - - if (parallelize_loops ()) - return TODO_cleanup_cfg | TODO_rebuild_alias; - return 0; -} - -namespace { - -const pass_data pass_data_parallelize_loops = -{ - GIMPLE_PASS, /* type */ - "parloops", /* name */ - OPTGROUP_LOOP, /* optinfo_flags */ - true, /* has_gate */ - true, /* has_execute */ - TV_TREE_PARALLELIZE_LOOPS, /* tv_id */ - ( PROP_cfg | PROP_ssa ), /* properties_required */ - 0, /* properties_provided */ - 0, /* properties_destroyed */ - 0, /* todo_flags_start */ - TODO_verify_flow, /* todo_flags_finish */ -}; - -class pass_parallelize_loops : public gimple_opt_pass -{ -public: - pass_parallelize_loops (gcc::context *ctxt) - : gimple_opt_pass (pass_data_parallelize_loops, ctxt) - {} - - /* opt_pass methods: */ - bool gate () { return gate_tree_parallelize_loops (); } - unsigned int execute () { return tree_parallelize_loops (); } - -}; // class pass_parallelize_loops - -} // anon namespace - -gimple_opt_pass * -make_pass_parallelize_loops (gcc::context *ctxt) -{ - return new pass_parallelize_loops (ctxt); -} - /* Induction variable optimizations. */ static unsigned int |