aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2020-06-10 13:18:11 +0200
committerAldy Hernandez <aldyh@redhat.com>2020-06-10 13:18:11 +0200
commit9c7dce1bc5fd90c660f9065cfdc10ea6c4742fdc (patch)
tree908255a8d54e986f5122fe2e91fc1ae65d28a33f /gcc
parent784003f0d53fc19ae3a53be2dd57888422469c3a (diff)
downloadgcc-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.c6
-rw-r--r--gcc/misc.h6
-rw-r--r--gcc/vr-values.c3
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;
}
diff --git a/gcc/misc.h b/gcc/misc.h
index 60d3893..2cfe6e4 100644
--- a/gcc/misc.h
+++ b/gcc/misc.h
@@ -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