From 7c27e184c87d2b245f80287be1d28f686b68519e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 17 Aug 2004 07:27:16 +0000 Subject: Makefile.in: Regenerate. 2004-08-17 Paolo Bonzini * Makefile.in: Regenerate. * configure: Regenerate. * Makefile.def (bootstrap-stage): Rename extra_*_flags to stage_*_flags. * Makefile.tpl (configure-[+module+], all-[+module+]): Exit for bootstrapped modules if toplevel bootstrap is going. (GCC bootstrap): Generate per-stage targets for all bootstrapped modules. Adjust for changes in Makefile.def. Enable several rules even in non-bootstrap mode, just to avoid peppering the template with unnecessary "@if/@endif gcc-bootstrap" pairs. (stage-[+prev+]-bubble): Remove. * Makefile.def (Dependencies): Depend on all-build-bison, all-build-flex, all-build-byacc, all-build-texinfo, rather than the host variations. * Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout with BUILD_SUBDIR. (BISON): Update for recent Bisons. (YACC): Fix typo. (cross): Depend on all-build. (all): Do not depend on all-build. (prebootstrap): Remove. (dep-kind): Accept separate prefixes for MODULE and ON variables. (Prebootstrap dependencies): Add them to the per-stage targets and to all-prebootstrap. * configure.in (build_configdirs): Always enable build_tools. (BUILD_DIR_PREFIX): Remove. * Makefile.def (gcc): Add target variable. (gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags. * Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*) in the recursive `make', instead of hardwiring `all'. (Autogenerated TARGET-* variables): New. gcc/ChangeLog: 2004-08-17 Paolo Bonzini * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO. No need to check if in a cross configuration. * configure: Regenerate. * calls.c (precompute_register_parameters): Inline preserve_subexpressions_p (). * expmed.c (expand_mult_const, emit_store_flag): Likewise. * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn): Likewise. * expr.c (get_subtarget): Likewise. * rtl.h (preserve_subexpressions_p): Remove. * stmt.c (preserve_subexpressions_p): Remove. * dojump.c (do_jump) : Abort on gimplified cases. From-SVN: r86111 --- gcc/expmed.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'gcc/expmed.c') diff --git a/gcc/expmed.c b/gcc/expmed.c index 75427e1..b44ba65 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -2547,13 +2547,12 @@ expand_mult_const (enum machine_mode mode, rtx op0, HOST_WIDE_INT val, for (opno = 1; opno < alg->ops; opno++) { int log = alg->log[opno]; - int preserve = preserve_subexpressions_p (); - rtx shift_subtarget = preserve ? 0 : accum; + rtx shift_subtarget = optimize ? 0 : accum; rtx add_target = (opno == alg->ops - 1 && target != 0 && variant != add_variant - && ! preserve) + && !optimize) ? target : 0; - rtx accum_target = preserve ? 0 : accum; + rtx accum_target = optimize ? 0 : accum; switch (alg->op[opno]) { @@ -2615,8 +2614,8 @@ expand_mult_const (enum machine_mode mode, rtx op0, HOST_WIDE_INT val, build_int_cst (NULL_TREE, log, 0), NULL_RTX, 0); accum = force_operand (gen_rtx_MINUS (mode, tem, accum), - (add_target ? add_target - : preserve ? 0 : tem)); + (add_target + ? add_target : (optimize ? 0 : tem))); val_so_far = (val_so_far << log) - val_so_far; break; @@ -4829,8 +4828,7 @@ emit_store_flag (rtx target, enum rtx_code code, rtx op0, rtx op1, compare_mode = insn_data[(int) icode].operand[0].mode; subtarget = target; pred = insn_data[(int) icode].operand[0].predicate; - if (preserve_subexpressions_p () - || ! (*pred) (subtarget, compare_mode)) + if (optimize || ! (*pred) (subtarget, compare_mode)) subtarget = gen_reg_rtx (compare_mode); pattern = GEN_FCN (icode) (subtarget); @@ -4863,7 +4861,7 @@ emit_store_flag (rtx target, enum rtx_code code, rtx op0, rtx op1, /* If we want to keep subexpressions around, don't reuse our last target. */ - if (preserve_subexpressions_p ()) + if (optimize) subtarget = 0; /* Now normalize to the proper value in COMPARE_MODE. Sometimes @@ -4908,10 +4906,10 @@ emit_store_flag (rtx target, enum rtx_code code, rtx op0, rtx op1, delete_insns_since (last); - /* If expensive optimizations, use different pseudo registers for each - insn, instead of reusing the same pseudo. This leads to better CSE, - but slows down the compiler, since there are more pseudos */ - subtarget = (!flag_expensive_optimizations + /* If optimizing, use different pseudo registers for each insn, instead + of reusing the same pseudo. This leads to better CSE, but slows + down the compiler, since there are more pseudos */ + subtarget = (!optimize && (target_mode == mode)) ? target : NULL_RTX; /* If we reached here, we can't do this with a scc insn. However, there -- cgit v1.1