OSDN Git Service

2009-05-06 Le-Chun Wu <lcwu@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / tree-flow.h
index 8cb69ac..a02eca5 100644 (file)
@@ -32,8 +32,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "ipa-reference.h"
 #include "tree-ssa-alias.h"
 
-struct static_var_ann_d;
-
 
 /* Gimple dataflow datastructure. All publicly available fields shall have
    gimple_ accessor defined in tree-flow-inline.h, all publicly modifiable
@@ -136,13 +134,6 @@ struct GTY(()) tree_ann_common_d {
      expansion (see gimple_to_tree).  */
   int rn;
 
-  /* Auxiliary info specific to a pass.  At all times, this
-     should either point to valid data or be NULL.  */ 
-  PTR GTY ((skip (""))) aux; 
-
-  /* The value handle for this expression.  Used by GVN-PRE.  */
-  tree GTY((skip)) value_handle;
-
   /* Pointer to original GIMPLE statement.  Used during RTL expansion
      (see gimple_to_tree).  */
   gimple stmt;
@@ -199,10 +190,6 @@ enum noalias_state {
 struct GTY(()) var_ann_d {
   struct tree_ann_common_d common;
 
-  /* Used by the out of SSA pass to determine whether this variable has
-     been seen yet or not.  */
-  unsigned out_of_ssa_tag : 1;
-
   /* Used when building base variable structures in a var_map.  */
   unsigned base_var_processed : 1;
 
@@ -224,10 +211,6 @@ struct GTY(()) var_ann_d {
      information on each attribute.  */
   ENUM_BITFIELD (noalias_state) noalias_state : 2;
 
-  /* Used when going out of SSA form to indicate which partition this
-     variable represents storage for.  */
-  unsigned partition;
-
   /* Used by var_map for the base index of ssa base variables.  */
   unsigned base_index;
 
@@ -236,17 +219,6 @@ struct GTY(()) var_ann_d {
   tree current_def;
 };
 
-/* Container for variable annotation used by hashtable for annotations for
-   static variables.  */
-struct GTY(()) static_var_ann_d {
-  struct var_ann_d ann;
-  unsigned int uid;
-};
-
-struct GTY(()) function_ann_d {
-  struct tree_ann_common_d common;
-};
-
 
 /* Immediate use lists are used to directly access all uses for an SSA
    name and get pointers to the statement for each use. 
@@ -345,20 +317,16 @@ typedef struct immediate_use_iterator_d
 union GTY((desc ("ann_type ((tree_ann_t)&%h)"))) tree_ann_d {
   struct tree_ann_common_d GTY((tag ("TREE_ANN_COMMON"))) common;
   struct var_ann_d GTY((tag ("VAR_ANN"))) vdecl;
-  struct function_ann_d GTY((tag ("FUNCTION_ANN"))) fdecl;
 };
 
 typedef union tree_ann_d *tree_ann_t;
 typedef struct var_ann_d *var_ann_t;
-typedef struct function_ann_d *function_ann_t;
 typedef struct tree_ann_common_d *tree_ann_common_t;
 
 static inline tree_ann_common_t tree_common_ann (const_tree);
 static inline tree_ann_common_t get_tree_common_ann (tree);
 static inline var_ann_t var_ann (const_tree);
 static inline var_ann_t get_var_ann (tree);
-static inline function_ann_t function_ann (const_tree);
-static inline function_ann_t get_function_ann (tree);
 static inline enum tree_ann_type ann_type (tree_ann_t);
 static inline void update_stmt (gimple);
 static inline int get_lineno (const_gimple);
@@ -581,7 +549,6 @@ extern const char *op_symbol_code (enum tree_code);
 
 /* In tree-dfa.c  */
 extern var_ann_t create_var_ann (tree);
-extern function_ann_t create_function_ann (tree);
 extern void renumber_gimple_stmt_uids (void);
 extern tree_ann_common_t create_tree_common_ann (tree);
 extern void dump_dfa_stats (FILE *);
@@ -836,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));
@@ -960,6 +935,7 @@ rtx addr_for_mem_ref (struct mem_address *, bool);
 void get_address_description (tree, struct mem_address *);
 tree maybe_fold_tmr (tree);
 
+unsigned int execute_free_datastructures (void);
 unsigned int execute_fixup_cfg (void);
 
 #include "tree-flow-inline.h"