https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122956
--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> --- LLVM indeed has some lifetime DSE violations in it for years. It seems to got better recently since they got more strict about optimizing them, too. This seems however independent bug in multitarget speculative devirtualization. Speculative call sequences should always contain one indirect edge and one or more direct edges (callees we speculate to). Verifier complains about indirect edge being lost, so it seems that inlinining messed up somehow. Perhaps by turning it do a direct call...
