This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/72778] [7 Regression] internal compiler error: in create_pre_exit, at mode-switching.c:451
- From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 03 Aug 2016 18:03:45 +0000
- Subject: [Bug rtl-optimization/72778] [7 Regression] internal compiler error: in create_pre_exit, at mode-switching.c:451
- Auto-submitted: auto-generated
- References: <bug-72778-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72778
--- Comment #7 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #6)
Hi, Uros. Thanks for reporting this. It was my mistake that I did not check
bootstrap with GO. I am going to fix it soon.
> Before the patch, register allocator used to leave self-assignments (e.g.
> insn 20) in the insn stream. Post-reload vzeroupper insertion mode-swithing
> pass depends on these instructions. Self-assignments are later removed by
> subsequent passes.
>
>
> Can we have these self-assignments back?
Unfortunately, LRA can produce wrong moves (it was even before I implemented
invariant inheritance which also can do it). It is important to remove them at
this stage, otherwise GCC crashes on later passes.