aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2021-06-22 18:08:52 +0100
committerFraser Cormack <fraser@codeplay.com>2021-06-25 07:17:33 +0100
commitab1bd255939e23117706d79698b93f933fb114f4 (patch)
tree658234f9b6e3c1ba7666f78eae9e21a35886e9b9 /llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
parentb36d214beda522ecea7062862be07b26cd36b5ba (diff)
downloadllvm-ab1bd255939e23117706d79698b93f933fb114f4.zip
llvm-ab1bd255939e23117706d79698b93f933fb114f4.tar.gz
llvm-ab1bd255939e23117706d79698b93f933fb114f4.tar.bz2
[RISCV] Permit larger RVV stacks and stack offsets
This patch teaches the compiler to generate code to handle larger RVV stack sizes and stack offsets which resolve an amount larger than 2047 vector registers in size. The previous behaviour was asserting on such large values as it was only able to materialize the constant by feeding it to the 12-bit immediate of an `ADDI` instruction. The compiler can now materialize this amount into a temporary register before continuing with the computation. A test case for this scenario is included which also checks that the temporary register used to materialize the amount doesn't require an additional spill slot over what we're already reserving for RVV code. Reviewed By: rogfer01 Differential Revision: https://reviews.llvm.org/D104727
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp')
0 files changed, 0 insertions, 0 deletions