diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2020-06-10 13:18:11 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2020-06-10 13:18:11 +0200 |
commit | 9c7dce1bc5fd90c660f9065cfdc10ea6c4742fdc (patch) | |
tree | 908255a8d54e986f5122fe2e91fc1ae65d28a33f /gcc | |
parent | 784003f0d53fc19ae3a53be2dd57888422469c3a (diff) | |
download | gcc-9c7dce1bc5fd90c660f9065cfdc10ea6c4742fdc.zip gcc-9c7dce1bc5fd90c660f9065cfdc10ea6c4742fdc.tar.gz gcc-9c7dce1bc5fd90c660f9065cfdc10ea6c4742fdc.tar.bz2 |
Move evrp trapping conditional to its own function.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/gimple-ssa-evrp.c | 6 | ||||
-rw-r--r-- | gcc/misc.h | 6 | ||||
-rw-r--r-- | gcc/vr-values.c | 3 |
3 files changed, 11 insertions, 4 deletions
diff --git a/gcc/gimple-ssa-evrp.c b/gcc/gimple-ssa-evrp.c index c4b39d7..16b6432 100644 --- a/gcc/gimple-ssa-evrp.c +++ b/gcc/gimple-ssa-evrp.c @@ -347,14 +347,14 @@ public: void tmp_stats_remove_stmt (gimple *stmt, tree lhs) OVERRIDE { - if (flag_rvrp1_changes > 0) + if (evrp_trap_p ()) m_gimple_state.remove (stmt, lhs); } void tmp_stats_changed_phi (gphi *orig_phi, gphi *new_phi) OVERRIDE { gimple *save = m_gimple_state.save (orig_phi); - if (flag_rvrp1_changes > 0) + if (evrp_trap_p ()) m_gimple_state.trap_if_gimple_changed (new_phi); m_gimple_state.save (save); } @@ -373,7 +373,7 @@ public: bool fold_stmt (gimple_stmt_iterator *gsi) { bool res = simplifier.simplify (gsi); - if (flag_rvrp1_changes > 0) + if (evrp_trap_p ()) m_gimple_state.trap_if_gimple_changed (gsi_stmt (*gsi)); return res; } @@ -69,3 +69,9 @@ private: const irange *m_new_range; class vr_values *m_vr_values; }; + +static inline bool +evrp_trap_p () +{ + return flag_rvrp1_changes > 0; +} diff --git a/gcc/vr-values.c b/gcc/vr-values.c index 28911dc..5f9e64e 100644 --- a/gcc/vr-values.c +++ b/gcc/vr-values.c @@ -51,6 +51,7 @@ along with GCC; see the file COPYING3. If not see #include "cfghooks.h" #include "range-op.h" #include "gimple-range-stmt.h" +#include "misc.h" /* Set value range VR to a non-negative range of type TYPE. */ @@ -4010,7 +4011,7 @@ simplify_conversion_using_ranges (gimple_stmt_iterator *gsi, gimple *stmt) // FIXME: This conversion has nothing to do with ranges, and the way // it uses global ranges versus local ranges is interfering with our // ability to diagnose differences between evrp and rvrp1. - if (flag_rvrp1_changes > 0) + if (evrp_trap_p ()) return false; /* Get the value-range of the inner operand. Use get_range_info in |