diff options
author | Peter Bergner <bergner@linux.ibm.com> | 2018-10-12 16:31:11 +0000 |
---|---|---|
committer | Peter Bergner <bergner@gcc.gnu.org> | 2018-10-12 11:31:11 -0500 |
commit | d8d3cc098eda75481a13d66f6e04fadffc5cecff (patch) | |
tree | 915ff7d64f08a834124582b7d3f5a7a2cc05cb68 /gcc | |
parent | a01abe9d08712c3cd691589ce606e30caabfdcb2 (diff) | |
download | gcc-d8d3cc098eda75481a13d66f6e04fadffc5cecff.zip gcc-d8d3cc098eda75481a13d66f6e04fadffc5cecff.tar.gz gcc-d8d3cc098eda75481a13d66f6e04fadffc5cecff.tar.bz2 |
re PR rtl-optimization/87600 (Fix for PRs 86939 and 87479 causes build issues for several targets)
PR rtl-optimization/87600
* ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets.
From-SVN: r265113
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-lives.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2393367..ac01061 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-12 Peter Bergner <bergner@linux.ibm.com> + + PR rtl-optimization/87600 + * ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets. + 2018-10-12 Paul Koning <ni1d@arrl.net> * doc/md.texi (doloop_end): Document that the pattern code may diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index dd8b334..c5e85b9 100644 --- a/gcc/ira-lives.c +++ b/gcc/ira-lives.c @@ -1064,6 +1064,11 @@ find_call_crossed_cheap_reg (rtx_insn *insn) rtx non_conflicting_reg_copy_p (rtx_insn *insn) { + /* Reload has issues with overlapping pseudos being assigned to the + same hard register, so don't allow it. See PR87600 for details. */ + if (!targetm.lra_p ()) + return NULL_RTX; + rtx set = single_set (insn); /* Disallow anything other than a simple register to register copy |