xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/tree-into-ssa.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
11debfc3dSmrg /* Header file for normal form into SSA.
2*8feb0f0bSmrg    Copyright (C) 2013-2020 Free Software Foundation, Inc.
31debfc3dSmrg 
41debfc3dSmrg This file is part of GCC.
51debfc3dSmrg 
61debfc3dSmrg GCC is free software; you can redistribute it and/or modify it under
71debfc3dSmrg the terms of the GNU General Public License as published by the Free
81debfc3dSmrg Software Foundation; either version 3, or (at your option) any later
91debfc3dSmrg version.
101debfc3dSmrg 
111debfc3dSmrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY
121debfc3dSmrg WARRANTY; without even the implied warranty of MERCHANTABILITY or
131debfc3dSmrg FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
141debfc3dSmrg  for more details.
151debfc3dSmrg 
161debfc3dSmrg You should have received a copy of the GNU General Public License
171debfc3dSmrg along with GCC; see the file COPYING3.  If not see
181debfc3dSmrg <http://www.gnu.org/licenses/>.  */
191debfc3dSmrg 
201debfc3dSmrg #ifndef GCC_TREE_INTO_SSA_H
211debfc3dSmrg #define GCC_TREE_INTO_SSA_H
221debfc3dSmrg 
231debfc3dSmrg extern tree get_current_def (tree);
241debfc3dSmrg extern void set_current_def (tree, tree);
251debfc3dSmrg void delete_update_ssa (void);
261debfc3dSmrg tree create_new_def_for (tree, gimple *, def_operand_p);
271debfc3dSmrg void mark_virtual_operands_for_renaming (struct function *);
281debfc3dSmrg void mark_virtual_operand_for_renaming (tree);
291debfc3dSmrg void mark_virtual_phi_result_for_renaming (gphi *);
301debfc3dSmrg bool need_ssa_update_p (struct function *);
311debfc3dSmrg bool name_registered_for_update_p (tree);
321debfc3dSmrg void release_ssa_name_after_update_ssa (tree);
331debfc3dSmrg void update_ssa (unsigned);
341debfc3dSmrg 
351debfc3dSmrg /* Prototypes for debugging functions.  */
361debfc3dSmrg extern void debug_decl_set (bitmap set);
371debfc3dSmrg extern void dump_defs_stack (FILE *, int);
381debfc3dSmrg extern void debug_defs_stack (int);
391debfc3dSmrg extern void dump_currdefs (FILE *);
401debfc3dSmrg extern void debug_currdefs (void);
411debfc3dSmrg extern void dump_tree_ssa (FILE *);
421debfc3dSmrg extern void debug_tree_ssa (void);
431debfc3dSmrg extern void dump_tree_ssa_stats (FILE *);
441debfc3dSmrg extern void debug_tree_ssa_stats (void);
451debfc3dSmrg extern void dump_var_infos (FILE *);
461debfc3dSmrg extern void debug_var_infos (void);
471debfc3dSmrg extern void dump_names_replaced_by (FILE *, tree);
481debfc3dSmrg extern void debug_names_replaced_by (tree);
491debfc3dSmrg extern void dump_update_ssa (FILE *);
501debfc3dSmrg extern void debug_update_ssa (void);
511debfc3dSmrg extern bitmap names_to_release;
521debfc3dSmrg 
531debfc3dSmrg #endif /* GCC_TREE_INTO_SSA_H */
54