[PATCH][TUPLES] One more rs6000 stdarg unsharing fix
Jakub Jelinek
jakub@redhat.com
Fri Jul 4 08:17:00 GMT 2008
On Thu, Jul 03, 2008 at 06:46:04PM -0400, David Edelsohn wrote:
> And another one...
>
> * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Unshare t.
>
> Index: rs6000.c
> ===================================================================
> --- rs6000.c (revision 137436)
> +++ rs6000.c (working copy)
> @@ -6930,7 +6930,7 @@
> && TYPE_MODE (type) == SDmode)
> t = build2 (POINTER_PLUS_EXPR, TREE_TYPE (t), t, size_int (size));
>
> - t = build2 (GIMPLE_MODIFY_STMT, void_type_node, addr, t);
> + t = build2 (GIMPLE_MODIFY_STMT, void_type_node, addr, unshare_expr (t));
> gimplify_and_add (t, pre_p);
>
> t = build1 (GOTO_EXPR, void_type_node, lab_over);
This unshare_expr seems to be at a wrong spot. Together with
what you need to unshare (sav, right?) you unshare many freshly created
trees.
Jakub
More information about the Gcc-patches
mailing list