[COMMITTED] Refactor vrp_evaluate_conditional* and rename it.
Checks
Commit Message
gcc/ChangeLog:
* vr-values.cc
(simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops):
Rename to...
(simplify_using_ranges::legacy_fold_cond_overflow): ...this.
(simplify_using_ranges::vrp_visit_cond_stmt): Rename to...
(simplify_using_ranges::legacy_fold_cond): ...this.
(simplify_using_ranges::fold_cond): Rename
vrp_evaluate_conditional_warnv_with_ops to
legacy_fold_cond_overflow.
* vr-values.h (class vr_values): Replace vrp_visit_cond_stmt and
vrp_evaluate_conditional_warnv_with_ops with legacy_fold_cond and
legacy_fold_cond_overflow respectively.
---
gcc/vr-values.cc | 25 +++++++++++--------------
gcc/vr-values.h | 5 ++---
2 files changed, 13 insertions(+), 17 deletions(-)
@@ -638,20 +638,21 @@ simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops_using_ranges
return res;
}
-/* Helper function for vrp_evaluate_conditional_warnv. */
+/* Helper function for legacy_fold_cond. */
tree
-simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops
- (gimple *stmt,
- enum tree_code code,
- tree op0, tree op1,
- bool *strict_overflow_p,
- bool *only_ranges)
+simplify_using_ranges::legacy_fold_cond_overflow (gimple *stmt,
+ bool *strict_overflow_p,
+ bool *only_ranges)
{
tree ret;
if (only_ranges)
*only_ranges = true;
+ tree_code code = gimple_cond_code (stmt);
+ tree op0 = gimple_cond_lhs (stmt);
+ tree op1 = gimple_cond_rhs (stmt);
+
/* We only deal with integral and pointer types. */
if (!INTEGRAL_TYPE_P (TREE_TYPE (op0))
&& !POINTER_TYPE_P (TREE_TYPE (op0)))
@@ -736,7 +737,7 @@ simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops
*TAKEN_EDGE_P. Otherwise, set *TAKEN_EDGE_P to NULL. */
void
-simplify_using_ranges::vrp_visit_cond_stmt (gcond *stmt, edge *taken_edge_p)
+simplify_using_ranges::legacy_fold_cond (gcond *stmt, edge *taken_edge_p)
{
tree val;
@@ -765,11 +766,7 @@ simplify_using_ranges::vrp_visit_cond_stmt (gcond *stmt, edge *taken_edge_p)
}
bool sop;
- val = vrp_evaluate_conditional_warnv_with_ops (stmt,
- gimple_cond_code (stmt),
- gimple_cond_lhs (stmt),
- gimple_cond_rhs (stmt),
- &sop, NULL);
+ val = legacy_fold_cond_overflow (stmt, &sop, NULL);
if (val)
*taken_edge_p = find_taken_edge (gimple_bb (stmt), val);
@@ -1471,7 +1468,7 @@ simplify_using_ranges::fold_cond (gcond *cond)
// FIXME: Audit the code below and make sure it never finds anything.
edge taken_edge;
- vrp_visit_cond_stmt (cond, &taken_edge);
+ legacy_fold_cond (cond, &taken_edge);
if (taken_edge)
{
@@ -35,9 +35,8 @@ public:
bool simplify (gimple_stmt_iterator *);
bool fold_cond (gcond *);
private:
- void vrp_visit_cond_stmt (gcond *, edge *);
- tree vrp_evaluate_conditional_warnv_with_ops (gimple *stmt, enum tree_code,
- tree, tree, bool *, bool *);
+ void legacy_fold_cond (gcond *, edge *);
+ tree legacy_fold_cond_overflow (gimple *stmt, bool *, bool *);
bool simplify_casted_cond (gcond *);
bool simplify_truth_ops_using_ranges (gimple_stmt_iterator *, gimple *);
bool simplify_div_or_mod_using_ranges (gimple_stmt_iterator *, gimple *);