aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-flow.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-08-09 13:13:07 -0600
committerJeff Law <law@gcc.gnu.org>2004-08-09 13:13:07 -0600
commit56b043c808696e62bde8e722741432a2b3caa032 (patch)
tree43d76704cc977318946377c4bb267eca1f611d0e /gcc/tree-flow.h
parent9b305d55bf262d8896f15f6766bbf77c7f4aeb12 (diff)
downloadgcc-56b043c808696e62bde8e722741432a2b3caa032.zip
gcc-56b043c808696e62bde8e722741432a2b3caa032.tar.gz
gcc-56b043c808696e62bde8e722741432a2b3caa032.tar.bz2
Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c (tree-ssa-threadupdate.o): Add dependencies. * tree-ssa-threadupdate.c: New file. * tree-flow.h (incoming_edge_threaded): New flag in block annotation. (rewrite_vars_out_of_ssa): Remove prototype. (cleanup_tree_cfg): Returns a bool. * tree.h (thread_through_all_blocks): Prototype. * tree-outof-ssa.c (SSANORM_*): Move into here. (remove_ssa_form): Now static. (rewrite_vars_out_of_ssa): Kill. * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill. * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c. (remove_ssa_form, register_partitions_for_vars): Kill declarations. * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if anything was changed. * tree-phinodes.c (add_phi_arg): Get the block for the PHI from the PHI's annotation rather than the edge associated with the new argument. * tree-ssa-dom.c (redirection_edges): Kill. (redirect_edges_and_update_ssa_graph): Kill. (tree_ssa_dominator_optimize): Do not reset forwardable flag for blocks anymore. Do not initialize redirection_edges. Call thread_through_all_blocks. Simplify code for cleanup of the CFG and iterating. No longer call cleanup_tree_cfg outside the iteration loop. (thread_across_edge): No longer mess with forwardable blocks. From-SVN: r85721
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r--gcc/tree-flow.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index f55943b..d4700354 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -356,6 +356,10 @@ struct bb_ann_d GTY(())
/* Nonzero if this block contains an escape point (see is_escape_site). */
unsigned has_escape_site : 1;
+ /* Nonzero if one or more incoming edges to this block should be threaded
+ to an outgoing edge of this block. */
+ unsigned incoming_edge_threaded : 1;
+
struct edge_prediction *predictions;
};
@@ -474,7 +478,7 @@ extern void debug_loop_ir (void);
extern void print_loop_ir (FILE *);
extern void cleanup_dead_labels (void);
extern void group_case_labels (void);
-extern void cleanup_tree_cfg (void);
+extern bool cleanup_tree_cfg (void);
extern tree first_stmt (basic_block);
extern tree last_stmt (basic_block);
extern tree *last_stmt_ptr (basic_block);
@@ -561,7 +565,6 @@ typedef bool (*walk_use_def_chains_fn) (tree, tree, void *);
/* In tree-ssa.c */
extern void init_tree_ssa (void);
-extern void rewrite_vars_out_of_ssa (bitmap);
extern void dump_reaching_defs (FILE *);
extern void debug_reaching_defs (void);
extern void dump_tree_ssa (FILE *);