Commit 1ab9ec7b by Richard Sandiford Committed by Richard Sandiford

mips.c (mips_gimplify_va_arg_expr): Unshare off.

gcc/
	* config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
	Fix the type of the BIT_AND_EXPR.

From-SVN: r178556
parent 70847a48
2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
Fix the type of the BIT_AND_EXPR.
2011-09-05 David S. Miller <davem@davemloft.net> 2011-09-05 David S. Miller <davem@davemloft.net>
* config.host: Add driver-sparc.o and sparc/x-sparc on * config.host: Add driver-sparc.o and sparc/x-sparc on
...@@ -5601,7 +5601,7 @@ mips_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p, ...@@ -5601,7 +5601,7 @@ mips_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
} }
/* [2] Emit code to branch if off == 0. */ /* [2] Emit code to branch if off == 0. */
t = build2 (NE_EXPR, boolean_type_node, off, t = build2 (NE_EXPR, boolean_type_node, unshare_expr (off),
build_int_cst (TREE_TYPE (off), 0)); build_int_cst (TREE_TYPE (off), 0));
addr = build3 (COND_EXPR, ptr_type_node, t, NULL_TREE, NULL_TREE); addr = build3 (COND_EXPR, ptr_type_node, t, NULL_TREE, NULL_TREE);
...@@ -5624,7 +5624,7 @@ mips_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p, ...@@ -5624,7 +5624,7 @@ mips_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
/* [9] Emit: ovfl = ((intptr_t) ovfl + osize - 1) & -osize. */ /* [9] Emit: ovfl = ((intptr_t) ovfl + osize - 1) & -osize. */
t = fold_build_pointer_plus_hwi (unshare_expr (ovfl), osize - 1); t = fold_build_pointer_plus_hwi (unshare_expr (ovfl), osize - 1);
u = build_int_cst (TREE_TYPE (t), -osize); u = build_int_cst (TREE_TYPE (t), -osize);
t = build2 (BIT_AND_EXPR, sizetype, t, u); t = build2 (BIT_AND_EXPR, TREE_TYPE (t), t, u);
align = build2 (MODIFY_EXPR, TREE_TYPE (ovfl), align = build2 (MODIFY_EXPR, TREE_TYPE (ovfl),
unshare_expr (ovfl), t); unshare_expr (ovfl), 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