aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-05-06 10:19:07 +0000
committerNick Clifton <nickc@gcc.gnu.org>2015-05-06 10:19:07 +0000
commitedbb33c7958d9ebb202f8dbfa84901e0b6d5ef7a (patch)
tree45bf2fa3ce8f7df877e95a21c2dee5e14ae6ddbd
parentc88718a925f12cb3815a3de6a653c903a0da3f3d (diff)
downloadgcc-edbb33c7958d9ebb202f8dbfa84901e0b6d5ef7a.zip
gcc-edbb33c7958d9ebb202f8dbfa84901e0b6d5ef7a.tar.gz
gcc-edbb33c7958d9ebb202f8dbfa84901e0b6d5ef7a.tar.bz2
rl78.c (need_to_save): Save register 22 if it is used, even if it is not being used as a frame pointer.
* config/rl78/rl78.c (need_to_save): Save register 22 if it is used, even if it is not being used as a frame pointer. From-SVN: r222845
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rl78/rl78.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc88220..2593a3c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rl78/rl78.c (need_to_save): Save register 22 if it is
+ used, even if it is not being used as a frame pointer.
+
2015-05-05 Jason Merrill <jason@redhat.com>
* dwarf2out.c (gen_member_die): Don't emit anything for an
diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c
index 0ca5515..4831893 100644
--- a/gcc/config/rl78/rl78.c
+++ b/gcc/config/rl78/rl78.c
@@ -687,7 +687,8 @@ need_to_save (unsigned int regno)
return df_regs_ever_live_p (regno);
}
- if (regno == FRAME_POINTER_REGNUM && frame_pointer_needed)
+ if (regno == FRAME_POINTER_REGNUM
+ && (frame_pointer_needed || df_regs_ever_live_p (regno)))
return true;
if (fixed_regs[regno])
return false;