[PATCH] D158913: [RISCV] Add a cross basic block VXRM write insertion pass.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 25 16:40:55 PDT 2023
craig.topper created this revision.
craig.topper added reviewers: eopXD, arcbbb, reames, kito-cheng, frasercrmck.
Herald added subscribers: jobnoorman, luke, sunshaoce, VincentWu, vkmr, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya, arichardson.
Herald added a project: All.
craig.topper requested review of this revision.
Herald added subscribers: wangpc, MaskRay.
Herald added a project: LLVM.
This is based on D122709 <https://reviews.llvm.org/D122709> without the loop hoisting support. It has
been updated to be more consistent with the dataflow in handling in
the current vsetvli insertion pass.
I've separated VXRM handling from FRM handling since FRM requires
restoring and VXRM doesn't. We may even consider moving VXRM insertion
after register allocation to give more scheduler freedom.
A future patch will support hoisting out of loops.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D158913
Files:
llvm/lib/Target/RISCV/CMakeLists.txt
llvm/lib/Target/RISCV/RISCV.h
llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
llvm/test/CodeGen/RISCV/O0-pipeline.ll
llvm/test/CodeGen/RISCV/O3-pipeline.ll
llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158913.553668.patch
Type: text/x-patch
Size: 33084 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230825/ee823699/attachment-0001.bin>
More information about the llvm-commits
mailing list