diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2021-09-19 18:33:37 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2021-09-21 18:55:13 +0200 |
commit | 198bc5ece960557044483b1c72417759b4630f04 (patch) | |
tree | e42c52ba729ef9d4a9bbe718a5075b89de11e46e /gcc/gimple-range-fold.h | |
parent | 64b80b8819f9ea74712625bceb0ec4388e25f67d (diff) | |
download | gcc-198bc5ece960557044483b1c72417759b4630f04.zip gcc-198bc5ece960557044483b1c72417759b4630f04.tar.gz gcc-198bc5ece960557044483b1c72417759b4630f04.tar.bz2 |
Move postfold_gcond_edges into fur_source.
The code registering outgoing edges from a cond is living in
fold_using_range, which makes it difficult to be called from other
places. Also, it refuses to register relations on the outgoing
destinations that have more than one predecessor. This latter issue is
a problem because we would like to register outgoing edges along a path
in the path solver (regardless of single_pred_p).
gcc/ChangeLog:
* gimple-range-fold.cc (fold_using_range::range_of_range_op):
Rename postfold_gcond_edges to register_outgoing_edges and
adapt.
(fold_using_range::postfold_gcond_edges): Rename...
(fur_source::register_outgoing_edges): ...to this.
* gimple-range-fold.h (postfold_gcond_edges): Rename to
register_outgoing_edges and move to fur_source.
Diffstat (limited to 'gcc/gimple-range-fold.h')
-rw-r--r-- | gcc/gimple-range-fold.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gimple-range-fold.h b/gcc/gimple-range-fold.h index ceed7ba..d62d29b 100644 --- a/gcc/gimple-range-fold.h +++ b/gcc/gimple-range-fold.h @@ -129,6 +129,7 @@ public: tree op2); virtual void register_relation (edge e, relation_kind k, tree op1, tree op2); + void register_outgoing_edges (gcond *, irange &lhs_range, edge e0, edge e1); protected: range_query *m_query; gori_compute *m_gori; @@ -188,6 +189,5 @@ protected: void range_of_ssa_name_with_loop_info (irange &, tree, class loop *, gphi *, fur_source &src); void relation_fold_and_or (irange& lhs_range, gimple *s, fur_source &src); - void postfold_gcond_edges (gcond *s, irange &lhs_range, fur_source &src); }; #endif // GCC_GIMPLE_RANGE_FOLD_H |