aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2018-10-12 16:31:11 +0000
committerPeter Bergner <bergner@gcc.gnu.org>2018-10-12 11:31:11 -0500
commitd8d3cc098eda75481a13d66f6e04fadffc5cecff (patch)
tree915ff7d64f08a834124582b7d3f5a7a2cc05cb68 /gcc
parenta01abe9d08712c3cd691589ce606e30caabfdcb2 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/ira-lives.c5
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