mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
tree-optimization/114855 - slow VRP due to equiv oracle queries
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%). PR tree-optimization/114855 * value-relation.cc (equiv_oracle::equiv_oracle): Switch m_equiv_set to tree view.
This commit is contained in:
committed by
Richard Biener
parent
5b652b0132
commit
caf3fe7880
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user