1  /* Header file for normal form into SSA.
       2     Copyright (C) 2013-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_TREE_INTO_SSA_H
      21  #define GCC_TREE_INTO_SSA_H
      22  
      23  extern tree get_current_def (tree);
      24  extern void set_current_def (tree, tree);
      25  void delete_update_ssa (void);
      26  tree create_new_def_for (tree, gimple *, def_operand_p);
      27  void mark_virtual_operands_for_renaming (struct function *);
      28  void mark_virtual_operand_for_renaming (tree);
      29  void mark_virtual_phi_result_for_renaming (gphi *);
      30  bool need_ssa_update_p (struct function *);
      31  bool name_registered_for_update_p (tree);
      32  void release_ssa_name_after_update_ssa (tree);
      33  void update_ssa (unsigned);
      34  
      35  /* Prototypes for debugging functions.  */
      36  extern void debug_decl_set (bitmap set);
      37  extern void dump_defs_stack (FILE *, int);
      38  extern void debug_defs_stack (int);
      39  extern void dump_currdefs (FILE *);
      40  extern void debug_currdefs (void);
      41  extern void dump_tree_ssa (FILE *);
      42  extern void debug_tree_ssa (void);
      43  extern void dump_tree_ssa_stats (FILE *);
      44  extern void debug_tree_ssa_stats (void);
      45  extern void dump_var_infos (FILE *);
      46  extern void debug_var_infos (void);
      47  extern void dump_names_replaced_by (FILE *, tree);
      48  extern void debug_names_replaced_by (tree);
      49  extern void dump_update_ssa (FILE *);
      50  extern void debug_update_ssa (void);
      51  extern bitmap names_to_release;
      52  
      53  #endif /* GCC_TREE_INTO_SSA_H */