http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59477

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
A problem with doing this in create_log_links with a simpler tick counter might
be that it would prevent any combination across most of the CALL_INSNs.
Dunno how often that happens in practice though.
So perhaps for calls we'd need to do something smarter, like if we see a
CALL_INSN, look at CALL_INSN_FUNCTION_USAGE and if there are any likely spilled
regs used for arguments or return value, try to find the range of insns between
last copying of return value reg (if likely spilled) into pseudo(s), or
CALL_INSN if not returning value or return value is not likely spilled, and
first insn to set up call argument in likely spilled argument.  We could then
treat the whole range of insns as a range that clears next_use rather than
setting it to insns in that range, and ignore the above mentioned special
handling of likely spilled hard reg setters in that range.

Reply via email to