https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64815
--- Comment #5 from Terry Guo <terry.guo at arm dot com> --- (In reply to Andrew Pinski from comment #4) > (In reply to Terry Guo from comment #2) > > (In reply to Andrew Pinski from comment #1) > > > I don't think you need to call volatile_refs_p on the notes part of the > > > instruciton. > > > > The volatile_refs_p works in a recursive way which makes itself to scan the > > notes part. I just call volatile_refs_p to the insn. > > > > Do you mean I should update volatile_refs_p to avoid recursively scanning > > the notes part of the insn? > > Oh you should be using volatile_refs_p on the insn but only the set. > > dse.c: || volatile_refs_p (PATTERN (insn)) Thanks so much. You are right. The ICE disappears. Please mark this bug as INVALID.