On Wed, Mar 27, 2019 at 10:20:17AM -0600, Jeff Law wrote:
> --- a/gcc/regcprop.c
> +++ b/gcc/regcprop.c
> @@ -800,9 +800,9 @@ copyprop_hardreg_forward_1 (basic_block bb, struct 
> value_data *vd)
>  
>        /* Detect obviously dead sets (via REG_UNUSED notes) and remove them.  
> */
>        if (set
> -       && !may_trap_p (set)
>         && !RTX_FRAME_RELATED_P (insn)
>         && INSN_P (insn)
> +       && !may_trap_p (set)

One more nitpick, I think the && INSN (insn) test is redundant there.
A few lines above this we have:
      if (!NONDEBUG_INSN_P (insn))
        {
          ...
          break; or continue;
        }

      // code that doesn't change insn, at most delete_insn + break/continue

and as
#define NONDEBUG_INSN_P(X) (INSN_P (X) && !DEBUG_INSN_P (X))
INSN_P (insn) must be always true.

        Jakub

Reply via email to