On Fri, Oct 9, 2015 at 9:33 AM, Alexandre Oliva <aol...@redhat.com> wrote:
> On Oct  9, 2015, Alexandre Oliva <aol...@redhat.com> wrote:
>
>> This fixes fallout from the PR64164 expander revamp.
>
>> Uroš kindly tested with an alpha-linux-gnu regstrap.
>
> The one regression he mentioned from that run was gcc.dg/pr43300.c.  The
> vector parameter there is handled by the emit_block_move case of
> assign_parms_setup_block.  Alas, emit_block_move marks the decl as
> addressable, which causes the subsequent is_gimple_reg test in
> set_parm_rtl to return false.  This causes us to call set_rtl with the
> parm decl, instead of its default def, and the latter would be required
> to store the RTL in the partition holding the default def.
>
> The good news it that we don't really need to call is_gimple_reg there,
> though; testing whether there is a default def in place is enough, and
> ssa_default_def will find the default def in spite of the parm's no
> longer passing is_gimple_reg, and it won't complain if given a decl that
> was never a gimple reg.
>
> So, I'm dropping the test.  Regstrapped on x86_64-linux-gnu and
> i686-linux-gnu.  Ok to install?

Ok.  Note that I think emit_block_move shouldn't mess with the addressable flag.

Thanks,
Richard.

>
> [PR67891] don't test is_gimple_reg after parm expansion
>
> From: Alexandre Oliva <aol...@redhat.com>
>
> for  gcc/ChangeLog
>
>         PR middle-end/67891
>         * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
> ---
>  gcc/cfgexpand.c |    3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
> index 58e55d2..eaad859 100644
> --- a/gcc/cfgexpand.c
> +++ b/gcc/cfgexpand.c
> @@ -1243,9 +1243,6 @@ set_parm_rtl (tree parm, rtx x)
>        record_alignment_for_reg_var (align);
>      }
>
> -  if (!is_gimple_reg (parm))
> -    return set_rtl (parm, x);
> -
>    tree ssa = ssa_default_def (cfun, parm);
>    if (!ssa)
>      return set_rtl (parm, x);
>
>
> --
> Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
> You must be the change you wish to see in the world. -- Gandhi
> Be Free! -- http://FSFLA.org/   FSF Latin America board member
> Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer

Reply via email to