Skip to content
Snippets Groups Projects
Commit c7970b14 authored by Richard Biener's avatar Richard Biener
Browse files

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.
parent 0c5730a6
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment