Commit bd2e63a1 by Richard Guenther Committed by Richard Biener

gimplify.c (gimplify_bind_expr): Always promote complex and vector variables to…

gimplify.c (gimplify_bind_expr): Always promote complex and vector variables to registers if possible.

2010-06-17  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimplify_bind_expr): Always promote complex
	and vector variables to registers if possible.

From-SVN: r160903
parent 7fa5296e
2010-06-17 Richard Guenther <rguenther@suse.de> 2010-06-17 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_bind_expr): Always promote complex
and vector variables to registers if possible.
2010-06-17 Richard Guenther <rguenther@suse.de>
* expr.c (get_inner_reference): Use double_int for bit_offset * expr.c (get_inner_reference): Use double_int for bit_offset
calculation. calculation.
......
...@@ -1153,14 +1153,9 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p) ...@@ -1153,14 +1153,9 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p)
/* Preliminarily mark non-addressed complex variables as eligible /* Preliminarily mark non-addressed complex variables as eligible
for promotion to gimple registers. We'll transform their uses for promotion to gimple registers. We'll transform their uses
as we find them. as we find them. */
We exclude complex types if not optimizing because they can be if ((TREE_CODE (TREE_TYPE (t)) == COMPLEX_TYPE
subject to partial stores in GNU C by means of the __real__ and || TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE)
__imag__ operators and we cannot promote them to total stores
(see gimplify_modify_expr_complex_part). */
if (optimize
&& (TREE_CODE (TREE_TYPE (t)) == COMPLEX_TYPE
|| TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE)
&& !TREE_THIS_VOLATILE (t) && !TREE_THIS_VOLATILE (t)
&& (TREE_CODE (t) == VAR_DECL && !DECL_HARD_REGISTER (t)) && (TREE_CODE (t) == VAR_DECL && !DECL_HARD_REGISTER (t))
&& !needs_to_live_in_memory (t)) && !needs_to_live_in_memory (t))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment