diff options
author | Richard Henderson <rth@cygnus.com> | 2000-01-19 01:42:11 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-01-19 01:42:11 -0800 |
commit | d29c259b715bb5873c1b9ecf5af5ce06132a3377 (patch) | |
tree | 1279f2c86a2d7f56c162a81d8ff2ce20872bda4f /gcc/local-alloc.c | |
parent | 301e21af2c964ac3f7505d5bf9a45d2fe812ff29 (diff) | |
download | gcc-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/local-alloc.c')
-rw-r--r-- | gcc/local-alloc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index 20857a9..a8bb1e1 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -1110,7 +1110,8 @@ block_alloc (b) If tying is done, WIN is set nonzero. */ - if (recog_data.n_operands > 1 + if (optimize + && recog_data.n_operands > 1 && recog_data.constraints[0][0] == '=' && recog_data.constraints[0][1] != '&') { @@ -1194,7 +1195,8 @@ block_alloc (b) destination register won't have had a quantity number assigned, since that would prevent combining. */ - if (GET_CODE (PATTERN (insn)) == CLOBBER + if (optimize + && GET_CODE (PATTERN (insn)) == CLOBBER && (r0 = XEXP (PATTERN (insn), 0), GET_CODE (r0) == REG) && (link = find_reg_note (insn, REG_LIBCALL, NULL_RTX)) != 0 |