https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79244

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
On branches this is latent wrong-code as we simply do

            /* Propagate the RHS into every use of the LHS.  */
            FOR_EACH_IMM_USE_STMT (use_stmt, iter, lhs)
              FOR_EACH_IMM_USE_ON_STMT (use_p, iter)
                SET_USE (use_p, var);

there.  OTOH we only see unpropagated vars there so we are restoring the
original
IL.  I changed it to replace_uses_by to get stmts folded properly to avoid
non-canonical operand order and non-canonical MEMs after propagation.

I'll conditionally restore the above.

Reply via email to