[Bug rtl-optimization/72778] [7 Regression] internal compiler error: in create_pre_exit, at mode-switching.c:451

vmakarov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 3 18:03:00 GMT 2016


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.


More information about the Gcc-bugs mailing list