This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tuples] Fix some leftovers from GIMPLE_MODIFY_STMT removal


> Hi!
> 
> This patch has been eyeballed for correctness.

In the same spirit, here are some more leftovers.  I built cc1 on the
platforms where it was possible.

Aldy

	* config/alpha/alpha.c (va_list_skip_additions): Rename
	GIMPLE_MODIFY_STMT to MODIFY_EXPR.
	(alpha_va_start): Same.
	(alpha_gimplify_va_arg_1): Use gimplify_assign.
	(alpha_gimplify_va_arg): Same.
	* config/frv/frv.c (frv_expand_builtin_va_start): Rename
	GIMPLE_MODIFY_STMT to MODIFY_EXPR.
	* config/ia64/ia64.c (ia64_gimplify_va_arg): Use gimplify_assign.
	* config/alpha/mips.c (mips_va_start): Rename GIMPLE_MODIFY_STMT to
	MODIFY_EXPR or use gimplify_assign when appropriate.
	(mips_gimplify_va_arg_expr): Same.
 ada/
	* trans.c (gnat_gimplify_expr): Use gimplify_assign.

Index: ada/trans.c
===================================================================
--- ada/trans.c	(revision 137793)
+++ ada/trans.c	(working copy)
@@ -5419,14 +5419,14 @@ gnat_gimplify_expr (tree *expr_p, tree *
 	       && TREE_CODE_CLASS (TREE_CODE (op)) != tcc_constant)
 	{
 	  tree new_var = create_tmp_var (TREE_TYPE (op), "A");
-	  tree mod = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (op), new_var, op);
+	  gimple mod;
 
 	  TREE_ADDRESSABLE (new_var) = 1;
 
+	  stmt = gimplify_assign (new_var, op, pre_p);
 	  if (EXPR_HAS_LOCATION (op))
-	    SET_EXPR_LOCUS (mod, EXPR_LOCUS (op));
+	    gimple_set_location (stmt, *EXPR_LOCUS (op));
 
-	  gimplify_and_add (mod, pre_p);
 	  TREE_OPERAND (expr, 0) = new_var;
 	  recompute_tree_invariant_for_addr_expr (expr);
 	  return GS_ALL_DONE;
Index: config/alpha/alpha.c
===================================================================
--- config/alpha/alpha.c	(revision 137793)
+++ config/alpha/alpha.c	(working copy)
@@ -5817,8 +5817,8 @@ va_list_skip_additions (tree lhs)
       if (TREE_CODE (stmt) == PHI_NODE)
 	return stmt;
 
-      if (TREE_CODE (stmt) != GIMPLE_MODIFY_STMT
-	  || GIMPLE_STMT_OPERAND (stmt, 0) != lhs)
+      if (TREE_CODE (stmt) != MODIFY_EXPR
+	  || TREE_OPERAND (stmt, 0) != lhs)
 	return lhs;
 
       rhs = GIMPLE_STMT_OPERAND (stmt, 1);
@@ -6094,7 +6094,7 @@ alpha_va_start (tree valist, rtx nextarg
     {
       nextarg = plus_constant (nextarg, offset);
       nextarg = plus_constant (nextarg, NUM_ARGS * UNITS_PER_WORD);
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (valist), valist,
+      t = build2 (MODIFY_EXPR, TREE_TYPE (valist), valist,
 		  make_tree (ptr_type_node, nextarg));
       TREE_SIDE_EFFECTS (t) = 1;
 
@@ -6113,13 +6113,12 @@ alpha_va_start (tree valist, rtx nextarg
       t = make_tree (ptr_type_node, virtual_incoming_args_rtx);
       t = build2 (POINTER_PLUS_EXPR, ptr_type_node, t,
 		  size_int (offset));
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (base_field), base_field, t);
+      t = build2 (MODIFY_EXPR, TREE_TYPE (base_field), base_field, t);
       TREE_SIDE_EFFECTS (t) = 1;
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
 
       t = build_int_cst (NULL_TREE, NUM_ARGS * UNITS_PER_WORD);
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (offset_field),
-	  	  offset_field, t);
+      t = build2 (MODIFY_EXPR, TREE_TYPE (offset_field), offset_field, t);
       TREE_SIDE_EFFECTS (t) = 1;
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
     }
@@ -6136,9 +6135,9 @@ alpha_gimplify_va_arg_1 (tree type, tree
   if (targetm.calls.must_pass_in_stack (TYPE_MODE (type), type))
     {
       t = build_int_cst (TREE_TYPE (offset), 6*8);
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (offset), offset,
-		  build2 (MAX_EXPR, TREE_TYPE (offset), offset, t));
-      gimplify_and_add (t, pre_p);
+      gimplify_assign (offset,
+		       build2 (MAX_EXPR, TREE_TYPE (offset), offset, t),
+		       pre_p);
     }
 
   addend = offset;
@@ -6190,9 +6189,8 @@ alpha_gimplify_va_arg_1 (tree type, tree
       t = size_binop (MULT_EXPR, t, size_int (8));
     }
   t = fold_convert (TREE_TYPE (offset), t);
