summaryrefslogtreecommitdiff
path: root/gcc/tree-flow.h
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-28 08:50:19 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-28 08:50:19 +0000
commitf003f9fd5d444827a26d75acd2147e791a77ec3d (patch)
treeeeeda80bc63372aa4a48d848ceb4bb06bb28cb7c /gcc/tree-flow.h
parente6eacc4fd50a0bf2b24ab7f879084f3c90263353 (diff)
downloadgcc-f003f9fd5d444827a26d75acd2147e791a77ec3d.tar.gz
2009-04-28 Richard Guenther <rguenther@suse.de>
* tree.h (SSA_NAME_VALUE): Remove. (struct tree_ssa_name): Remove value_handle member. * tree-vrp.c (execute_vrp): Initialize/free the value-handle array for jump threading. * tree-ssa-propagate.c (ssa_prop_init): Do not initialize SSA_NAME_VALUEs. * print-tree.c (print_node): Do not dump SSA_NAME_VALUEs. * tree-flow.h (threadedge_initialize_values): Declare. (threadedge_finalize_values): Likewise. * tree-ssa-threadedge.c (ssa_name_values): New global variable. (SSA_NAME_VALUE): Define. (threadedge_initialize_values): New function. (threadedge_finalize_values): Likewise. * tree-ssa-dom.c (ssa_name_values): New global variable. (SSA_NAME_VALUE): Define. (tree_ssa_dominator_optimize): Initialize/free the value-handle array. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146877 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-flow.h')
-rw-r--r--gcc/tree-flow.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index 5fe75391ad7..a02eca5275b 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -803,6 +803,14 @@ bool stmt_dominates_stmt_p (gimple, gimple);
void mark_virtual_ops_for_renaming (gimple);
/* In tree-ssa-threadedge.c */
+extern void threadedge_initialize_values (void);
+extern void threadedge_finalize_values (void);
+extern VEC(tree,heap) *ssa_name_values;
+#define SSA_NAME_VALUE(x) \
+ (SSA_NAME_VERSION(x) < VEC_length(tree, ssa_name_values) \
+ ? VEC_index(tree, ssa_name_values, SSA_NAME_VERSION(x)) \
+ : NULL_TREE)
+extern void set_ssa_name_value (tree, tree);
extern bool potentially_threadable_block (basic_block);
extern void thread_across_edge (gimple, edge, bool,
VEC(tree, heap) **, tree (*) (gimple, gimple));