middle-end: updating the reg use in exit block for -fzero-call-used-regs [PR100775]
authorQing Zhao <qing.zhao@oracle.com>
Thu, 10 Feb 2022 16:40:39 +0000 (16:40 +0000)
committerQing Zhao <qing.zhao@oracle.com>
Thu, 10 Feb 2022 16:40:39 +0000 (16:40 +0000)
commitb32305b41dcafc5fb6974c0da3ce2f62251afdbf
treed980bacbac4be2ebd71d4e73221bf47d6a2ef270
parent53fcc46339239c4958e2a15bb9e59274133bbcf7
middle-end: updating the reg use in exit block for -fzero-call-used-regs [PR100775]

In the pass_zero_call_used_regs, when updating dataflow info after adding
the register zeroing sequence in the epilogue of the function, we should
call "df_update_exit_block_uses" to update the register use information in
the exit block to include all the registers that have been zeroed.

2022-02-10  Qing Zhao  <qing.zhao@oracle.com>

gcc/ChangeLog:

PR middle-end/100775
* function.cc (gen_call_used_regs_seq): Call
df_update_exit_block_uses when updating df.

gcc/testsuite/ChangeLog:

PR middle-end/100775
* gcc.target/arm/pr100775.c: New test.
gcc/function.cc
gcc/testsuite/gcc.target/arm/pr100775.c [new file with mode: 0644]