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.