diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-11-21 23:41:40 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-11-21 18:41:40 -0500 |
commit | 3258e9961c0c10b625cf1bcaf7dec24a5c722f45 (patch) | |
tree | 4228f1e4d4f65d67074c0259afaae71d1cb46c05 /gcc/rtl.h | |
parent | c11c10d87b229fc9bfa4a1e0a5a342e3344f737d (diff) | |
download | gcc-3258e9961c0c10b625cf1bcaf7dec24a5c722f45.zip gcc-3258e9961c0c10b625cf1bcaf7dec24a5c722f45.tar.gz gcc-3258e9961c0c10b625cf1bcaf7dec24a5c722f45.tar.bz2 |
function.c (keep_stack_depressed): Major rework.
* function.c (keep_stack_depressed): Major rework.
(handle_epilogue_set, emit_equiv_load): New functions.
(thread_prologue_and_epilogue_insns): keep_stack_depressed now
has return value.
* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
* rtl.h (SET_IS_RETURN_P): New macro.
From-SVN: r47250
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -130,7 +130,8 @@ struct rtx_def /* 1 in an INSN if it can alter flow of control within this function. MEM_KEEP_ALIAS_SET_P in a MEM. - LINK_COST_ZERO in an INSN_LIST. */ + LINK_COST_ZERO in an INSN_LIST. + SET_IS_RETURN_P in a SET. */ unsigned int jump : 1; /* 1 in an INSN if it can call another function. LINK_COST_FREE in an INSN_LIST. */ @@ -965,6 +966,7 @@ extern unsigned int subreg_regno PARAMS ((rtx)); and SET_SRC is the value it is set to. */ #define SET_DEST(RTX) XC2EXP(RTX, 0, SET, CLOBBER) #define SET_SRC(RTX) XCEXP(RTX, 1, SET) +#define SET_IS_RETURN_P(RTX) ((RTX)->jump) /* For a TRAP_IF rtx, TRAP_CONDITION is an expression. */ #define TRAP_CONDITION(RTX) XCEXP(RTX, 0, TRAP_IF) |