diff mbox series

ranger: Grow BBs in relation oracle as needed [PR113735]

Message ID 20240206122820.223856-1-aldyh@redhat.com
State New
Headers show
Series ranger: Grow BBs in relation oracle as needed [PR113735] | expand

Commit Message

Aldy Hernandez Feb. 6, 2024, 12:28 p.m. UTC
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().
---
 gcc/testsuite/gcc.dg/tree-ssa/pr113735.c | 19 +++++++++++++++++++
 gcc/value-relation.cc                    |  1 +
 2 files changed, 20 insertions(+)
 create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr113735.c

Comments

Jakub Jelinek Feb. 7, 2024, 3:30 p.m. UTC | #1
On Tue, Feb 06, 2024 at 01:28:06PM +0100, Aldy Hernandez wrote:
> 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().

LGTM.

	Jakub
diff mbox series

Patch

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 00000000000..7b864999277
--- /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 27f9ad61c0e..619ee5f0867 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,