aboutsummaryrefslogtreecommitdiff
path: root/libcpp/include/cpplib.h
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2025-07-09 08:39:35 +0100
committerTamar Christina <tamar.christina@arm.com>2025-07-09 08:40:49 +0100
commit6c8d221b74869f2760ded2d67f95dd9d275bc1a2 (patch)
treebd0f3f246c69403291691977923e21377a3881f3 /libcpp/include/cpplib.h
parentc7baa61a583b49df63d3df8c6336f8405e24f012 (diff)
downloadgcc-6c8d221b74869f2760ded2d67f95dd9d275bc1a2.zip
gcc-6c8d221b74869f2760ded2d67f95dd9d275bc1a2.tar.gz
gcc-6c8d221b74869f2760ded2d67f95dd9d275bc1a2.tar.bz2
middle-end: don't set range on partial vectors [PR120922]
Before the change in g:309dbcea2cabb31bde1a65cdfd30bb7f87b170a2 we would never set a range for constant VF and requires partial vector loops. I think a range could be set, since I think the number of latch executions is a ceiling division of TYPE_MAX_VALUE / vf. To account for the partial iteration. This would also then deal with the ICE cause in the PR where the chosen VF was much higher than TYPE_MAX_VALUE and that a mask is relied upon to make it safe. Since the patch was supposed to not change behavior I've added an additional partial vector check on the const_vf > 0 check to make it explicit that we only set it on non-partial vectors (alternative would have been to swap the order of the vf.constant(&const_vf)) check, but that would have hidden the requirement sneakily. The second patch adds support for ranges for partial masks. gcc/ChangeLog: PR tree-optimization/120922 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Don't set range for partial vectors. gcc/testsuite/ChangeLog: PR tree-optimization/120922 * gcc.dg/vect/pr120922.c: New test.
Diffstat (limited to 'libcpp/include/cpplib.h')
0 files changed, 0 insertions, 0 deletions