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.