aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Demangle/RustDemangle.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2021-05-14 13:56:41 +0100
committerFraser Cormack <fraser@codeplay.com>2021-06-02 09:27:44 +0100
commit3b0a33d0ade8a6bacfb5a843f3263806cd12da0a (patch)
treeef9f8214258b5e054e2feee4ff96413e08709279 /llvm/lib/Demangle/RustDemangle.cpp
parent5f25145306e7f05a468b4520e31e05aaae66b2a0 (diff)
downloadllvm-3b0a33d0ade8a6bacfb5a843f3263806cd12da0a.zip
llvm-3b0a33d0ade8a6bacfb5a843f3263806cd12da0a.tar.gz
llvm-3b0a33d0ade8a6bacfb5a843f3263806cd12da0a.tar.bz2
[RISCV] Expand unaligned fixed-length vector memory accesses
RVV vectors must be aligned to their element types, so anything less is unaligned. For regular loads and stores, our custom-lowering of fixed-length vectors meant that we opted out of LegalizeDAG's built-in unaligned expansion. This patch adds that logic in to our custom lower function. For masked intrinsics, we declare that anything unaligned is not legal, leaving the ScalarizeMaskedMemIntrin pass to do the expansion for us. Note that neither of these methods can handle the expansion of scalable-vector memory ops, so those cases are left alone by this patch. Scalable loads and stores already go through expansion by default but hit an assertion, and scalable masked intrinsics will silently generate incorrect code. It may be prudent to return an error in both of these cases. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D102493
Diffstat (limited to 'llvm/lib/Demangle/RustDemangle.cpp')
0 files changed, 0 insertions, 0 deletions