On Tue, 6 May 2025, Tamar Christina wrote: > > > > 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: > > Happy to help with this if you let me know which functions you'd like me to do > So we avoid duplicate work? Or maybe coordinate with a BZ?
It's low priority for me at the moment - I would like people to do this to functions they put new features in though. I'm currently thinking of how to get rid of the "hybrid SLP" code which currently still serves the useful purpose of detecting relevant stmts that are not covered by the SLP build. That somehow interacts with doing single-lane SLP build, if we'd do that in a more straight-forward way we'd guaranteed full cover. But before doing any of that I wonder whether to try fixing PR119960 for 15.2 which would require somehow computing whether we can SLP schedule a SLP graph. Richard. > Thanks, > Tamar > > > > 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. > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)