aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-11-21 23:41:40 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-11-21 18:41:40 -0500
commit3258e9961c0c10b625cf1bcaf7dec24a5c722f45 (patch)
tree4228f1e4d4f65d67074c0259afaae71d1cb46c05 /gcc/rtl.h
parentc11c10d87b229fc9bfa4a1e0a5a342e3344f737d (diff)
downloadgcc-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.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 7cc1843..31dabb8 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -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)