[Bug tree-optimization/92275] [10 Regression] ICE: error: definition in block 11 does not dominate use in block 15 since r277566
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 30 09:16:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92275
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
We run into
tree guard_arg = find_guard_arg (loop, epilog, update_phi);
/* If the var is live after loop but not a reduction, we simply
use the old arg. */
if (!guard_arg)
guard_arg = old_arg;
which means we failed to generate a LC PHI for the LIVE stmt during
peeling. Then epilogue creation simply does
/* Find the loop-closed-use at the loop exit of the original scalar
result. (The reduction result is expected to have two immediate uses,
one at the latch block, and one at the loop exit). For double
reductions we are looking for exit phis of the outer loop. */
FOR_EACH_IMM_USE_FAST (use_p, imm_iter, scalar_dest)
{
but doesn't do any dominance sanity checks that it found a valid PHI
(it simply assumes LC SSA is correct).
More information about the Gcc-bugs
mailing list