]> git.ipfire.org Git - thirdparty/gcc.git/commit
Remove global call sets: postreload.c
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Sep 2019 16:21:03 +0000 (16:21 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Sep 2019 16:21:03 +0000 (16:21 +0000)
commit3ac59eb0fe41f6292fa05699100d365f775f1ec3
treeebe1e2ff7e6b3f96657d2c4f32da863ed2ea8fa9
parent2f9fa72f5a8e359e5a2076b7fac6c8933ca03556
Remove global call sets: postreload.c

The "|= fixed_regs" in reload_combine isn't necessary, since the
set is only used to determine which values have changed (rather than,
for example, which registers are available for use).

In reload_cse_move2add we can be accurate about which registers
are still available.  BLKmode indicates a continuation of the
previous register, and since clobbers_reg_p handles multi-register
values, it's enough to skip over BLKmode entries and just test the
start register.

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

gcc/
* postreload.c (reload_combine_recognize_pattern): Use crtl->abi
when deciding whether a register is free for use after RA.
(reload_combine): Remove unnecessary use of fixed_reg_set.
(reload_cse_move2add): Use insn_callee_abi to get the ABI of the
call insn target.  Use reg_mode when testing whether a register
is no longer available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276328 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/postreload.c