https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115149
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |15.0
Target Milestone|15.0 |14.2
Summary|[15 Regression] ICE on |[14 Regression] ICE on
|valid code at -O3 with |valid code at -O3 with
|"-fno-inline -fno-tree-vrp |"-fno-inline -fno-tree-vrp
|-fno-ipa-sra -fno-tree-dce |-fno-ipa-sra -fno-tree-dce
|-fno-tree-ch" on |-fno-tree-ch" on
|x86_64-linux-gnu: |x86_64-linux-gnu:
|verify_ssa failed |verify_ssa failed
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so the issue is that the endless loop is a CFG sink that doesn't enforce a
VUSE so we "miss" virtual PHIs in BB 13 and BB 14 and that makes sinking
think it doesn't need to update VOPs. This is a latent issue and IMO
a design bug of the virtual SSA net. sinking now employs VOP_LIVE but
even that doesn't handle this situation because of a bug. I'm testing a fix.
Fixed on trunk, queued for backporting.