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

Handle NULL stmt in SLP_TREE_SCALAR_STMTS

The following starts to handle NULL elements in SLP_TREE_SCALAR_STMTS
with the first candidate being the two-operator nodes where some
lanes are do-not-care and also do not have a scalar stmt computing
the result.  I originally added SLP_TREE_SCALAR_STMTS to two-operator
nodes but this exposes PR115764, so I've split that out.

I have a patch use NULL elements for loads from groups with gaps
where we get around not doing that by having a load permutation.

	* tree-vect-slp.cc (bst_traits::hash): Handle NULL elements
	in SLP_TREE_SCALAR_STMTS.
	(vect_print_slp_tree): Likewise.
	(vect_mark_slp_stmts): Likewise.
	(vect_mark_slp_stmts_relevant): Likewise.
	(vect_find_last_scalar_stmt_in_slp): Likewise.
	(vect_bb_slp_mark_live_stmts): Likewise.
	(vect_slp_prune_covered_roots): Likewise.
	(vect_bb_partition_graph_r): Likewise.
	(vect_remove_slp_scalar_calls): Likewise.
	(vect_slp_gather_vectorized_scalar_stmts): Likewise.
	(vect_bb_slp_scalar_cost): Likewise.
	(vect_contains_pattern_stmt_p): Likewise.
	(vect_slp_convert_to_external): Likewise.
	(vect_find_first_scalar_stmt_in_slp): Likewise.
	(vect_optimize_slp_pass::remove_redundant_permutations): Likewise.
	(vect_slp_analyze_node_operations_1): Likewise.
	(vect_schedule_slp_node): Likewise.
	* tree-vect-stmts.cc (can_vectorize_live_stmts): Likewise.
	(vectorizable_shift): Likewise.
	* tree-vect-data-refs.cc (vect_slp_analyze_load_dependences):
	Handle NULL elements in SLP_TREE_SCALAR_STMTS.
parent e9fb6efa
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