This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Commit: RX:
- From: Nick Clifton <nickc at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 24 Jul 2014 10:04:54 +0100
- Subject: Commit: RX:
- Authentication-results: sourceware.org; auth=none
Hi Guys,
I am checking in the patch below to fix a small DWARF generation
problem with the RX backend. The stack_push pattern contains two
separate operations that act in parallel, but they were written as if
they happened in sequence. Which meant that the DWARF generated to
show where a register was pushed onto the stack was off by 4 bytes.
Cheers
Nick
gcc/ChangeLog
2014-07-24 Nick Clifton <nickc@redhat.com>
* config/rx/rx.md (stack_push): Adjust RTL to account for the fact
that operations are taking place in parallel.
* config/rx.h (FRAME_POINTER_CFA_OFFSET): Delete.
Index: gcc/config/rx/rx.h
===================================================================
--- gcc/config/rx/rx.h (revision 212971)
+++ gcc/config/rx/rx.h (working copy)
@@ -645,7 +645,6 @@
#define INCOMING_FRAME_SP_OFFSET 4
#define ARG_POINTER_CFA_OFFSET(FNDECL) 4
-#define FRAME_POINTER_CFA_OFFSET(FNDECL) 4
#define TARGET_USE_FPU (! TARGET_NO_USE_FPU)
Index: gcc/config/rx/rx.md
===================================================================
--- gcc/config/rx/rx.md (revision 212971)
+++ gcc/config/rx/rx.md (working copy)
@@ -617,7 +617,7 @@
[(set (reg:SI SP_REG)
(minus:SI (reg:SI SP_REG)
(const_int 4)))
- (set (mem:SI (reg:SI SP_REG))
+ (set (mem:SI (minus:SI (reg:SI SP_REG) (const_int 4)))
(match_operand:SI 0 "register_operand" "r"))]
""
"push.l\t%0"