diff options
author | Luke Lau <luke@igalia.com> | 2024-02-13 20:27:56 +0800 |
---|---|---|
committer | Luke Lau <luke@igalia.com> | 2024-02-13 20:40:31 +0800 |
commit | 208edf7672cd2e84ae5da4df423adccd752ee1f1 (patch) | |
tree | 8a5cf602accbbcf0e64509a660b9b5a18c4c0cc2 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | 990896a591b0b042cdf552900b92016ed253970d (diff) | |
download | llvm-208edf7672cd2e84ae5da4df423adccd752ee1f1.zip llvm-208edf7672cd2e84ae5da4df423adccd752ee1f1.tar.gz llvm-208edf7672cd2e84ae5da4df423adccd752ee1f1.tar.bz2 |
[RISCV] Fix assertion in lowerEXTRACT_SUBVECTOR
This fixes a crash when lowering an extract_subvector like:
t0:v1i64 = extract_subvector t1:v2i64, 1
Whilst we never need a vslidedown with M1 on scalable vector types, we might
need to do it for v1i64/v1f64, since the smallest container type for it is
nxv1i64/nxv1f64.
The lowering code is still correct for this case, but the assertion was too
strict. The actual invariant we're relying on is that ContainerSubVecVT's LMUL
<= M1, not < M1. Hence why we handled v2i32 fine, because its container type
was nxv1i32 and MF2.
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
0 files changed, 0 insertions, 0 deletions