diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2022-05-12 12:00:39 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2022-05-13 11:04:15 -0400 |
commit | ade5531c9dde98c7be005a5c5382739d734797aa (patch) | |
tree | 10a4873e8cb4956ea7a583bc9253a2edf30aa232 /gcc/gimple-range-path.cc | |
parent | f3204ce1ae6b97f7e79d633844d61d021da8502e (diff) | |
download | gcc-ade5531c9dde98c7be005a5c5382739d734797aa.zip gcc-ade5531c9dde98c7be005a5c5382739d734797aa.tar.gz gcc-ade5531c9dde98c7be005a5c5382739d734797aa.tar.bz2 |
Move VREL values to their own enumerated type.
Re-using some common things like EQ_EXPR and other relationals made
certain things easier, but complicated debugging and added extra overhead
when accessing lookup tables. With forthcoming additional relation types,
it makes more sense to simple have a distinct relation kind.
* gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
enumerated values.
* gimple-range-path.cc (maybe_register_phi_relation): Ditto.
* range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
new VREL enumerated values.
(*::lhs_op2_relation): Ditto.
(*::op1_op2_relation): Ditto.
(*::fold_range): Use new VREL enumerated values.
(minus_op1_op2_relation_effect): Ditto.
(range_relational_tests): Ditto.
* range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
(lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
relation_kind.
(*_op1_op2_relation): Return relation_kind.
(relop_early_resolve): Use VREL_UNDEFINED.
* value-query.cc (range_query::query_relation): Use VREL_VARYING.
* value-relation.cc (VREL_LAST): Change enumerated value.
(vrel_range_assert): Delete.
(print_relation): Remove range assert.
(rr_negate_table): Adjust table to use new enumerated values..
(relation_negate): Remove range assert.
(rr_swap_table): Adjust.
(relation_swap): Remove range assert.
(rr_intersect_table): Adjust.
(relation_intersect): Remove range assert.
(rr_union_table): Adjust.
(relation_union): Remove range assert.
(rr_transitive_table): Adjust.
(relation_transitive): Remove range assert.
(equiv_oracle::query_relation): Use new VREL enumerated values.
(equiv_oracle::register_relation): Ditto.
(relation_oracle::register_stmt): Ditto.
(dom_oracle::set_one_relation): Ditto.
(dom_oracle::register_transitives): Ditto.
(dom_oracle::query_relation): Ditto.
(path_oracle::register_relation): Ditto.
(path_oracle::query_relation): Ditto.
* value-relation.h (enum relation_kind_t): New relation_kind.
(*_op1_op2_relation): Adjust prototypes.
Diffstat (limited to 'gcc/gimple-range-path.cc')
-rw-r--r-- | gcc/gimple-range-path.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/gimple-range-path.cc b/gcc/gimple-range-path.cc index 483bcd2..ff39833 100644 --- a/gcc/gimple-range-path.cc +++ b/gcc/gimple-range-path.cc @@ -740,10 +740,10 @@ relation_kind jt_fur_source::query_relation (tree op1, tree op2) { if (!m_oracle) - return VREL_NONE; + return VREL_VARYING; if (TREE_CODE (op1) != SSA_NAME || TREE_CODE (op2) != SSA_NAME) - return VREL_NONE; + return VREL_VARYING; return m_oracle->query_relation (m_entry, op1, op2); } @@ -799,7 +799,7 @@ path_range_query::maybe_register_phi_relation (gphi *phi, edge e) fprintf (dump_file, "maybe_register_phi_relation in bb%d:", bb->index); get_path_oracle ()->killing_def (result); - m_oracle->register_relation (entry_bb (), EQ_EXPR, arg, result); + m_oracle->register_relation (entry_bb (), VREL_EQ, arg, result); } // Compute relations for each PHI in BB. For example: |