diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-02-05 21:14:59 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-02-05 20:14:59 +0000 |
commit | d78f3f787f098ce3c535883b1ba47c3b1820b983 (patch) | |
tree | f9c43362e6fd6ea70ca28c6eb34ce8db0d770637 /gcc/tree-vrp.c | |
parent | efb0828de397e990ed58d9429e4f70cd4694b718 (diff) | |
download | gcc-d78f3f787f098ce3c535883b1ba47c3b1820b983.zip gcc-d78f3f787f098ce3c535883b1ba47c3b1820b983.tar.gz gcc-d78f3f787f098ce3c535883b1ba47c3b1820b983.tar.bz2 |
tree-vrp.c (cfg_loops): Removed.
* tree-vrp.c (cfg_loops): Removed.
(adjust_range_with_scev, vrp_visit_assignment, execute_vrp):
Use current_loops instead of cfg_loops. Pass flags to
loop_optimizer_init.
* cfgloopmanip.c (fix_loop_structure): Update only available
information.
* tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to
loop_optimizer_init.
* modulo-sched.c (build_loops_structure): Removed.
(sms_schedule): Use loop_optimizer_init.
* loop-init.c (loop_optimizer_init): Use flags to determine
which properties of loops to prepare.
(rtl_loop_init): Pass flags to loop_optimizer_init.
* tree-ssa-sink.c (execute_sink_code): Ditto.
* tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
* tree-ssa-pre.c (init_pre): Ditto.
* cfgloop.h (LOOPS_NORMAL): New.
(loop_optimizer_init): Declaration changed.
From-SVN: r110620
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index e80f385..0938d6c 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -41,10 +41,6 @@ Boston, MA 02110-1301, USA. */ sub-graph in find_assert_locations. */ static sbitmap found_in_subgraph; -/* Loop structure of the program. Used to analyze scalar evolutions - inside adjust_range_with_scev. */ -static struct loops *cfg_loops; - /* Local functions. */ static int compare_values (tree val1, tree val2); @@ -1909,7 +1905,7 @@ adjust_range_with_scev (value_range_t *vr, struct loop *loop, tree stmt, /* Do not adjust ranges when chrec may wrap. */ if (scev_probably_wraps_p (chrec_type (chrec), init, step, stmt, - cfg_loops->parray[CHREC_VARIABLE (chrec)], + current_loops->parray[CHREC_VARIABLE (chrec)], &init_is_max, &unknown_max) || unknown_max) return; @@ -3278,7 +3274,7 @@ vrp_visit_assignment (tree stmt, tree *output_p) /* If STMT is inside a loop, we may be able to know something else about the range of LHS by examining scalar evolution information. */ - if (cfg_loops && (l = loop_containing_stmt (stmt))) + if (current_loops && (l = loop_containing_stmt (stmt))) adjust_range_with_scev (&new_vr, l, stmt, lhs); if (update_value_range (lhs, &new_vr)) @@ -4312,18 +4308,18 @@ execute_vrp (void) { insert_range_assertions (); - cfg_loops = loop_optimizer_init (NULL); - if (cfg_loops) - scev_initialize (cfg_loops); + current_loops = loop_optimizer_init (NULL, LOOPS_NORMAL); + if (current_loops) + scev_initialize (current_loops); vrp_initialize (); ssa_propagate (vrp_visit_stmt, vrp_visit_phi_node); vrp_finalize (); - if (cfg_loops) + if (current_loops) { scev_finalize (); - loop_optimizer_finalize (cfg_loops, NULL); + loop_optimizer_finalize (current_loops, NULL); current_loops = NULL; } |