aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Error.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2022-07-09 19:37:13 -0700
committerCraig Topper <craig.topper@sifive.com>2022-07-09 22:47:27 -0700
commit5f7641a3be2ed916a6e25a2ad92cfd2b1cd603d1 (patch)
treef6ab66ce738f8891bdf7ed95b92c7477edf7aa1e /llvm/lib/Support/Error.cpp
parent379428c2ac42fd3bd9bd2bf39f226dd6438e72ff (diff)
downloadllvm-5f7641a3be2ed916a6e25a2ad92cfd2b1cd603d1.zip
llvm-5f7641a3be2ed916a6e25a2ad92cfd2b1cd603d1.tar.gz
llvm-5f7641a3be2ed916a6e25a2ad92cfd2b1cd603d1.tar.bz2
[RISCV] Modify the custom isel for (add X, imm) used by load/stores.
We have custom isel that tries to select the Lo12 bits using a separate ADDI that can later folded into the load/store address by the post-isel peephole. This patch disables this if the load/store already had a non-zero offset. A non-zero offset implies that CodeGenPrepare split several large offsets used by different loads and stores into a common large offset and multiple small offsets that could be folded. Folding more of the lo12 bits changes this common offset by increasing the small offsets. While this can save an instruction to materialize the common offset, it can also prevent the small offsets from fitting in a compressed load/store instruction. Removing this also simplifies the last piece needed to fold the custom isel for add into SelectAddrRegImm and remove the post-isel peephole.
Diffstat (limited to 'llvm/lib/Support/Error.cpp')
0 files changed, 0 insertions, 0 deletions