From: Robin Dapp <[email protected]> This is v2 of the dependent-filters patch. Changes:
- Remove handling in ira "fast allocation" mode. - Move and fix lra/ira declarations. - Add riscv example to docs and cross-references for magic number in gensupport/genconfig. - Remove default arguments and fix callers in genpreds. It was bootstrapped and regtested on x86, power10, and aarch64. Regtested on riscv64. Robin Dapp (5): genpreds: Dependent, dynamic register filters. recog: Handle dependent filters. lra: Support dependent filters. RISC-V: Example dependent filter for RVV widen overlap. ira: Add dependent filter handling. gcc/config/riscv/constraints.md | 8 + gcc/config/riscv/riscv-protos.h | 2 + gcc/config/riscv/riscv.cc | 37 +++ gcc/config/riscv/vector.md | 16 +- gcc/doc/md.texi | 45 +++- gcc/doc/tm.texi | 3 + gcc/doc/tm.texi.in | 3 + gcc/genconfig.cc | 6 +- gcc/genpreds.cc | 166 ++++++++++++- gcc/gensupport.cc | 37 ++- gcc/gensupport.h | 2 + gcc/ira-build.cc | 25 ++ gcc/ira-color.cc | 56 ++++- gcc/ira-conflicts.cc | 52 +++- gcc/ira-int.h | 23 ++ gcc/ira-lives.cc | 97 ++++++++ gcc/ira.cc | 1 + gcc/lra-assigns.cc | 23 ++ gcc/lra-constraints.cc | 227 ++++++++++++++++++ gcc/lra-int.h | 22 ++ gcc/lra.cc | 11 +- gcc/lra.h | 3 + gcc/recog.cc | 32 ++- gcc/recog.h | 16 ++ gcc/rtl.def | 10 +- .../gcc.target/riscv/rvv/base/pr112431-4.c | 2 +- .../gcc.target/riscv/rvv/base/pr112431-5.c | 2 +- .../gcc.target/riscv/rvv/base/pr112431-6.c | 2 +- 28 files changed, 892 insertions(+), 37 deletions(-) -- 2.54.0
