diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2015-04-24 04:49:34 +0000 |
---|---|---|
committer | Thomas Preud'homme <thopre01@gcc.gnu.org> | 2015-04-24 04:49:34 +0000 |
commit | 8fceae614f031382bc1fa39f94c7d928b5d81f4e (patch) | |
tree | 3cadb8317ca0e770ce8c62f746e822584b88cf9e /gcc/genrecog.c | |
parent | 62d47a882758add1f94f26941c7461ecebcf4b3e (diff) | |
download | gcc-8fceae614f031382bc1fa39f94c7d928b5d81f4e.zip gcc-8fceae614f031382bc1fa39f94c7d928b5d81f4e.tar.gz gcc-8fceae614f031382bc1fa39f94c7d928b5d81f4e.tar.bz2 |
re PR rtl-optimization/34503 (Issues with constant/copy propagation implementation in gcse.c)
2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
Steven Bosscher <steven@gcc.gnu.org>
gcc/
PR rtl-optimization/34503
* cprop.c (cprop_reg_p): New.
(hash_scan_set): Use above function to check if register can be
propagated.
(find_avail_set): Return up to two sets, one whose source is a
register and one whose source is a constant. Sets are returned in an
array passed as parameter rather than as a return value.
(cprop_insn): Use a do while loop rather than a goto. Try each of the
sets returned by find_avail_set, starting with the one whose source is
a constant. Use cprop_reg_p to check if register can be propagated.
(do_local_cprop): Use cprop_reg_p to check if register can be
propagated.
(implicit_set_cond_p): Likewise.
gcc/testsuite/
PR rtl-optimization/34503
* gcc.target/arm/pr64616.c: New file.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r222398
Diffstat (limited to 'gcc/genrecog.c')
0 files changed, 0 insertions, 0 deletions