[Bug target/93611] [10 Regression] ICE in extract_constrain_insn_cached, at recog.c:2207 since r10-6451-gb7b3378f91c0641f

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 6 13:27:00 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93611

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If you mean
  /* ix86_avoid_lea_for_addr re-recognizes insn and may
     change operands[] array behind our back.  */
  pat = PATTERN (curr_insn);

  operands[0] = SET_DEST (pat);
  operands[1] = SET_SRC (pat);
then no, this change wouldn't change anything on that.  But yes,
ix86_avoid_lea_for_addr probably at least theoretically needs the same
treatment as in the patch.
Another option would be instead of just clearing recog_data.insn copy the whole
recog_data object to a temporary and back; that would mean the above wouldn't
have to be done, but would be quite expensive (recog_data on x86_64 has ATM
1280 bytes).


More information about the Gcc-bugs mailing list