cp-tree.def (UNARY_PLUS_EXPR): New C++ unary tree code.
[gcc.git] / gcc / tree-ssa-dse.c
index 42b61553832d358b868a50d03feafe92c99602b6..e2d063f03ffb057b6f670d6d33e81c919e206e83 100644 (file)
@@ -135,7 +135,7 @@ dse_initialize_block_local_data (struct dom_walk_data *walk_data,
                                 bool recycled)
 {
   struct dse_block_local_data *bd
-    = VARRAY_TOP_GENERIC_PTR (walk_data->block_data_stack);
+    = VEC_last (void_p, walk_data->block_data_stack);
 
   /* If we are given a recycled block local data structure, ensure any
      bitmap associated with the block is cleared.  */
@@ -163,20 +163,14 @@ dse_optimize_stmt (struct dom_walk_data *walk_data,
                   block_stmt_iterator bsi)
 {
   struct dse_block_local_data *bd
-    = VARRAY_TOP_GENERIC_PTR (walk_data->block_data_stack);
+    = VEC_last (void_p, walk_data->block_data_stack);
   struct dse_global_data *dse_gd = walk_data->global_data;
   tree stmt = bsi_stmt (bsi);
   stmt_ann_t ann = stmt_ann (stmt);
-  v_may_def_optype v_may_defs;
-  v_must_def_optype v_must_defs;
-
-  v_may_defs = V_MAY_DEF_OPS (ann);
-  v_must_defs = V_MUST_DEF_OPS (ann);
 
   /* If this statement has no virtual defs, then there is nothing
      to do.  */
-  if (NUM_V_MAY_DEFS (v_may_defs) == 0
-      && NUM_V_MUST_DEFS (v_must_defs) == 0)
+  if (ZERO_SSA_OPERANDS (stmt, (SSA_OP_VMAYDEF|SSA_OP_VMUSTDEF)))
     return;
 
   /* We know we have virtual definitions.  If this is a MODIFY_EXPR that's
@@ -201,7 +195,7 @@ dse_optimize_stmt (struct dom_walk_data *walk_data,
       /* We want to verify that each virtual definition in STMT has
         precisely one use and that all the virtual definitions are
         used by the same single statement.  When complete, we
-        want USE_STMT to refer to the one statment which uses
+        want USE_STMT to refer to the one statement which uses
         all of the virtual definitions from STMT.  */
       use_stmt = NULL;
       FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND (var1, var2, stmt, op_iter)
@@ -304,7 +298,7 @@ static void
 dse_record_phis (struct dom_walk_data *walk_data, basic_block bb)
 {
   struct dse_block_local_data *bd
-    = VARRAY_TOP_GENERIC_PTR (walk_data->block_data_stack);
+    = VEC_last (void_p, walk_data->block_data_stack);
   struct dse_global_data *dse_gd = walk_data->global_data;
   tree phi;
 
@@ -320,7 +314,7 @@ dse_finalize_block (struct dom_walk_data *walk_data,
                    basic_block bb ATTRIBUTE_UNUSED)
 {
   struct dse_block_local_data *bd
-    = VARRAY_TOP_GENERIC_PTR (walk_data->block_data_stack);
+    = VEC_last (void_p, walk_data->block_data_stack);
   struct dse_global_data *dse_gd = walk_data->global_data;
   bitmap stores = dse_gd->stores;
   unsigned int i;