diff gcc/tree-ssa-sccvn.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children b7f97abdc517
line wrap: on
line diff
--- a/gcc/tree-ssa-sccvn.h	Sun Feb 07 18:28:00 2010 +0900
+++ b/gcc/tree-ssa-sccvn.h	Fri Feb 12 23:39:51 2010 +0900
@@ -21,6 +21,10 @@
 #ifndef TREE_SSA_SCCVN_H
 #define TREE_SSA_SCCVN_H
 
+/* In tree-ssa-sccvn.c  */
+bool expressions_equal_p (tree, tree);
+
+
 /* TOP of the VN lattice.  */
 extern tree VN_TOP;
 
@@ -79,20 +83,21 @@
 DEF_VEC_O(vn_reference_op_s);
 DEF_VEC_ALLOC_O(vn_reference_op_s, heap);
 
-/* A reference operation in the hashtable is representation as a
-   collection of vuses, representing the memory state at the time of
+/* A reference operation in the hashtable is representation as
+   the vuse, representing the memory state at the time of
    the operation, and a collection of operands that make up the
    addressing calculation.  If two vn_reference_t's have the same set
    of operands, they access the same memory location. We also store
-   the resulting value number, and the hashcode.  The vuses are
-   always stored in order sorted by ssa name version.  */
+   the resulting value number, and the hashcode.  */
 
 typedef struct vn_reference_s
 {
   /* Unique identifier that all expressions with the same value have. */
   unsigned int value_id;
   hashval_t hashcode;
-  VEC (tree, gc) *vuses;
+  tree vuse;
+  alias_set_type set;
+  tree type;
   VEC (vn_reference_op_s, heap) *operands;
   tree result;
 } *vn_reference_t;
@@ -174,14 +179,18 @@
 vn_nary_op_t vn_nary_op_insert_pieces (unsigned int, enum tree_code,
 				       tree, tree, tree, tree,
 				       tree, tree, unsigned int);
+void vn_reference_fold_indirect (VEC (vn_reference_op_s, heap) **,
+				 unsigned int *);
 void copy_reference_ops_from_ref (tree, VEC(vn_reference_op_s, heap) **);
 void copy_reference_ops_from_call (gimple, VEC(vn_reference_op_s, heap) **);
-tree vn_reference_lookup_pieces (VEC (tree, gc) *,
+bool ao_ref_init_from_vn_reference (ao_ref *, alias_set_type, tree,
+				    VEC (vn_reference_op_s, heap) *);
+tree vn_reference_lookup_pieces (tree, alias_set_type, tree,
 				 VEC (vn_reference_op_s, heap) *,
 				 vn_reference_t *, bool);
-tree vn_reference_lookup (tree, VEC (tree, gc) *, bool, vn_reference_t *);
-vn_reference_t vn_reference_insert (tree, tree, VEC (tree, gc) *);
-vn_reference_t vn_reference_insert_pieces (VEC (tree, gc) *,
+tree vn_reference_lookup (tree, tree, bool, vn_reference_t *);
+vn_reference_t vn_reference_insert (tree, tree, tree);
+vn_reference_t vn_reference_insert_pieces (tree, alias_set_type, tree,
 					   VEC (vn_reference_op_s, heap) *,
 					   tree, unsigned int);
 
@@ -195,5 +204,4 @@
 unsigned int get_constant_value_id (tree);
 unsigned int get_or_alloc_constant_value_id (tree);
 bool value_id_constant_p (unsigned int);
-VEC (tree, gc) *shared_vuses_from_stmt (gimple);
 #endif /* TREE_SSA_SCCVN_H  */