-  t = build2 (GIMPLE_MODIFY_STMT, void_type_node, offset,
-	      build2 (PLUS_EXPR, TREE_TYPE (offset), offset, t));
-  gimplify_and_add (t, pre_p);
+  gimplify_assign (offset, build2 (PLUS_EXPR, TREE_TYPE (offset), offset, t),
+      		   pre_p);
 
   return build_va_arg_indirect_ref (addr);
 }
@@ -6231,9 +6229,8 @@ alpha_gimplify_va_arg (tree valist, tree
   r = alpha_gimplify_va_arg_1 (type, base, offset, pre_p);
 
   /* Stuff the offset temporary back into its field.  */
-  t = build2 (GIMPLE_MODIFY_STMT, void_type_node, offset_field,
-	      fold_convert (TREE_TYPE (offset_field), offset));
-  gimplify_and_add (t, pre_p);
+  gimplify_assign (offset_field,
+		   fold_convert (TREE_TYPE (offset_field), offset), pre_p);
 
   if (indirect)
     r = build_va_arg_indirect_ref (r);
Index: config/frv/frv.c
===================================================================
--- config/frv/frv.c	(revision 137793)
+++ config/frv/frv.c	(working copy)
@@ -2207,7 +2207,7 @@ frv_expand_builtin_va_start (tree valist
       debug_rtx (nextarg);
     }
 
-  t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (valist), valist,
+  t = build2 (MODIFY_EXPR, TREE_TYPE (valist), valist,
 	      fold_convert (TREE_TYPE (valist),
 			    make_tree (sizetype, nextarg)));
   TREE_SIDE_EFFECTS (t) = 1;
Index: config/ia64/ia64.c
===================================================================
--- config/ia64/ia64.c	(revision 137793)
+++ config/ia64/ia64.c	(working copy)
@@ -4360,8 +4360,7 @@ ia64_gimplify_va_arg (tree valist, tree 
       t = build2 (BIT_AND_EXPR, TREE_TYPE (t), t,
 		  size_int (-2 * UNITS_PER_WORD));
       t = fold_convert (TREE_TYPE (valist), t);
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (valist), valist, t);
-      gimplify_and_add (t, pre_p);
+      gimplify_assign (valist, t, pre_p);
     }
 
   return std_gimplify_va_arg_expr (valist, type, pre_p, post_p);
Index: config/mips/mips.c
===================================================================
--- config/mips/mips.c	(revision 137793)
+++ config/mips/mips.c	(working copy)
@@ -4955,12 +4955,12 @@ mips_va_start (tree valist, rtx nextarg)
       if (cum->stack_words > 0)
 	t = build2 (POINTER_PLUS_EXPR, TREE_TYPE (ovfl), t,
 		    size_int (cum->stack_words * UNITS_PER_WORD));
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (ovfl), ovfl, t);
+      t = build2 (MODIFY_EXPR, TREE_TYPE (ovfl), ovfl, t);
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
 
       /* Emit code to initialize GTOP, the top of the GPR save area.  */
       t = make_tree (TREE_TYPE (gtop), virtual_incoming_args_rtx);
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (gtop), gtop, t);
+      t = build2 (MODIFY_EXPR, TREE_TYPE (gtop), gtop, t);
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
 
       /* Emit code to initialize FTOP, the top of the FPR save area.
@@ -4972,18 +4972,18 @@ mips_va_start (tree valist, rtx nextarg)
       if (fpr_offset)
 	t = build2 (POINTER_PLUS_EXPR, TREE_TYPE (ftop), t,
 		    size_int (-fpr_offset));
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (ftop), ftop, t);
+      t = build2 (MODIFY_EXPR, TREE_TYPE (ftop), ftop, t);
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
 
       /* Emit code to initialize GOFF, the offset from GTOP of the
 	 next GPR argument.  */
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (goff), goff,
+      t = build2 (MODIFY_EXPR, TREE_TYPE (goff), goff,
 		  build_int_cst (TREE_TYPE (goff), gpr_save_area_size));
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
 
       /* Likewise emit code to initialize FOFF, the offset from FTOP
 	 of the next FPR argument.  */
-      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (foff), foff,
+      t = build2 (MODIFY_EXPR, TREE_TYPE (foff), foff,
 		  build_int_cst (TREE_TYPE (foff), fpr_save_area_size));
       expand_expr (t, const0_rtx, VOIDmode, EXPAND_NORMAL);
     }
@@ -5097,8 +5097,7 @@ mips_gimplify_va_arg_expr (tree valist, 
 	      /* [1] Emit code for: off &= -rsize.	*/
 	      t = build2 (BIT_AND_EXPR, TREE_TYPE (off), off,
 			  build_int_cst (NULL_TREE, -rsize));
-	      t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (off), off, t);
-	      gimplify_and_add (t, pre_p);
+	      gimplify_assign (off, t, pre_p);
 	    }
 	  osize = rsize;
 	}
@@ -5134,7 +5133,7 @@ mips_gimplify_va_arg_expr (tree valist, 
 	  u = size_int (-osize);
 	  t = build2 (BIT_AND_EXPR, sizetype, t, u);
 	  t = fold_convert (TREE_TYPE (ovfl), t);
-	  align = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (ovfl), ovfl, t);
+	  align = build2 (MODIFY_EXPR, TREE_TYPE (ovfl), ovfl, t);
 	}
       else
 	align = NULL;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]