Skip to content

Commit

Permalink
ranger: Grow BBs in relation oracle as needed [PR113735]
Browse files Browse the repository at this point in the history
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.

OK for trunk?

	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().
  • Loading branch information
aldyh authored and ouuleilei-bot committed Feb 6, 2024
1 parent c2d62cd commit e027cd2
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
19 changes: 19 additions & 0 deletions gcc/testsuite/gcc.dg/tree-ssa/pr113735.c
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions gcc/value-relation.cc
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,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,
Expand Down

0 comments on commit e027cd2

Please sign in to comment.