aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-07-20 13:09:17 +0200
committerRichard Biener <rguenther@suse.de>2023-07-21 09:28:44 +0200
commit9a8782e63790842d1bfa03e12eecf73c4aaeb1f8 (patch)
tree1b792f276ed4c16c159c2076896f7b1ea4d7fde9 /gcc/tree-ssa-phiopt.cc
parent89619f87697a0e0b54be4627f0f811f6c486ffe5 (diff)
downloadgcc-9a8782e63790842d1bfa03e12eecf73c4aaeb1f8.zip
gcc-9a8782e63790842d1bfa03e12eecf73c4aaeb1f8.tar.gz
gcc-9a8782e63790842d1bfa03e12eecf73c4aaeb1f8.tar.bz2
tree-optimization/110742 - fix latent issue with permuting existing vectors
When we materialize a layout we push edge permutes to constant/external defs without checking we can actually do so. For externals defined by vector stmts rather than scalar components we can't. PR tree-optimization/110742 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout): Do not materialize an edge permutation in an external node with vector defs. (vect_slp_analyze_node_operations_1): Guard purely internal nodes better. * g++.dg/torture/pr110742.C: New testcase.
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
0 files changed, 0 insertions, 0 deletions