(root)/
gcc-13.2.0/
gcc/
alias.h
       1  /* Exported functions from alias.cc
       2     Copyright (C) 2004-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 it under
       7  the terms of the GNU General Public License as published by the Free
       8  Software Foundation; either version 3, or (at your option) any later
       9  version.
      10  
      11  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  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 GCC_ALIAS_H
      21  #define GCC_ALIAS_H
      22  
      23  extern alias_set_type new_alias_set (void);
      24  extern alias_set_type get_alias_set (tree);
      25  extern alias_set_type get_deref_alias_set (tree);
      26  extern alias_set_type get_varargs_alias_set (void);
      27  extern alias_set_type get_frame_alias_set (void);
      28  extern tree component_uses_parent_alias_set_from (const_tree);
      29  extern bool ends_tbaa_access_path_p (const_tree);
      30  extern bool alias_set_subset_of (alias_set_type, alias_set_type);
      31  extern void record_alias_subset (alias_set_type, alias_set_type);
      32  extern void record_component_aliases (tree);
      33  extern int alias_sets_conflict_p (alias_set_type, alias_set_type);
      34  extern int alias_sets_must_conflict_p (alias_set_type, alias_set_type);
      35  extern int objects_must_conflict_p (tree, tree);
      36  extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool);
      37  extern void dump_alias_stats_in_alias_c (FILE *s);
      38  tree reference_alias_ptr_type (tree);
      39  tree reference_alias_ptr_type_1 (tree *);
      40  bool alias_ptr_types_compatible_p (tree, tree);
      41  int compare_base_decls (tree, tree);
      42  bool refs_same_for_tbaa_p (tree, tree);
      43  bool mems_same_for_tbaa_p (rtx, rtx);
      44  
      45  /* This alias set can be used to force a memory to conflict with all
      46     other memories, creating a barrier across which no memory reference
      47     can move.  Note that there are other legacy ways to create such
      48     memory barriers, including an address of SCRATCH.  */
      49  #define ALIAS_SET_MEMORY_BARRIER	((alias_set_type) -1)
      50  
      51  #endif /* GCC_ALIAS_H */