https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111435
--- Comment #4 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Meanwhile cvise extracted this test: // $ cat tree-ssa-loop-niter.cc.cc int discover_iteration_bound_by_body_walk_queue_index, m_vec; int *address(); unsigned length(); int deref(unsigned ix) { int __trans_tmp_1 = address()[ix]; return __trans_tmp_1; } unsigned discover_iteration_bound_by_body_walk___trans_tmp_4; void discover_iteration_bound_by_body_walk() { bool __trans_tmp_3 = m_vec; if (!__trans_tmp_3) return; discover_iteration_bound_by_body_walk___trans_tmp_4 = m_vec ? length() : 0; discover_iteration_bound_by_body_walk_queue_index = discover_iteration_bound_by_body_walk___trans_tmp_4; for (;;) deref(discover_iteration_bound_by_body_walk_queue_index); }