On Thu, Apr 25, 2019 at 04:58:57PM +0200, Richard Biener wrote:
> 2019-04-25  Richard Biener  <rguent...@suse.de>
> 
>       PR middle-end/89765
>       * gimplify.c (gimplify_expr): Avoid turning a lvalue
>       VIEW_CONVERT_EXPR into one operating on an rvalue.

Successfully bootstrapped/regtested on {powerpc64{,le},x86_64,i686}-linux.

> --- gcc/gimplify.c    (revision 270574)
> +++ gcc/gimplify.c    (working copy)
> @@ -12397,7 +12397,8 @@ gimplify_expr (tree *expr_p, gimple_seq
>         break;
>  
>       case VIEW_CONVERT_EXPR:
> -       if (is_gimple_reg_type (TREE_TYPE (*expr_p))
> +       if ((fallback & fb_rvalue)
> +           && is_gimple_reg_type (TREE_TYPE (*expr_p))
>             && is_gimple_reg_type (TREE_TYPE (TREE_OPERAND (*expr_p, 0))))
>           {
>             ret = gimplify_expr (&TREE_OPERAND (*expr_p, 0), pre_p,

        Jakub

Reply via email to