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

Delay edge removal in forwprop

SSA forwprop has switch simplification code that calls remove edge
and as side-effect releases dominator info.  For a followup we want
to retain that so the following delays removing edges until the end
of the pass.  As usual we have to deal with parts of the edge
vanishing due to EH/abnormal pruning so record edges as basic-block
index pairs and remove them only when they are still there.

	* tree-ssa-forwprop.cc (simplify_gimple_switch_label_vec):
	Delay removing edges and releasing dominator info, instead
	record into edges_to_remove vector.
	(simplify_gimple_switch): Pass through vector of to remove
	edges.
	(pass_forwprop::execute): Likewise.  Remove queued edges.
parent d3e71b99
No related branches found
No related tags found
Loading
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