[PATCH] D79492: [RISCV] Improve constant materialization
Luís Marques via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 6 08:03:03 PDT 2020
luismarques created this revision.
luismarques added reviewers: asb, lenary.
Herald added subscribers: llvm-commits, evandro, apazos, sameer.abuasal, pzheng, s.egerton, Jim, benna, psnobl, jocewei, PkmX, rkruppe, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, MaskRay, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, hiraditya.
Herald added a project: LLVM.
This patch adds several tatics for `RISCVMatInt::generateInstSeq` to try decompose the constant/immediate to materialize, which can find less costly materialization alternatives for RV64 than what we emit with the generic approach. Some of those tactics depend on each other to be effective. This addresses many of the less-than-optimal materializations in the `imm.ll` test.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D79492
Files:
llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp
llvm/test/CodeGen/RISCV/add-before-shl.ll
llvm/test/CodeGen/RISCV/copysign-casts.ll
llvm/test/CodeGen/RISCV/double-bitmanip-dagcombines.ll
llvm/test/CodeGen/RISCV/double-intrinsics.ll
llvm/test/CodeGen/RISCV/double-mem.ll
llvm/test/CodeGen/RISCV/float-bit-preserving-dagcombines.ll
llvm/test/CodeGen/RISCV/float-mem.ll
llvm/test/CodeGen/RISCV/imm.ll
llvm/test/CodeGen/RISCV/rv64-large-stack.ll
llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
llvm/test/CodeGen/RISCV/vararg.ll
llvm/test/MC/RISCV/rv64c-aliases-valid.s
llvm/test/MC/RISCV/rv64i-aliases-valid.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79492.262380.patch
Type: text/x-patch
Size: 15556 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200506/ac3d9a62/attachment.bin>
More information about the llvm-commits
mailing list