This is an example on how I'd like to see cleanup for SLP happening in the vectorizable_* and related functions. While this example, vectorizable_conversion, is quite straight-forward it helps to isolate errors. I've done this in 3 steps:
1) fold trivially true/false conditions based on the slp_node argument without code block removal/reindent, etc. 2) do trivial dead code elimination 3) cleanup simple things - it's expected that the 'ncopies' variable vanishes (a vec_num one might remain), the function should no longer access STMT_VINFO_VECTYPE (but SLP_TREE_VECTYPE), the callers then no longer need to swap those in. Before committing the steps should be squashed into a single commit, I've put the actual changelog into [3/3]. Richard.