aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorStephane Carrez <Stephane.Carrez@worldnet.fr>2001-07-07 18:42:17 +0200
committerStephane Carrez <ciceron@gcc.gnu.org>2001-07-07 18:42:17 +0200
commit8dd5d49d0e947401b893901df99cac4dd12722ed (patch)
treef00f06361d8af7d302241140866aa310d6381e1f /gcc
parent13daf3c1c5ed80d12db718cf3590a98792e7ecb4 (diff)
downloadgcc-8dd5d49d0e947401b893901df99cac4dd12722ed.zip
gcc-8dd5d49d0e947401b893901df99cac4dd12722ed.tar.gz
gcc-8dd5d49d0e947401b893901df99cac4dd12722ed.tar.bz2
m68hc11.c (m68hc11_initial_elimination_offset): Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM elimination.
* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM elimination. * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0. From-SVN: r43838
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/m68hc11/m68hc11.c4
-rw-r--r--gcc/config/m68hc11/m68hc11.h3
3 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc2152c..25454d7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
+ Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
+ elimination.
+ * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
+
2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
diff --git a/gcc/config/m68hc11/m68hc11.c b/gcc/config/m68hc11/m68hc11.c
index 2019109..cf5d968 100644
--- a/gcc/config/m68hc11/m68hc11.c
+++ b/gcc/config/m68hc11/m68hc11.c
@@ -1231,7 +1231,7 @@ m68hc11_initial_elimination_offset (from, to)
if (from == FRAME_POINTER_REGNUM && to == HARD_FRAME_POINTER_REGNUM)
{
- return 0;
+ return m68hc11_sp_correction;
}
/* Push any 2 byte pseudo hard registers that we need to save. */
@@ -1250,7 +1250,7 @@ m68hc11_initial_elimination_offset (from, to)
if (from == FRAME_POINTER_REGNUM && to == HARD_SP_REGNUM)
{
- return size - m68hc11_sp_correction;
+ return size;
}
return 0;
}
diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h
index 5f59826..140b1e0 100644
--- a/gcc/config/m68hc11/m68hc11.h
+++ b/gcc/config/m68hc11/m68hc11.h
@@ -875,8 +875,7 @@ extern enum reg_class m68hc11_tmp_regs_class;
If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
first local allocated. Otherwise, it is the offset to the BEGINNING
of the first local allocated. */
-extern int m68hc11_sp_correction;
-#define STARTING_FRAME_OFFSET m68hc11_sp_correction
+#define STARTING_FRAME_OFFSET 0
/* Offset of first parameter from the argument pointer register value. */