Hi,

This set of patches help improve stack/array accesses by improving
constant materialization. Details are in respective patches.

The first patch is the main change which improves SPEC cactu by 10%.

As discussed/agreed for v1 [1], I've dropped the splitter variant for
stack accesses.

I also have a few follow-ups which I come back to seperately.

Thx,
-Vineet

[1] https://gcc.gnu.org/pipermail/gcc-patches/2024-March/647874.html

Vineet Gupta (2):
  RISC-V: avoid LUI based const materialization ... [part of PR/106265]
  RISC-V: avoid LUI based const mat in prologue/epilogue expansion
    [PR/105733]

 gcc/config/riscv/constraints.md               |  6 ++
 gcc/config/riscv/predicates.md                |  6 ++
 gcc/config/riscv/riscv-protos.h               |  3 +
 gcc/config/riscv/riscv.cc                     | 85 +++++++++++++++++--
 gcc/config/riscv/riscv.h                      | 22 +++++
 gcc/config/riscv/riscv.md                     | 40 +++++++++
 gcc/testsuite/gcc.target/riscv/pr105733.c     | 15 ++++
 .../riscv/rvv/autovec/vls/spill-1.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-2.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-3.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-4.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-5.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-6.c           |  4 +-
 .../riscv/rvv/autovec/vls/spill-7.c           |  4 +-
 .../gcc.target/riscv/sum-of-two-s12-const-1.c | 45 ++++++++++
 .../gcc.target/riscv/sum-of-two-s12-const-2.c | 15 ++++
 .../gcc.target/riscv/sum-of-two-s12-const-3.c | 22 +++++
 17 files changed, 266 insertions(+), 21 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/pr105733.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/sum-of-two-s12-const-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/sum-of-two-s12-const-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/sum-of-two-s12-const-3.c

-- 
2.34.1

Reply via email to