https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61572

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> The question of course is why rdx is live from function entry to its first
> use.
> My patch will only continue to paper over this issue.

Because of

/* Set the bit for regs that are considered being defined at the entry. */

static void
df_get_entry_block_def_set (bitmap entry_block_defs)
{
  rtx r;
  int i;

  bitmap_clear (entry_block_defs);

  for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
    {
      if (global_regs[i])
        bitmap_set_bit (entry_block_defs, i);
      if (FUNCTION_ARG_REGNO_P (i))
        bitmap_set_bit (entry_block_defs, INCOMING_REGNO (i));
    }

dx is FUNCTION_ARG_REGNO_P.

I wonder if we can do less conservative here ...

Reply via email to