[PATCH] D104727: [RISCV] Permit RVV stack offsets larger than 12 bits

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 22 10:58:58 PDT 2021


frasercrmck created this revision.
frasercrmck added reviewers: craig.topper, HsiangKai, rogfer01, evandro, khchen, arcbbb.
Herald added subscribers: vkmr, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
frasercrmck requested review of this revision.
Herald added subscribers: llvm-commits, MaskRay.
Herald added a project: LLVM.

This patch teaches the compiler to generate code for large RVV scalable
components of stack offsets which don't fit into the 12-bit field of an
`ADDI` instruction. The previous behaviour was asserting on such large
values. 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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D104727

Files:
  llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
  llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104727.353714.patch
Type: text/x-patch
Size: 5356 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210622/5b1182d8/attachment.bin>


More information about the llvm-commits mailing list