aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-range-fold.h
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2021-09-19 18:33:37 +0200
committerAldy Hernandez <aldyh@redhat.com>2021-09-21 18:55:13 +0200
commit198bc5ece960557044483b1c72417759b4630f04 (patch)
treee42c52ba729ef9d4a9bbe718a5075b89de11e46e /gcc/gimple-range-fold.h
parent64b80b8819f9ea74712625bceb0ec4388e25f67d (diff)
downloadgcc-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.h2
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