https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121165
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #3)
> # PT = { D.371302 D.371303 }
> # ALIGN = 8, MISALIGN = 0
> # _129 = PHI <&D.371302(3), &D.371303(5)>
> # .MEM_461 = VDEF <.MEM_458>
> # USE = nonlocal escaped { D.371302 D.371303 }
> # CLB = nonlocal escaped
> .UBSAN_NULL (_129, 0B, 8);
> # VUSE <.MEM_461>
> avail_79 = *_129;
>
> So basically phiprop no longer does it work. so we missed out a lot.
And I'm not sure we can do anything about this besides trying to have
phiprop elide the .UBSAN_NULL when the PHI def of _129 is a an address
of a decl on an edge and hoist it as well for the case of an SSA name?
But would that be appreciated and correct?