Absolutely ok. Thanks!
Andrew On 9/24/24 05:52, Richard Biener wrote:
For the testcase in PR114855 VRP takes 320.41s (23%) (after mitigating backwards threader slowness). This is mostly due to the bitmap check in equiv_oracle::find_equiv_dom. The following turns this bitmap to tree view, trading the linear search for a O(log N) one which improves VRP time to 54.54s (5%). Bootstrap and regtest running on x86_64-unknown-linux-gnu, OK if that succeeds? Thanks, Richard. PR tree-optimization/114855 * value-relation.cc (equiv_oracle::equiv_oracle): Switch m_equiv_set to tree view. --- gcc/value-relation.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/value-relation.cc b/gcc/value-relation.cc index 45722fcd13a..d6ad2dd984f 100644 --- a/gcc/value-relation.cc +++ b/gcc/value-relation.cc @@ -321,6 +321,7 @@ equiv_oracle::equiv_oracle () m_equiv.create (0); m_equiv.safe_grow_cleared (last_basic_block_for_fn (cfun) + 1); m_equiv_set = BITMAP_ALLOC (&m_bitmaps); + bitmap_tree_view (m_equiv_set); obstack_init (&m_chain_obstack); m_self_equiv.create (0); m_self_equiv.safe_grow_cleared (num_ssa_names + 1);