OSDN Git Service

2008-05-01 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / tree-ssa-sccvn.h
index 1f8f83b..ecc3297 100644 (file)
@@ -44,19 +44,22 @@ typedef struct vn_ssa_aux
      once.  It cannot be used to avoid visitation for SSA_NAME's
      involved in non-singleton SCC's.  */
   unsigned use_processed : 1;
+
+  /* Whether the SSA_NAME has no defining statement and thus an
+     insertion of such with EXPR as definition is required before
+     a use can be created of it.  */
+  unsigned needs_insertion : 1;
 } *vn_ssa_aux_t;
 
 /* Return the value numbering info for an SSA_NAME.  */
 extern vn_ssa_aux_t VN_INFO (tree);
 extern vn_ssa_aux_t VN_INFO_GET (tree);
-bool run_scc_vn (void);
+bool run_scc_vn (bool);
 void free_scc_vn (void);
 void switch_to_PRE_table (void);
-tree vn_binary_op_lookup (tree);
-void vn_binary_op_insert (tree, tree);
-tree vn_unary_op_lookup (tree);
-void vn_unary_op_insert (tree, tree);
-tree vn_reference_lookup (tree, VEC (tree, gc) *);
+tree vn_nary_op_lookup (tree);
+void vn_nary_op_insert (tree, tree);
+tree vn_reference_lookup (tree, VEC (tree, gc) *, bool);
 void vn_reference_insert (tree, tree, VEC (tree, gc) *);
 VEC (tree, gc) *shared_vuses_from_stmt (tree);
 VEC (tree, gc) *copy_vuses_from_stmt (tree);