ranger: Grow BBs in relation oracle as needed [PR113735]
The relation oracle grows the internal vector of SSAs as needed, but due to an oversight was not growing the basic block vector. This fixes the oversight. PR tree-optimization/113735 gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/pr113735.c: New test. gcc/ChangeLog: * value-relation.cc (equiv_oracle::add_equiv_to_block): Call limit_check().
This commit is contained in:
parent
ce915cab74
commit
d2d5ef6e22
2 changed files with 20 additions and 0 deletions
19
gcc/testsuite/gcc.dg/tree-ssa/pr113735.c
Normal file
19
gcc/testsuite/gcc.dg/tree-ssa/pr113735.c
Normal file
|
@ -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
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Reference in a new issue