This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH][1/n] Remove mark_symbols_for_renaming
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 14 May 2012 12:41:58 +0200 (CEST)
- Subject: [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
{