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-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d8d3cc098eda75481a13d66f6e04fadffc5cecff;p=gcc.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 23933675618..ac010614459 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 dd8b334d58e..c5e85b91f48 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