diff options
author | Joe Ellis <joe.ellis@arm.com> | 2020-10-26 17:40:01 +0000 |
---|---|---|
committer | Joe Ellis <joe.ellis@arm.com> | 2020-10-26 17:40:04 +0000 |
commit | 467e5cf40f5da942419624d6a722567976b28a45 (patch) | |
tree | 48f903c602a2da80dc719872f9b1710c9454d7a5 /clang/lib/Basic/SourceManager.cpp | |
parent | 66d03af88c2e4932ae53787e07f502b90ab220cc (diff) | |
download | llvm-467e5cf40f5da942419624d6a722567976b28a45.zip llvm-467e5cf40f5da942419624d6a722567976b28a45.tar.gz llvm-467e5cf40f5da942419624d6a722567976b28a45.tar.bz2 |
[SVE][AArch64] Fix TypeSize warning in loop vectorization legality
The warning would fire when calling isDereferenceableAndAlignedInLoop
with a scalable load. Calling isDereferenceableAndAlignedInLoop with a
scalable load would result in the use of the now deprecated implicit
cast of TypeSize to uint64_t through the overloaded operator.
This patch fixes this issue by:
- no longer considering vector loads as candidates in
canVectorizeWithIfConvert. This doesn't make sense in the context of
identifying scalar loads to vectorize.
- making use of getFixedSize inside isDereferenceableAndAlignedInLoop --
this removes the dependency on the deprecated interface, and will
trigger an assertion error if the function is ever called with a
scalable type.
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D89798
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions