https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104528
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
At the start of IVOPTs we have
(gdb) p debug_tree (cfun->x_current_loops->larray->m_vecdata[4]->nb_iterations)
<minus_expr 0x7ffff6348f28
type <integer_type 0x7ffff670ce70 public unsigned SI
size <integer_cst 0x7ffff6517e40 constant 32>
unit-size <integer_cst 0x7ffff6517e58 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff670ce70 precision:32 min <integer_cst 0x7ffff6321078 0> max <integer_cst
0x7ffff6321060 4294967295>>
arg:0 <ssa_name 0x7ffff631e240 type <error_mark 0x7ffff6517be8>
nothrow
def_stmt
version:36 in-free-list>
arg:1 <nop_expr 0x7ffff6349400 type <integer_type 0x7ffff670ce70>
arg:0 <ssa_name 0x7ffff63345a0 type <integer_type 0x7ffff652f5e8
integer(kind=4)>
visited
def_stmt pretmp_90 = ii;
version:90>>>
$12 = void
so that mentions a released SSA name. It's released during DSE which
fails to reset niter info since we now prune dead SSA names there.