1/* Comparsion of AO ref.
2 Copyright (C) 2020-2023 Free Software Foundation, Inc.
3
4 This file is part of GCC.
5
6 GCC is free software; you can redistribute it and/or modify
7 under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */
19
20#ifndef TREE_SSA_ALIAS_COMPARE_H
21#define TREE_SSA_ALIAS_COMPARE_H
22
23class operand_compare;
24/* A class aggregating all connections and semantic equivalents
25 for a given pair of semantic function candidates. */
26class ao_compare : public operand_compare
27{
28 public:
29 enum ao_ref_diff
30 {
31 SEMANTICS = 1,
32 BASE_ALIAS_SET = 2,
33 REF_ALIAS_SET = 4,
34 ACCESS_PATH = 8,
35 DEPENDENCE_CLIQUE = 16
36 };
37 int compare_ao_refs (ao_ref *ref1, ao_ref *ref2, bool lto_streaming_safe,
38 bool tbaa);
39 void hash_ao_ref (ao_ref *ref, bool lto_streaming_safe, bool tbaa,
40 inchash::hash &hstate);
41};
42
43#endif
44

source code of gcc/tree-ssa-alias-compare.h