Commit f2a7f77b by Jeff Law Committed by Jeff Law

tree-vrp.c (vrp_prop): Move class to earlier point in the file.

	* tree-vrp.c (vrp_prop): Move class to earlier point in the file.
	(vrp_folder): Likewise.

From-SVN: r254612
parent 51308fc3
2017-11-09 Jeff Law <law@redhat.com> 2017-11-09 Jeff Law <law@redhat.com>
* tree-vrp.c (vrp_prop): Move class to earlier point in the file.
(vrp_folder): Likewise.
* tree-vrp.c (set_value_range): Do not reference vrp_equiv_obstack. * tree-vrp.c (set_value_range): Do not reference vrp_equiv_obstack.
Get it from the existing bitmap instead. Get it from the existing bitmap instead.
(vrp_intersect_ranges_1): Likewise. (vrp_intersect_ranges_1): Likewise.
...@@ -6635,6 +6635,13 @@ insert_range_assertions (void) ...@@ -6635,6 +6635,13 @@ insert_range_assertions (void)
BITMAP_FREE (need_assert_for); BITMAP_FREE (need_assert_for);
} }
class vrp_prop : public ssa_propagation_engine
{
public:
enum ssa_prop_result visit_stmt (gimple *, edge *, tree *) FINAL OVERRIDE;
enum ssa_prop_result visit_phi (gphi *) FINAL OVERRIDE;
};
/* Checks one ARRAY_REF in REF, located at LOCUS. Ignores flexible arrays /* Checks one ARRAY_REF in REF, located at LOCUS. Ignores flexible arrays
and "struct" hacks. If VRP can determine that the and "struct" hacks. If VRP can determine that the
array subscript is a constant, check if it is outside valid array subscript is a constant, check if it is outside valid
...@@ -8066,13 +8073,6 @@ extract_range_from_stmt (gimple *stmt, edge *taken_edge_p, ...@@ -8066,13 +8073,6 @@ extract_range_from_stmt (gimple *stmt, edge *taken_edge_p,
vrp_visit_switch_stmt (as_a <gswitch *> (stmt), taken_edge_p); vrp_visit_switch_stmt (as_a <gswitch *> (stmt), taken_edge_p);
} }
class vrp_prop : public ssa_propagation_engine
{
public:
enum ssa_prop_result visit_stmt (gimple *, edge *, tree *) FINAL OVERRIDE;
enum ssa_prop_result visit_phi (gphi *) FINAL OVERRIDE;
};
/* Evaluate statement STMT. If the statement produces a useful range, /* Evaluate statement STMT. If the statement produces a useful range,
return SSA_PROP_INTERESTING and record the SSA name with the return SSA_PROP_INTERESTING and record the SSA name with the
interesting range into *OUTPUT_P. interesting range into *OUTPUT_P.
...@@ -10450,6 +10450,13 @@ simplify_stmt_using_ranges (gimple_stmt_iterator *gsi) ...@@ -10450,6 +10450,13 @@ simplify_stmt_using_ranges (gimple_stmt_iterator *gsi)
return false; return false;
} }
class vrp_folder : public substitute_and_fold_engine
{
public:
tree get_value (tree) FINAL OVERRIDE;
bool fold_stmt (gimple_stmt_iterator *) FINAL OVERRIDE;
};
/* If the statement pointed by SI has a predicate whose value can be /* If the statement pointed by SI has a predicate whose value can be
computed using the value range information computed by VRP, compute computed using the value range information computed by VRP, compute
its value and return true. Otherwise, return false. */ its value and return true. Otherwise, return false. */
...@@ -10512,13 +10519,6 @@ fold_predicate_in (gimple_stmt_iterator *si) ...@@ -10512,13 +10519,6 @@ fold_predicate_in (gimple_stmt_iterator *si)
return false; return false;
} }
class vrp_folder : public substitute_and_fold_engine
{
public:
tree get_value (tree) FINAL OVERRIDE;
bool fold_stmt (gimple_stmt_iterator *) FINAL OVERRIDE;
};
/* Callback for substitute_and_fold folding the stmt at *SI. */ /* Callback for substitute_and_fold folding the stmt at *SI. */
bool bool
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment