diff options
author | Richard Biener <rguenther@suse.de> | 2020-10-14 13:44:21 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-10-14 15:07:17 +0200 |
commit | ec5e6467091ee0f8de2f894f0c1669465a8440f1 (patch) | |
tree | c928f949a7af97b4bc3921ae1a90d5add8870af3 /gcc/cp/class.c | |
parent | 17d5739a6b103cdd3315f5d0e09fe8faa6620a03 (diff) | |
download | gcc-ec5e6467091ee0f8de2f894f0c1669465a8440f1.zip gcc-ec5e6467091ee0f8de2f894f0c1669465a8440f1.tar.gz gcc-ec5e6467091ee0f8de2f894f0c1669465a8440f1.tar.bz2 |
adjust BB SLP build from scalars heuristics
We can end up with { _1, 1.0 } * { 3.0, _2 } which isn't really
profitable. The following adjusts things so we reject more than
one possibly expensive (non-constant and not uniform) vector CTOR
and instead build a CTOR for the scalar operation results.
This also moves a check in vect_get_and_check_slp_defs to a better
place.
2020-10-14 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_get_and_check_slp_defs): Move
check for duplicate/interleave of variable size constants
to a place done once and early.
(vect_build_slp_tree_2): Adjust heuristics when to build
a BB SLP node from scalars.
Diffstat (limited to 'gcc/cp/class.c')
0 files changed, 0 insertions, 0 deletions