aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>2019-05-13 15:19:50 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2019-05-13 11:19:50 -0400
commit2a03d8cab78b0876fcc9580b5657efc3403ba6df (patch)
tree46be186614c26c28dde78faadb0f59c3067e9c99 /gcc
parent6221eb9d9df480a20831ff02e934c883d0d5ba0c (diff)
downloadgcc-2a03d8cab78b0876fcc9580b5657efc3403ba6df.zip
gcc-2a03d8cab78b0876fcc9580b5657efc3403ba6df.tar.gz
gcc-2a03d8cab78b0876fcc9580b5657efc3403ba6df.tar.bz2
re PR bootstrap/90418 (powerpc-darwin9 bootstrap fails after r271013)
PR target/90418 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Don't load EH data registers in sibcall epilogues. Don't add EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues. From-SVN: r271130
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 65771fb..f53d5b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2019-05-13 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/90418
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Don't load EH
+ data registers in sibcall epilogues.
+ Don't add EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues.
+
2019-05-13 Uroš Bizjak <ubizjak@gmail.com>
PR target/89221
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 933356d..b886f58 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -28423,7 +28423,7 @@ rs6000_emit_epilogue (int sibcall)
restore_saved_lr (0, exit_func);
/* Load exception handler data registers, if needed. */
- if (crtl->calls_eh_return)
+ if (!sibcall && crtl->calls_eh_return)
{
unsigned int i, regno;
@@ -28614,7 +28614,7 @@ rs6000_emit_epilogue (int sibcall)
RTX_FRAME_RELATED_P (insn) = 1;
}
- if (crtl->calls_eh_return)
+ if (!sibcall && crtl->calls_eh_return)
{
rtx sa = EH_RETURN_STACKADJ_RTX;
emit_insn (gen_add3_insn (sp_reg_rtx, sp_reg_rtx, sa));