From 3810076ba72986ec17bc02043ea7897fd5b73434 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Tue, 3 May 2011 11:52:38 +0000 Subject: gengenrtl.c (special_rtx): PC, CC0 and RETURN are special. * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special. * genemit.c (gen_exp): Handle RETURN. * emit-rtl.c (verify_rtx_sharing): Likewise. (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially. * rtl.c (copy_rtx): RETURN is shared. * rtl.h (enum global_rtl_index): Add GR_RETURN. (ret_rtx): New. * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN. * config/s390/s390.c (s390_emit_epilogue): Likewise. * config/rx/rx.c (gen_rx_rtsd_vector): Likewise. * config/cris/cris.c (cris_expand_return): Likewise. * config/m68k/m68k.c (m68k_expand_epilogue): Likewise. * config/rs6000/rs6000.c (rs6000_make_savres_rtx, rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise. * config/picochip/picochip.c (picochip_expand_epilogue): Likewise. * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue): Likewise. * config/v850/v850.c (expand_epilogue): Likewise. * config/bfin/bfin.c (bfin_expand_call): Likewise. * config/arm/arm.md (epilogue): Likewise. * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise. * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx variable to ret_reg. From-SVN: r173300 --- gcc/rtl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/rtl.h') diff --git a/gcc/rtl.h b/gcc/rtl.h index 67dbf2b..04021a3 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -2045,6 +2045,7 @@ enum global_rtl_index { GR_PC, GR_CC0, + GR_RETURN, GR_STACK_POINTER, GR_FRAME_POINTER, /* For register elimination to work properly these hard_frame_pointer_rtx, @@ -2134,6 +2135,7 @@ extern struct target_rtl *this_target_rtl; /* Standard pieces of rtx, to be substituted directly into things. */ #define pc_rtx (global_rtl[GR_PC]) +#define ret_rtx (global_rtl[GR_RETURN]) #define cc0_rtx (global_rtl[GR_CC0]) /* All references to certain hard regs, except those created -- cgit v1.1