c++: top level bind when rewriting coroutines [PR106188]
[official-gcc.git] / gcc / tree-ssa-alias-compare.h
blob44836401f0cee2bb7f9f4820375709356452df0e
1 /* Comparsion of AO ref.
2 Copyright (C) 2020-2022 Free Software Foundation, Inc.
4 This file is part of GCC.
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.
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.
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/>. */
20 #ifndef TREE_SSA_ALIAS_COMPARE_H
21 #define TREE_SSA_ALIAS_COMPARE_H
23 class operand_compare;
24 /* A class aggregating all connections and semantic equivalents
25 for a given pair of semantic function candidates. */
26 class ao_compare : public operand_compare
28 public:
29 enum ao_ref_diff
31 SEMANTICS = 1,
32 BASE_ALIAS_SET = 2,
33 REF_ALIAS_SET = 4,
34 ACCESS_PATH = 8,
35 DEPENDENCE_CLIQUE = 16
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);
43 #endif