diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr113735.c b/gcc/testsuite/gcc.dg/tree-ssa/pr113735.c new file mode 100644 index 0000000000000000000000000000000000000000..7b8649992773da3d8cc618f481c2dc407c3ae1ca --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr113735.c @@ -0,0 +1,19 @@ +// { dg-do compile { target bitint } } +// { dg-options "-O1" } + +char b; +void bar (void); + +#if __BITINT_MAXWIDTH__ >= 6110 +void +foo (_BitInt(6110) j) +{ + for (;;) + { + _BitInt(10) k = b % j; + for (j = 6; j; --j) + if (k) + bar (); + } +} +#endif diff --git a/gcc/value-relation.cc b/gcc/value-relation.cc index 27f9ad61c0ec042a43372f068a87a46106447a0d..619ee5f08673a69c4fc795a43697ff1d2b03eb66 100644 --- a/gcc/value-relation.cc +++ b/gcc/value-relation.cc @@ -718,6 +718,7 @@ equiv_oracle::add_equiv_to_block (basic_block bb, bitmap equiv_set) // Check if this is the first time a block has an equivalence added. // and create a header block. And set the summary for this block. + limit_check (bb); if (!m_equiv[bb->index]) { ptr = (equiv_chain *) obstack_alloc (&m_chain_obstack,