Sebastian Perta <sebastian.pe...@renesas.com> writes:
> * config/rl78/rl78.c (rl78_note_reg_set): fixed dead reg check
> for non-QImode registers

This is OK.  Thanks!

Note: in the future; ChangeLog entries should be provided separate from
the patch; they rarely apply cleanly anyway.

> Index: config/rl78/rl78.c
> ===================================================================
> --- config/rl78/rl78.c(revision 256590)
> +++ config/rl78/rl78.c(working copy)
> @@ -3792,7 +3792,7 @@
>  rl78_note_reg_set (char *dead, rtx d, rtx insn)
>  {
>    int r, i;
> -
> +  bool is_dead;
>    if (GET_CODE (d) == MEM)
>      rl78_note_reg_uses (dead, XEXP (d, 0), insn);
>
> @@ -3799,9 +3799,15 @@
>    if (GET_CODE (d) != REG)
>      return;
>
> + /* Do not mark the reg unused unless all QImode parts of it are dead.  */
>    r = REGNO (d);
> -  if (dead [r])
> -    add_reg_note (insn, REG_UNUSED, gen_rtx_REG (GET_MODE (d), r));
> +  is_dead = true;
> +  for (i = 0; i < GET_MODE_SIZE (GET_MODE (d)); i ++)
> +  if (!dead [r + i])
> +  is_dead = false;
> +  if(is_dead)
> +add_reg_note (insn, REG_UNUSED, gen_rtx_REG (GET_MODE (d), r));
>    if (dump_file)
>      fprintf (dump_file, "note set reg %d size %d\n", r, GET_MODE_SIZE 
> (GET_MODE (d)));
>    for (i = 0; i < GET_MODE_SIZE (GET_MODE (d)); i ++)

Reply via email to