diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-12-20 12:54:17 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-12-20 12:54:17 +0000 |
commit | 9dcf1f868c048e20c72df7ee5d378625d1e77bc8 (patch) | |
tree | fbb848314cbe3951097d2ceaad0c9faa22cb53f6 /gcc/dse.c | |
parent | 7f679e470b6255bcf495b8200d66acfed1e975a3 (diff) | |
download | gcc-9dcf1f868c048e20c72df7ee5d378625d1e77bc8.tar.gz |
poly_int: ira subreg liveness tracking
Normmaly the IRA-reload interface tries to track the liveness of
individual bytes of an allocno if the allocno is sometimes written
to as a SUBREG. This isn't possible for variable-sized allocnos,
but it doesn't matter because targets with variable-sized registers
should use LRA instead.
This patch adds a get_subreg_tracking_sizes function for deciding
whether it is possible to model a partial read or write. Later
patches make it return false if anything is variable.
2017-12-20 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
gcc/
* ira.c (get_subreg_tracking_sizes): New function.
(init_live_subregs): Take an integer size rather than a register.
(build_insn_chain): Use get_subreg_tracking_sizes. Update calls
to init_live_subregs.
Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r255881
Diffstat (limited to 'gcc/dse.c')
0 files changed, 0 insertions, 0 deletions