[PATCH] D128876: [RISCV] Fix wrong register rename for store value during make-compressible optimization
Kito Cheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 29 22:18:08 PDT 2022
kito-cheng created this revision.
Herald added subscribers: sunshaoce, VincentWu, luke957, vkmr, frasercrmck, evandro, 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.
kito-cheng requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.
Current implementation will rename both register in store instructions if
we store base address into memory with same base register, it's OK if
the offset is 0, however that is wrong transform if offset isn't 0, give
a smalle example here:
sd a0, 808(a0)
We should not transform into:
addi a2, a0, 768
sd a2, 40(a2)
That should just rename base address like this:
addi a2, a0, 768
sd a0, 40(a2)
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D128876
Files:
llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
llvm/test/CodeGen/RISCV/make-compressible-for-store-address.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D128876.441264.patch
Type: text/x-patch
Size: 10579 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220630/708aca23/attachment-0001.bin>
More information about the llvm-commits
mailing list