Remove global call sets: cselib.c
authorRichard Sandiford <richard.sandiford@arm.com>
Mon, 30 Sep 2019 16:20:26 +0000 (16:20 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 30 Sep 2019 16:20:26 +0000 (16:20 +0000)
commit3bd2918594dae34ae84f802747471445a976af09
treeca5d15ff0518498b4c9e3377092a5b4309696c3f
parent311b62ce0310876fbffeeaab0b50707242b3e663
Remove global call sets: cselib.c

cselib_invalidate_regno is a no-op if REG_VALUES (i) is null,
so we can check that first.  Then, if we know what mode the register
currently has, we can check whether it's clobbered in that mode.

Using GET_MODE (values->elt->val_rtx) to get the mode of the last
set is taken from cselib_reg_set_mode.

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

gcc/
* cselib.c (cselib_process_insn): If we know what mode a
register was set in, check whether it is clobbered in that
mode by a call.  Only fall back to reg_raw_mode if that fails.

From-SVN: r276318
gcc/ChangeLog
gcc/cselib.c