1 1.12 mrg /* Exported functions from alias.cc 2 1.12 mrg Copyright (C) 2004-2022 Free Software Foundation, Inc. 3 1.1 mrg 4 1.1 mrg This file is part of GCC. 5 1.1 mrg 6 1.1 mrg GCC is free software; you can redistribute it and/or modify it under 7 1.1 mrg the terms of the GNU General Public License as published by the Free 8 1.1 mrg Software Foundation; either version 3, or (at your option) any later 9 1.1 mrg version. 10 1.1 mrg 11 1.1 mrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12 1.1 mrg WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 1.1 mrg FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 1.1 mrg for more details. 15 1.1 mrg 16 1.1 mrg You should have received a copy of the GNU General Public License 17 1.1 mrg along with GCC; see the file COPYING3. If not see 18 1.1 mrg <http://www.gnu.org/licenses/>. */ 19 1.1 mrg 20 1.1 mrg #ifndef GCC_ALIAS_H 21 1.1 mrg #define GCC_ALIAS_H 22 1.1 mrg 23 1.1 mrg extern alias_set_type new_alias_set (void); 24 1.1 mrg extern alias_set_type get_alias_set (tree); 25 1.1 mrg extern alias_set_type get_deref_alias_set (tree); 26 1.1 mrg extern alias_set_type get_varargs_alias_set (void); 27 1.1 mrg extern alias_set_type get_frame_alias_set (void); 28 1.5 mrg extern tree component_uses_parent_alias_set_from (const_tree); 29 1.11 mrg extern bool ends_tbaa_access_path_p (const_tree); 30 1.1 mrg extern bool alias_set_subset_of (alias_set_type, alias_set_type); 31 1.1 mrg extern void record_alias_subset (alias_set_type, alias_set_type); 32 1.1 mrg extern void record_component_aliases (tree); 33 1.1 mrg extern int alias_sets_conflict_p (alias_set_type, alias_set_type); 34 1.1 mrg extern int alias_sets_must_conflict_p (alias_set_type, alias_set_type); 35 1.1 mrg extern int objects_must_conflict_p (tree, tree); 36 1.3 mrg extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool); 37 1.6 mrg extern void dump_alias_stats_in_alias_c (FILE *s); 38 1.5 mrg tree reference_alias_ptr_type (tree); 39 1.12 mrg tree reference_alias_ptr_type_1 (tree *); 40 1.5 mrg bool alias_ptr_types_compatible_p (tree, tree); 41 1.6 mrg int compare_base_decls (tree, tree); 42 1.11 mrg bool refs_same_for_tbaa_p (tree, tree); 43 1.12 mrg bool mems_same_for_tbaa_p (rtx, rtx); 44 1.1 mrg 45 1.1 mrg /* This alias set can be used to force a memory to conflict with all 46 1.1 mrg other memories, creating a barrier across which no memory reference 47 1.1 mrg can move. Note that there are other legacy ways to create such 48 1.1 mrg memory barriers, including an address of SCRATCH. */ 49 1.1 mrg #define ALIAS_SET_MEMORY_BARRIER ((alias_set_type) -1) 50 1.1 mrg 51 1.1 mrg #endif /* GCC_ALIAS_H */ 52