aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-11-20 22:59:40 +0100
committerAldy Hernandez <aldyh@redhat.com>2023-04-26 10:28:12 +0200
commitf2b894b148755308de65593231721df4309fc6b3 (patch)
tree706dde65a3f0441b8a41e907986e2f066c19b4b6 /gcc
parent1f0bfbb26e532cef7347a91439008114fd88173a (diff)
downloadgcc-f2b894b148755308de65593231721df4309fc6b3.zip
gcc-f2b894b148755308de65593231721df4309fc6b3.tar.gz
gcc-f2b894b148755308de65593231721df4309fc6b3.tar.bz2
Remove compare_names* from legacy cond folding.
In a test run I have asserted that the legacy conditional folding only gets overflows, so this removal is safe. gcc/ChangeLog: * vr-values.cc (get_vr_for_comparison): Remove. (compare_name_with_value): Same. (vrp_evaluate_conditional_warnv_with_ops): Remove calls to compare_name_with_value. * vr-values.h: Remove compare_name_with_value. Remove get_vr_for_comparison.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/vr-values.cc57
-rw-r--r--gcc/vr-values.h2
2 files changed, 0 insertions, 59 deletions
diff --git a/gcc/vr-values.cc b/gcc/vr-values.cc
index 365f497..1d757ee 100644
--- a/gcc/vr-values.cc
+++ b/gcc/vr-values.cc
@@ -615,58 +615,6 @@ bounds_of_var_in_loop (tree *min, tree *max, range_query *query,
return true;
}
-/* Helper that gets the value range of the SSA_NAME with version I
- or a symbolic range containing the SSA_NAME only if the value range
- is varying or undefined. Uses TEM as storage for the alternate range. */
-
-const value_range *
-simplify_using_ranges::get_vr_for_comparison (int i, value_range *tem,
- gimple *s)
-{
- /* Shallow-copy equiv bitmap. */
- const value_range *vr = query->get_value_range (ssa_name (i), s);
-
- /* If name N_i does not have a valid range, use N_i as its own
- range. This allows us to compare against names that may
- have N_i in their ranges. */
- if (vr->varying_p () || vr->undefined_p ())
- {
- tree ssa = ssa_name (i);
- tem->set (ssa, ssa);
- return tem;
- }
-
- return vr;
-}
-
-/* Compare all the value ranges for names equivalent to VAR with VAL
- using comparison code COMP. Return the same value returned by
- compare_range_with_value, including the setting of
- *STRICT_OVERFLOW_P. */
-
-tree
-simplify_using_ranges::compare_name_with_value
- (enum tree_code comp, tree var, tree val,
- bool *strict_overflow_p, gimple *s)
-{
- /* Start at -1. Set it to 0 if we do a comparison without relying
- on overflow, or 1 if all comparisons rely on overflow. */
- int used_strict_overflow = -1;
-
- /* Compare vars' value range with val. */
- value_range tem_vr;
- const value_range *equiv_vr
- = get_vr_for_comparison (SSA_NAME_VERSION (var), &tem_vr, s);
- bool sop = false;
- tree retval = compare_range_with_value (comp, equiv_vr, val, &sop);
- if (retval)
- used_strict_overflow = sop ? 1 : 0;
-
- if (retval && used_strict_overflow > 0)
- *strict_overflow_p = true;
- return retval;
-}
-
/* Helper function for vrp_evaluate_conditional_warnv & other
optimizers. */
@@ -780,11 +728,6 @@ simplify_using_ranges::vrp_evaluate_conditional_warnv_with_ops
return ret;
if (only_ranges)
*only_ranges = false;
- if (TREE_CODE (op0) == SSA_NAME)
- return compare_name_with_value (code, op0, op1, strict_overflow_p, stmt);
- else if (TREE_CODE (op1) == SSA_NAME)
- return compare_name_with_value (swap_tree_comparison (code), op1, op0,
- strict_overflow_p, stmt);
return NULL_TREE;
}
diff --git a/gcc/vr-values.h b/gcc/vr-values.h
index 00fcf77..a89902c 100644
--- a/gcc/vr-values.h
+++ b/gcc/vr-values.h
@@ -52,8 +52,6 @@ private:
bool two_valued_val_range_p (tree, tree *, tree *, gimple *);
bool op_with_boolean_value_range_p (tree, gimple *);
- tree compare_name_with_value (enum tree_code, tree, tree, bool *, gimple *);
- const value_range *get_vr_for_comparison (int, value_range *, gimple *s);
tree vrp_evaluate_conditional_warnv_with_ops_using_ranges (enum tree_code,
tree, tree,
bool *, gimple *s);