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]

[PATCH][1/n] Remove mark_symbols_for_renaming


I stumbled over the following code which is the reason we are not
properly going into-ssa during gimplification in some cases.
The code can't matter as we unconditionally set DECL_GIMPLE_REG_P.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

2012-05-14  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimplify_expr): Remove odd code.

Index: gcc/gimplify.c
===================================================================
--- gcc/gimplify.c	(revision 187450)
+++ gcc/gimplify.c	(working copy)
@@ -7947,19 +7947,7 @@ gimplify_expr (tree *expr_p, gimple_seq
 	 TMP.  First, make sure that the expression has a type so that
 	 it can be assigned into a temporary.  */
       gcc_assert (!VOID_TYPE_P (TREE_TYPE (*expr_p)));
-
-      if (!gimple_seq_empty_p (internal_post) || (fallback & fb_lvalue))
-	/* The postqueue might change the value of the expression between
-	   the initialization and use of the temporary, so we can't use a
-	   formal temp.  FIXME do we care?  */
-	{
-	  *expr_p = get_initialized_tmp_var (*expr_p, pre_p, post_p);
-	  if (TREE_CODE (TREE_TYPE (*expr_p)) == COMPLEX_TYPE
-	      || TREE_CODE (TREE_TYPE (*expr_p)) == VECTOR_TYPE)
-	    DECL_GIMPLE_REG_P (*expr_p) = 1;
-	}
-      else
-	*expr_p = get_formal_tmp_var (*expr_p, pre_p);
+      *expr_p = get_formal_tmp_var (*expr_p, pre_p);
     }
   else
     {


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