Provide a relation oracle for paths.
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 17 Sep 2021 13:48:35 +0000 (09:48 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Fri, 17 Sep 2021 18:06:15 +0000 (14:06 -0400)
commit534c5352a02485a41ebfb133b42edbbecba7eba3
treeccb6e2e2a07b87cd0ddd33df9553e1eea6eab188
parent3674d8e6fc6305507ed50b501f049f25f868458a
Provide a relation oracle for paths.

This provides a path_oracle class which can optionally be used in conjunction
with another oracle to track relations on a path as it is walked.

* value-relation.cc (class equiv_chain): Move to header file.
(path_oracle::path_oracle): New.
(path_oracle::~path_oracle): New.
(path_oracle::register_relation): New.
(path_oracle::query_relation): New.
(path_oracle::reset_path): New.
(path_oracle::dump): New.
* value-relation.h (class equiv_chain): Move to here.
(class path_oracle): New.
gcc/value-relation.cc
gcc/value-relation.h