summaryrefslogtreecommitdiffstats
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-05 20:14:59 +0000
committerrakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-05 20:14:59 +0000
commitc8d055f657b3a033072fca9dc9501bffd927b04d (patch)
treef9c43362e6fd6ea70ca28c6eb34ce8db0d770637 /gcc/tree-vrp.c
parentdd7622e6d3b955a40e1b8e7973dfedfa57dad5e6 (diff)
downloadppe42-gcc-c8d055f657b3a033072fca9dc9501bffd927b04d.tar.gz
ppe42-gcc-c8d055f657b3a033072fca9dc9501bffd927b04d.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110620 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index e80f385206f..0938d6ce28b 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;
}
OpenPOWER on IntegriCloud