1 /* Header file for normal form into SSA.
2 Copyright (C) 2013-2014 Free Software Foundation, Inc.
4 This file is part of GCC.
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
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
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 GCC_TREE_INTO_SSA_H
21 #define GCC_TREE_INTO_SSA_H
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);
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);
52 #endif /* GCC_TREE_INTO_SSA_H */