-
- Downloads
Speed up DOM record_temporary_equivalences
The following gets away computing a dominance bitmap when fast queries are not available and we are doing back_propagate_equivalences. The comuted bitmap can be cheaply kept up-to-date during the domwalk since it is simply the set of blocks on the domwalk stack. Abstraction of the threading makes this somewhat awkward but it also fulfills the fixme comment in only considering equivalences in already (domwalk) visited blocks, even when querying from the outgoing block of a forward thread. Maybe that's not what is intended but at least we have no testsuite coverage of such missed equivalences. * tree-ssa-dom.h (record_temporary_equivalences): Remove. * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New. (dom_jt_state::get_blocks_on_stack): Likewise. (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state. (back_propagate_equivalences): Remove dominator bitmap compute and instead use passed in m_blocks_on_stack. (record_temporary_equivalences): Likewise. (record_equivalences_from_incoming_edge): Likewise. (dom_opt_dom_walker::before_dom_children): Maintain and pass down blocks on stack. (dom_opt_dom_walker::after_dom_children): Likewise.
Loading
Please register or sign in to comment