diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2023-11-11 17:28:58 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2023-11-11 17:28:58 +0000 |
commit | 29d3e1892ebec8abce784077d1f1a3e21d763218 (patch) | |
tree | 1af3eb0dee38cebde16257775b58d33cace18489 /gcc/gimple-range-cache.cc | |
parent | 4b803fbf839439b1deca660e32d5ced211111dfa (diff) | |
download | gcc-29d3e1892ebec8abce784077d1f1a3e21d763218.zip gcc-29d3e1892ebec8abce784077d1f1a3e21d763218.tar.gz gcc-29d3e1892ebec8abce784077d1f1a3e21d763218.tar.bz2 |
mode-switching: Pass set of live registers to the needed hook
The emit hook already takes the set of live hard registers as input.
This patch passes it to the needed hook too. SME uses this to
optimise the mode choice based on whether state is live or dead.
The main caller already had access to the required info, but the
special handling of return values did not.
gcc/
* target.def (mode_switching.needed): Add a regs_live parameter.
* doc/tm.texi: Regenerate.
* config/epiphany/epiphany-protos.h (epiphany_mode_needed): Update
accordingly.
* config/epiphany/epiphany.cc (epiphany_mode_needed): Likewise.
* config/epiphany/mode-switch-use.cc (insert_uses): Likewise.
* config/i386/i386.cc (ix86_mode_needed): Likewise.
* config/riscv/riscv.cc (riscv_mode_needed): Likewise.
* config/sh/sh.cc (sh_mode_needed): Likewise.
* mode-switching.cc (optimize_mode_switching): Likewise.
(create_pre_exit): Likewise, using the DF simulate functions
to calculate the required information.
Diffstat (limited to 'gcc/gimple-range-cache.cc')
0 files changed, 0 insertions, 0 deletions