https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105469
--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> --- It's the 1st devirtualization that happens: Polymorphic call context combine: Outer type:struct Buggy_Client offset 192 With context: Outer type (dynamic):struct Trans_NS_joedb_Client (maybe in construction) offset 64 Speculative outer type:struct Client_Data at offset 0 Second type is base of first First context does not permit base -> invalid No devirtualization target in play_until_checkpoint.constprop/106 Introduced new external node (void __builtin_unreachable()/107). ***dbgcnt: lower limit 1 reached for devirt.*** ***dbgcnt: upper limit 1 reached for devirt.***