aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2024-10-07 13:03:05 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2024-10-07 13:03:05 +0100
commit03299164830e19405b35a5fa862e248df4ea01e2 (patch)
tree52d058506866ae0a80b2cbdc144378f3986d431d /gcc
parent8157f3f2d211bfbf53fbf8dd209b47ce583f4142 (diff)
downloadgcc-03299164830e19405b35a5fa862e248df4ea01e2.zip
gcc-03299164830e19405b35a5fa862e248df4ea01e2.tar.gz
gcc-03299164830e19405b35a5fa862e248df4ea01e2.tar.bz2
vect: Add more dump messages for VLA SLP permutation [PR116583]
Taking the !repeating_p route for VLA vectors causes analysis to fail, but it wasn't clear from the dump files when this had happened, and which node caused it. gcc/ PR tree-optimization/116583 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Add more dump messages.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree-vect-slp.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index a5cd596..849863c 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -10333,10 +10333,22 @@ vectorizable_slp_permutation_1 (vec_info *vinfo, gimple_stmt_iterator *gsi,
instead of relying on the pattern described above. */
if (!nunits.is_constant (&npatterns)
|| !TYPE_VECTOR_SUBPARTS (op_vectype).is_constant ())
- return -1;
+ {
+ if (dump_p)
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "unsupported permutation %p on variable-length"
+ " vectors\n", (void *) node);
+ return -1;
+ }
nelts_per_pattern = ncopies = 1;
if (linfo && !LOOP_VINFO_VECT_FACTOR (linfo).is_constant (&ncopies))
- return -1;
+ {
+ if (dump_p)
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "unsupported permutation %p for variable VF\n",
+ (void *) node);
+ return -1;
+ }
pack_p = false;
unpack_factor = 1;
}