[Bug tree-optimization/100112] missed optimization for dead code elimination at -O3, -Os (vs. -O1, -O2)
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 27 07:02:47 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100112
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Status|NEW |ASSIGNED
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
This circles around redundant store elimination which is tricky with TBAA since
even a "value-redundant store" can change the dynamic type and thus we need to
preserve it. See also PR101641 for a pending wrong-code issue here.
I _think_ we have an almost exact duplicate but let me take it, this is
related to last_vuse - we're doing the lookup w/ VN_NOWALK and thus don't
see the hashtable entry with the "optimized" VUSE from last_vuse handling.
IIRC VN_NOWALK is mainly a compile-time optimization, at elimination time
we even use VN_WALKREWRITE. It originally changed with
g:649caaad399d6f4865a4d0015a1ac76c3cce7eb0 as a wrong-code fix though.
More information about the Gcc-bugs
mailing list