diff options
author | Richard Biener <rguenther@suse.de> | 2019-07-31 10:55:27 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-07-31 10:55:27 +0000 |
commit | f86c2e7196bdf285c0245064be96a0b2816e013a (patch) | |
tree | 5204ab9fd288bbc885bb9cf97b5d19de5a1051ae /gcc/vr-values.c | |
parent | f39b06395e90d8c70548eedadc30e880f6426b26 (diff) | |
download | gcc-f86c2e7196bdf285c0245064be96a0b2816e013a.zip gcc-f86c2e7196bdf285c0245064be96a0b2816e013a.tar.gz gcc-f86c2e7196bdf285c0245064be96a0b2816e013a.tar.bz2 |
vr-values.h (vr_values::swap_vr_value): New.
2019-07-31 Richard Biener <rguenther@suse.de>
* vr-values.h (vr_values::swap_vr_value): New.
(vr_values::free_value_range): likewise.
* vr-values.c (vr_values::swap_vr_value): Implement.
* gimple-ssa-evrp-analyze.h (evrp_range_analyzer::pop_value_range):
Do not return a range or take a var.
(evrp_range_analyzer::stack): Change back to recording a non-const
value_range *.
* gimple-ssa-evrp-analyze.c
(evrp_range_analyzer::record_ranges_from_stmt): Free unused
value-range.
(evrp_range_analyzer::pop_to_marker): Adjust.
(evrp_range_analyzer::push_value_range): Use new swap_vr_value.
(evrp_range_analyzer::pop_value_range): Likewise. Free the
no longer needed value-range.
From-SVN: r273930
Diffstat (limited to 'gcc/vr-values.c')
-rw-r--r-- | gcc/vr-values.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/vr-values.c b/gcc/vr-values.c index d033099..3acbdf6 100644 --- a/gcc/vr-values.c +++ b/gcc/vr-values.c @@ -4315,6 +4315,8 @@ vr_values::simplify_stmt_using_ranges (gimple_stmt_iterator *gsi) return false; } +/* Set the lattice entry for VAR to VR. */ + void vr_values::set_vr_value (tree var, value_range *vr) { @@ -4323,3 +4325,13 @@ vr_values::set_vr_value (tree var, value_range *vr) vr_value[SSA_NAME_VERSION (var)] = vr; } +/* Swap the lattice entry for VAR with VR and return the old entry. */ + +value_range * +vr_values::swap_vr_value (tree var, value_range *vr) +{ + if (SSA_NAME_VERSION (var) >= num_vr_values) + return NULL; + std::swap (vr_value[SSA_NAME_VERSION (var)], vr); + return vr; +} |