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