This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/56957] [4.9 regression] ICE in add_insn_after, at emit-rtl.c:3783


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56957

Andrey Belevantsev <abel at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |abel at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #5 from Andrey Belevantsev <abel at gcc dot gnu.org> 2013-04-17 06:52:47 UTC ---
Created attachment 29886
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29886
proposed patch

Easy enough, we can have a speculation transformation that does not change insn
at all (e.g. we're asked to speculate an insn already speculated, so we just
changed the speculation probability, not the pattern itself), but
EXPR_WAS_CHANGED only tests that the transformation history vector is
non-empty, so it would report changes have actually happened.  So checking
additionally that the oldest insn form (last vector element) has the same
INSN_ID as the one of the current expr fixes the test.  I will throw this to
our Itanium for the full testing.

Steven, thanks for your insn emitting patches.  It was not that easy to catch
that kind of issues earlier, AFAIR we noticed it via corruption of our own
structures and we needed to trace that back to the offending move....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]