r255881 - in /trunk/gcc: ChangeLog ira.c

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Wed Dec 20 12:54:00 GMT 2017


Author: rsandifo
Date: Wed Dec 20 12:54:17 2017
New Revision: 255881

URL: https://gcc.gnu.org/viewcvs?rev=255881&root=gcc&view=rev
Log:
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.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ira.c



More information about the Gcc-cvs mailing list