public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-246] Remove compare_names* from legacy cond folding.
@ 2023-04-26 8:36 Aldy Hernandez
0 siblings, 0 replies; only message in thread
From: Aldy Hernandez @ 2023-04-26 8:36 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:f2b894b148755308de65593231721df4309fc6b3
commit r14-246-gf2b894b148755308de65593231721df4309fc6b3
Author: Aldy Hernandez <aldyh@redhat.com>
Date: Sun Nov 20 22:59:40 2022 +0100
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.
Diff:
---
gcc/vr-values.cc | 57 --------------------------------------------------------
gcc/vr-values.h | 2 --
2 files changed, 59 deletions(-)
diff --git a/gcc/vr-values.cc b/gcc/vr-values.cc
index 365f4976a39..1d757eeffc3 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 00fcf7702aa..a89902c9c51 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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-04-26 8:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-26 8:36 [gcc r14-246] Remove compare_names* from legacy cond folding Aldy Hernandez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).