aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-01-19 01:42:11 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-01-19 01:42:11 -0800
commitd29c259b715bb5873c1b9ecf5af5ce06132a3377 (patch)
tree1279f2c86a2d7f56c162a81d8ff2ce20872bda4f /gcc/stmt.c
parent301e21af2c964ac3f7505d5bf9a45d2fe812ff29 (diff)
downloadgcc-d29c259b715bb5873c1b9ecf5af5ce06132a3377.zip
gcc-d29c259b715bb5873c1b9ecf5af5ce06132a3377.tar.gz
gcc-d29c259b715bb5873c1b9ecf5af5ce06132a3377.tar.bz2
stupid.c: Die die die.
* stupid.c: Die die die. * Makefile.in (OBJS): Remove stupid.o. (stupid.o): Likewise. * except.c (emit_eh_context): Don't emit USEs for stupid. * explow.c (probe_stack_range): Likewise. * flags.h (obey_regdecls): Remove. * flow.c (find_basic_blocks): Don't run try_merge_blocks when not optimizing. (life_analysis): Limit data collection when not optimizing. (mark_regs_live_at_end): Always mark the return value registers. (mark_used_regs): Remove dummy RETURN case. (print_rtl_with_bb): Don't consult obey_regdecls. * function.c (use_variable, use_variable_after): Remove. (assign_parms): Consult optimize not obey_regdecls. (expand_function_start): Don't emit USEs for stupid. (expand_function_end): Likewise. * global.c (build_insn_chain): Export. * integrate.c (expand_inline_function): Kill return-value USE handling code. * jump.c (jump_optimize_1): Do simple jump optimizations and dead code elimination. (calculate_can_reach_end): Remove check_deleted argument. (delete_insn): Patch out insns even when not optimizing. * local-alloc.c (block_alloc): Don't do tying when not optimizing. * rtl.h (use_variable, use_variable_after): Remove declarations. (build_insn_chain): Declare. * stmt.c (expand_value_return): Don't emit USEs for stupid. (expand_end_bindings): Likewise. (expand_decl): Likewise. Consult optimize not obey_regdecls. * toplev.c (obey_regdecls): Remove. (rest_of_compilation): Don't set it. Kill stupid in favour of flow1, local-alloc, and reload. (main): Don't set obey_regdecls. * config/nextstep.c (handle_pragma): Likewise. * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid. * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid. From-SVN: r31499
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 3cb79b1..8650953 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2722,8 +2722,6 @@ expand_value_return (val)
emit_move_insn (return_reg, val);
}
- diddle_return_value (USE);
-
/* Does any pending block have cleanups? */
while (block && block->data.block.cleanups == 0)
@@ -3689,14 +3687,6 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
/* Get rid of the beginning-mark if we don't make an end-mark. */
NOTE_LINE_NUMBER (thisblock->data.block.first_insn) = NOTE_INSN_DELETED;
- /* If doing stupid register allocation, make sure lives of all
- register variables declared here extend thru end of scope. */
-
- if (obey_regdecls)
- for (decl = vars; decl; decl = TREE_CHAIN (decl))
- if (TREE_CODE (decl) == VAR_DECL && DECL_RTL (decl))
- use_variable (DECL_RTL (decl));
-
/* Restore the temporary level of TARGET_EXPRs. */
target_temp_slot_level = thisblock->data.block.block_target_temp_slot_level;
@@ -3757,7 +3747,7 @@ expand_decl (decl)
&& TREE_CODE (type) == REAL_TYPE)
&& ! TREE_THIS_VOLATILE (decl)
&& ! TREE_ADDRESSABLE (decl)
- && (DECL_REGISTER (decl) || ! obey_regdecls)
+ && (DECL_REGISTER (decl) || optimize)
/* if -fcheck-memory-usage, check all variables. */
&& ! current_function_check_memory_usage)
{
@@ -3889,15 +3879,7 @@ expand_decl (decl)
if (TREE_READONLY (decl))
RTX_UNCHANGING_P (DECL_RTL (decl)) = 1;
#endif
-
- /* If doing stupid register allocation, make sure life of any
- register variable starts here, at the start of its scope. */
-
- if (obey_regdecls)
- use_variable (DECL_RTL (decl));
}
-
-
/* Emit code to perform the initialization of a declaration DECL. */