From: Peter Bergner Date: Fri, 12 Oct 2018 16:31:11 +0000 (+0000) Subject: re PR rtl-optimization/87600 (Fix for PRs 86939 and 87479 causes build issues for... X-Git-Tag: basepoints/gcc-10~3720 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d8d3cc098eda75481a13d66f6e04fadffc5cecff;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 239336756187..ac0106144596 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-10-12 Peter Bergner + + PR rtl-optimization/87600 + * ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets. + 2018-10-12 Paul Koning * doc/md.texi (doloop_end): Document that the pattern code may diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index dd8b334d58ec..c5e85b91f48e 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