This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH]: Remove INCOMING_RETURN_ADDR_RTX for HC11/HC12 port
- To: gcc-patches at gcc dot gnu dot org
- Subject: [PATCH]: Remove INCOMING_RETURN_ADDR_RTX for HC11/HC12 port
- From: Stephane Carrez <Stephane dot Carrez at worldnet dot fr>
- Date: Sun, 30 Sep 2001 14:51:33 +0200
Hi!
C++ exceptions based on dwarf2 frame unwinding are so large that
they are unusable for 68hc11/68hc12. The setjmp/longjmp C++ exceptions
are smaller. I've committed this patch that removes INCOMING_RETURN_ADDR_RTX
and thus enables setjmp/longjmp exceptions by default (and reduces libgcc runtime).
Committed on 3_0 branch and mainline.
Stephane
2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
that we use setjmp/longjmp exceptions.
Index: config/m68hc11/m68hc11.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m68hc11/m68hc11.h,v
retrieving revision 1.20
diff -u -p -r1.20 m68hc11.h
--- m68hc11.h 2001/08/09 22:33:25 1.20
+++ m68hc11.h 2001/09/30 12:41:45
@@ -881,16 +881,6 @@ extern enum reg_class m68hc11_tmp_regs_c
#define FIRST_PARM_OFFSET(FNDECL) 2
-/* A C expression whose value is RTL representing the location of the
- incoming return address at the beginning of any function, before the
- prologue. This RTL is either a REG, indicating that the return
- value is saved in REG, or a MEM representing a location in
- the stack.
-
- Before the prologue, RA is at 0(sp). */
-#define INCOMING_RETURN_ADDR_RTX \
- gen_rtx_MEM (VOIDmode, gen_rtx_REG (VOIDmode, STACK_POINTER_REGNUM))
-
/* After the prologue, RA is at 0(AP) in the current frame. */
#define RETURN_ADDR_RTX(COUNT, FRAME) \
((COUNT) == 0 \