https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > The reason why r6-3654-g6b7e867187889 didn't fix this case is because it was > not looking into clobbers only the set side. > > Note the conditional in my patch should have been > if (reg_overlap_mentioned_p (DF_REF_REG (def), cond)) > > Maybe it should be bb_valid_for_noce_process_p instead, I am not 100% sure > on that. This does not fix the issue as (In reply to Andrew Pinski from comment #9) > The reason why r6-3654-g6b7e867187889 didn't fix this case is because it was > not looking into clobbers only the set side. > > Note the conditional in my patch should have been > if (reg_overlap_mentioned_p (DF_REF_REG (def), cond)) > > Maybe it should be bb_valid_for_noce_process_p instead, I am not 100% sure > on that. This patch is not enough. Though the patch in comment #4 is not enough any more either.