[PATCH] D157373: [RISCV] add a compress optimization for stack inst.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 12 10:40:36 PDT 2023
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1315
+ // riscv32: c.lwsp rd, offset[7:2] => 2^(6+2)
+ const uint64_t RV32CompressLen = 256;
+ // riscv64: c.lwsp rd, offset[8:3] => 2^(6+3)
----------------
Can we compute CompressLen for both RV32 and RV64 as XLen * 8? And then merge the 2 if statements?
================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1316
+ const uint64_t RV32CompressLen = 256;
+ // riscv64: c.lwsp rd, offset[8:3] => 2^(6+3)
+ const uint64_t RV64CompressLen = 512;
----------------
c.ldsp?
================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1321
+ StackSize > 2048 * 3 - StackAlign))
+ FirstSPAmount = 256;
+ else if (STI.getXLen() == 64 && (StackSize <= RV64CompressLen + 2048 ||
----------------
return 256
================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1324
+ StackSize > 2048 * 3 - StackAlign))
+ FirstSPAmount = 512;
+ }
----------------
return 512
================
Comment at: llvm/lib/Target/RISCV/RISCVFrameLowering.cpp:1326
+ }
+ return FirstSPAmount;
}
----------------
return 2048 - StackAlign
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157373/new/
https://reviews.llvm.org/D157373
More information about the llvm-commits
mailing list