[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