diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2024-06-24 10:29:06 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2024-06-24 22:14:48 -0400 |
commit | 4c8b085820f057d1397d91c1ed1c20bed09eb054 (patch) | |
tree | d9ac802ab0a85a19dff2aad6bd5c0d8dbc4a9b27 /gcc/tree-vrp.cc | |
parent | c3be325dd165edbe6b1570f54015b3ea8a43862b (diff) | |
download | gcc-4c8b085820f057d1397d91c1ed1c20bed09eb054.zip gcc-4c8b085820f057d1397d91c1ed1c20bed09eb054.tar.gz gcc-4c8b085820f057d1397d91c1ed1c20bed09eb054.tar.bz2 |
Make transitive relations an oracle option
This patch makes processing of transitive relations configurable at
dom_oracle creation.
* tree-vrp.cc (execute_fast_vrp): Do not use transitive relations.
* value-query.cc (range_query::create_relation_oracle): Add
parameter to enable transitive relations.
* value-query.h (range_query::create_relation_oracle): Likewise.
* value-relation.h (dom_oracle::dom_oracle): Likewise.
* value-relation.cc (dom_oracle::dom_oracle): Likewise.
(dom_oracle::register_transitives): Check transitive flag.
Diffstat (limited to 'gcc/tree-vrp.cc')
-rw-r--r-- | gcc/tree-vrp.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vrp.cc b/gcc/tree-vrp.cc index 4fc33e6..26979b7 100644 --- a/gcc/tree-vrp.cc +++ b/gcc/tree-vrp.cc @@ -1258,7 +1258,8 @@ execute_fast_vrp (struct function *fun, bool final_p) gcc_checking_assert (!fun->x_range_query); fun->x_range_query = &dr; - get_range_query (fun)->create_relation_oracle (); + // Create a relation oracle without transitives. + get_range_query (fun)->create_relation_oracle (false); folder.substitute_and_fold (); if (folder.m_unreachable) |