aboutsummaryrefslogtreecommitdiff
path: root/gcc/dse.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2008-04-07 09:37:51 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2008-04-07 09:37:51 +0000
commit9dd9bf80a87fdd119261f5efb8a9ceceffb12963 (patch)
tree347d5e4db385dd943a52f0d226ebaf0dc3200e8a /gcc/dse.c
parentf9985df51b32cb265f429d024e955e71fd23a4f1 (diff)
downloadgcc-9dd9bf80a87fdd119261f5efb8a9ceceffb12963.zip
gcc-9dd9bf80a87fdd119261f5efb8a9ceceffb12963.tar.gz
gcc-9dd9bf80a87fdd119261f5efb8a9ceceffb12963.tar.bz2
Removal of Return with Depressed Stack Pointer support
Removal of Return with Depressed Stack Pointer support * tree.h (TYPE_RETURNS_STACK_DEPRESSED): Delete. (ECF_SP_DEPRESSED): Likewise. (ECF_LIBCALL_BLOCK, ECF_NOVOPS): Adjust. * calls.c (emit_call_1): Do not test ECF_SP_DEPRESSED. (flags_from_decl_or_type): Do not test TYPE_RETURNS_STACK_DEPRESSED. (expand_call): Do not test ECF_SP_DEPRESSED. * dse.c (dse_step0): Do not test TYPE_RETURNS_STACK_DEPRESSED. * function.c (keep_stack_depressed): Delete. (handle_epilogue_set): Likewise. (update_epilogue_consts): Likewise. (emit_equiv_load): Likewise. (thread_prologue_and_epilogue_insns): Remove support for Return with Depressed Stack Pointer. * print-tree.c (print_node): Do not test TYPE_RETURNS_STACK_DEPRESSED. ada/ * gigi.h (create_subprog_type): Remove returns_with_dsp parameter. * decl.c (gnat_to_gnu_entity): Adjust for above new prototype. * utils.c (create_subprog_type): Remove returns_with_dsp parameter. * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with Return by Depressed Stack Pointer. From-SVN: r133976
Diffstat (limited to 'gcc/dse.c')
-rw-r--r--gcc/dse.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/dse.c b/gcc/dse.c
index 696b2d8..d5db628 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -522,11 +522,8 @@ struct clear_alias_mode_holder
static alloc_pool clear_alias_mode_pool;
-/* This is true except for two cases:
- (1) current_function_stdarg -- i.e. we cannot do this
- for vararg functions because they play games with the frame.
- (2) In ada, it is sometimes not safe to do assume that any stores
- based off the stack frame go dead at the exit to a function. */
+/* This is true except if current_function_stdarg -- i.e. we cannot do
+ this for vararg functions because they play games with the frame. */
static bool stores_off_frame_dead_at_return;
/* Counter for stats. */
@@ -712,10 +709,7 @@ dse_step0 (void)
bb_table = XCNEWVEC (bb_info_t, last_basic_block);
rtx_group_next_id = 0;
- stores_off_frame_dead_at_return =
- (!(TREE_CODE (TREE_TYPE (current_function_decl)) == FUNCTION_TYPE
- && (TYPE_RETURNS_STACK_DEPRESSED (TREE_TYPE (current_function_decl)))))
- && (!current_function_stdarg);
+ stores_off_frame_dead_at_return = !current_function_stdarg;
init_alias_analysis ();