aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
diff options
context:
space:
mode:
authorDavid Sherwood <david.sherwood@arm.com>2021-12-17 09:39:21 +0000
committerDavid Sherwood <david.sherwood@arm.com>2022-01-11 09:37:39 +0000
commit51497dc0b20179eb145820cb8f651f026960de08 (patch)
tree694147513b6631843f8f3586cfce02a2e2a65be3 /llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
parent22ac067b2dce8c90db0bbeecb6ec926f526399df (diff)
downloadllvm-51497dc0b20179eb145820cb8f651f026960de08.zip
llvm-51497dc0b20179eb145820cb8f651f026960de08.tar.gz
llvm-51497dc0b20179eb145820cb8f651f026960de08.tar.bz2
[IR] Change vector.splice intrinsic to reject out-of-bounds indices
I've changed the definition of the experimental.vector.splice instrinsic to reject indices that are known to be or possibly out-of-bounds. In practice, this means changing the definition so that the index is now only valid in the range [-VL, VL-1] where VL is the known minimum vector length. We use the vscale_range attribute to take the minimum vscale value into account so that we can permit more indices when the attribute is present. The splice intrinsic is currently only ever generated by the vectoriser, which will never attempt to splice vectors with out-of-bounds values. Changing the definition also makes things simpler for codegen since we can always assume that the index is valid. This patch was created in response to review comments on D115863 Differential Revision: https://reviews.llvm.org/D115933
Diffstat (limited to 'llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp')
0 files changed, 0 insertions, 0 deletions