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