diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-09-15 14:43:51 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-09-17 14:06:15 -0400 |
commit | 3674d8e6fc6305507ed50b501f049f25f868458a (patch) | |
tree | b49fd671aec6bc4968383f0a6eaf076b369a1bdb /gcc/config.gcc | |
parent | 896fec24c8ef59b3520f5ded69dcd5bcf643c1f9 (diff) | |
download | gcc-3674d8e6fc6305507ed50b501f049f25f868458a.zip gcc-3674d8e6fc6305507ed50b501f049f25f868458a.tar.gz gcc-3674d8e6fc6305507ed50b501f049f25f868458a.tar.bz2 |
Virtualize relation oracle and various cleanups.
Standardize equiv_oracle API onto the new relation_oracle virtual base, and
then have dom_oracle inherit from that.
equiv_set always returns an equivalency set now, never NULL.
EQ_EXPR requires symmetry now. Each SSA name must be in the other equiv set.
Shuffle some routines around, simplify.
* gimple-range-cache.cc (ranger_cache::ranger_cache): Create a DOM
based oracle.
* gimple-range-fold.cc (fur_depend::register_relation): Use
register_stmt/edge routines.
* value-relation.cc (equiv_chain::find): Relocate from equiv_oracle.
(equiv_oracle::equiv_oracle): Create self equivalence cache.
(equiv_oracle::~equiv_oracle): Release same.
(equiv_oracle::equiv_set): Return entry from self equiv cache if there
are no equivalences.
(equiv_oracle::find_equiv_block): Move list find to equiv_chain.
(equiv_oracle::register_relation): Rename from register_equiv.
(relation_chain_head::find_relation): Relocate from dom_oracle.
(relation_oracle::register_stmt): New.
(relation_oracle::register_edge): New.
(dom_oracle::*): Rename from relation_oracle.
(dom_oracle::register_relation): Adjust to call equiv_oracle.
(dom_oracle::set_one_relation): Split from register_relation.
(dom_oracle::register_transitives): Consolidate 2 methods.
(dom_oracle::find_relation_block): Move core to relation_chain.
(dom_oracle::query_relation): Rename from find_relation_dom and adjust.
* value-relation.h (class relation_oracle): New pure virtual base.
(class equiv_oracle): Inherit from relation_oracle and adjust.
(class dom_oracle): Rename from old relation_oracle and adjust.
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions