aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
diff options
context:
space:
mode:
authorDavid Sherwood <david.sherwood@arm.com>2023-04-03 10:19:19 +0000
committerDavid Sherwood <david.sherwood@arm.com>2023-04-05 14:46:41 +0000
commit4f66ca3fb7d5a1cdc9d597604b58e230ad6ba0dc (patch)
tree30136dc0e7688de28c607555e32208052304b37a /llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
parent238a59c3f1fcc2af2cc88f4385d81e4522f54b86 (diff)
downloadllvm-4f66ca3fb7d5a1cdc9d597604b58e230ad6ba0dc.zip
llvm-4f66ca3fb7d5a1cdc9d597604b58e230ad6ba0dc.tar.gz
llvm-4f66ca3fb7d5a1cdc9d597604b58e230ad6ba0dc.tar.bz2
[AArch64][SME] Disable ZA LDR/STR addressing optimisations
Since the same encoded offset is used for both the vector select offset and the address offset we have to spot two patterns simulatenously in the ldr/str intrinsic inputs, i.e. vector select = base + off address = base + (off * VL) whereas currently we only look for the address pattern. I don't think this is possible in tablegen, so I suspect we'll have to do this manually as part of lowering or as a target DAG combine. For now, I've removed these tablegen patterns so that we at least do the correct thing even if the code quality isn't great. I've also changed some of the ldr/str tests to pass in the same vector select pattern (base + off) as the address pattern. Differential Revision: https://reviews.llvm.org/D147433
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp')
0 files changed, 0 insertions, 0 deletions