From: green Date: Sun, 21 Nov 2010 03:49:21 +0000 (+0000) Subject: moxie EH fixes X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7ae1b0e99203428a7eaee0959803d82efe0a1649;p=thirdparty%2Fgcc.git moxie EH fixes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166997 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/config/moxie/moxie.h b/gcc/config/moxie/moxie.h index 6f64a7b578c3..c3b3454354a8 100644 --- a/gcc/config/moxie/moxie.h +++ b/gcc/config/moxie/moxie.h @@ -285,6 +285,21 @@ enum reg_class pointer registers are already assumed to be used as needed. */ #define EPILOGUE_USES(R) (R == MOXIE_R5) +/* A C expression whose value is RTL representing the location of the + incoming return address at the beginning of any function, before + the prologue. */ +#define INCOMING_RETURN_ADDR_RTX \ + gen_frame_mem (Pmode, \ + plus_constant (stack_pointer_rtx, UNITS_PER_WORD)) + +/* Describe how we implement __builtin_eh_return. */ +#define EH_RETURN_DATA_REGNO(N) ((N) < 4 ? (N+2) : INVALID_REGNUM) + +/* Store the return handler into the call frame. */ +#define EH_RETURN_HANDLER_RTX \ + gen_frame_mem (Pmode, \ + plus_constant (frame_pointer_rtx, UNITS_PER_WORD)) + /* Storage Layout */ #define BITS_BIG_ENDIAN 0