[PATCH] D121840: [RFC][WIP][RISCV] Fold ADDI of LLA + Load/Store code sequences

Luís Marques via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 16 12:15:50 PDT 2022


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

RFC: I'm not sure this is the best approach for achieving this...?

For medany code models we aren't folding the ADDI offset of the AUIPC+ADDI+Load/Store (i.e. LLA+Load/Store) into the Load/Store offset. We have a pass for that but it runs before register allocation, while the LLA pseudoinstruction expansion runs just before code emission. As an alternative to this patch, I'm not sure either of those could be changed to be able to run in the opposite order and handle this case?

(This is currently a WIP. TODO: implement stores, etc.)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D121840

Files:
  llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
  llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
  llvm/test/CodeGen/RISCV/codemodel-lowering.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121840.415933.patch
Type: text/x-patch
Size: 7804 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220316/213580a1/attachment.bin>


More information about the llvm-commits mailing list