Remove global call sets: combine.c
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:20:19 +0000 (16:20 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:20:19 +0000 (16:20 +0000)
commit212b7076eec027d212e1badb9cb5a9db4b62ab50
tree438802bf43b290eac420cfb6f0571e80e3e40f75
parent43b484fbf281553353c6ef55ff0871b222579004
Remove global call sets: combine.c

There shouldn't be many cases in which a useful hard register is
live across a call before RA, so we might as well keep things simple
and invalidate partially-clobbered registers here, in case the values
they hold leak into the call-clobbered part.  In principle this is
a bug fix for TARGET_HARD_REGNO_CALL_PART_CLOBBERED targets,
but in practice it probably doesn't make a difference.

2019-09-30  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* combine.c: Include function-abi.h.
(record_dead_and_set_regs): Use insn_callee_abi to get the ABI
of the target of call insns.  Invalidate partially-clobbered
registers as well as fully-clobbered ones.

From-SVN: r276316
gcc/ChangeLog
gcc/combine.c