[PATCH] D108052: [RISCV] Improve constant materialization for stores of i16 or i32 negative constants.

Luís Marques via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 18 05:18:10 PDT 2021


luismarques accepted this revision.
luismarques added a comment.
This revision is now accepted and ready to land.

LGTM.

I wondered if we could avoid this in the first place. I looked at the `DAGCombiner::visitSTORE` transformation some days ago but it wasn't obvious to me what could be done there. (BTW, can we even access the TargetTransformInfo from there, e.g. to call getIntMatCost?)



================
Comment at: llvm/test/CodeGen/RISCV/imm.ll:481
 
 ; FIXME: This should use a single ADDI for the immediate.
 define void @imm_store_i16_neg1(i16* %p) nounwind {
----------------
Remove comment.


================
Comment at: llvm/test/CodeGen/RISCV/imm.ll:498
 
 ; FIXME: This should use a single ADDI for the immediate.
 define void @imm_store_i32_neg1(i32* %p) nounwind {
----------------
Ditto.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108052/new/

https://reviews.llvm.org/D108052



More information about the llvm-commits mailing list