This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/56957] [4.9 regression] ICE in add_insn_after, at emit-rtl.c:3783
- From: "abel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 17 Apr 2013 06:52:47 +0000
- Subject: [Bug rtl-optimization/56957] [4.9 regression] ICE in add_insn_after, at emit-rtl.c:3783
- Auto-submitted: auto-generated
- References: <bug-56957-4 at http dot gcc dot gnu dot org/bugzilla/>
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....