diff options
author | Paolo Bonzini <bonzini@gcc.gnu.org> | 2004-08-17 07:27:16 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2004-08-17 07:27:16 +0000 |
commit | 7c27e184c87d2b245f80287be1d28f686b68519e (patch) | |
tree | 0f8a615af173ede05125885d4bfc8d27ef332ff7 /gcc/optabs.c | |
parent | 9a9ff549030a22a0b8c0af58b633e006073959d7 (diff) | |
download | gcc-7c27e184c87d2b245f80287be1d28f686b68519e.tar.gz |
Makefile.in: Regenerate.
2004-08-17 Paolo Bonzini <bonzini@gnu.org>
* 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 <bonzini@gnu.org>
* 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) <COND_EXPR, EQ_EXPR, NE_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
Abort on gimplified cases.
From-SVN: r86111
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index ab826769fad..42f714b3d82 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -782,13 +782,13 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1, binoptab = add_optab; } - /* If we are inside an appropriately-short loop and one operand is an - expensive constant, force it into a register. */ - if (CONSTANT_P (op0) && preserve_subexpressions_p () + /* If we are inside an appropriately-short loop and we are optimizing, + force expensive constants into a register. */ + if (CONSTANT_P (op0) && optimize && rtx_cost (op0, binoptab->code) > COSTS_N_INSNS (1)) op0 = force_reg (mode, op0); - if (CONSTANT_P (op1) && preserve_subexpressions_p () + if (CONSTANT_P (op1) && optimize && ! shift_op && rtx_cost (op1, binoptab->code) > COSTS_N_INSNS (1)) op1 = force_reg (mode, op1); @@ -2348,13 +2348,13 @@ expand_twoval_binop (optab binoptab, rtx op0, rtx op1, rtx targ0, rtx targ1, op1 = force_not_mem (op1); } - /* If we are inside an appropriately-short loop and one operand is an - expensive constant, force it into a register. */ - if (CONSTANT_P (op0) && preserve_subexpressions_p () + /* If we are inside an appropriately-short loop and we are optimizing, + force expensive constants into a register. */ + if (CONSTANT_P (op0) && optimize && rtx_cost (op0, binoptab->code) > COSTS_N_INSNS (1)) op0 = force_reg (mode, op0); - if (CONSTANT_P (op1) && preserve_subexpressions_p () + if (CONSTANT_P (op1) && optimize && rtx_cost (op1, binoptab->code) > COSTS_N_INSNS (1)) op1 = force_reg (mode, op1); @@ -3750,13 +3750,13 @@ prepare_cmp_insn (rtx *px, rtx *py, enum rtx_code *pcomparison, rtx size, } } - /* If we are inside an appropriately-short loop and one operand is an - expensive constant, force it into a register. */ - if (CONSTANT_P (x) && preserve_subexpressions_p () + /* If we are inside an appropriately-short loop and we are optimizing, + force expensive constants into a register. */ + if (CONSTANT_P (x) && optimize && rtx_cost (x, COMPARE) > COSTS_N_INSNS (1)) x = force_reg (mode, x); - if (CONSTANT_P (y) && preserve_subexpressions_p () + if (CONSTANT_P (y) && optimize && rtx_cost (y, COMPARE) > COSTS_N_INSNS (1)) y = force_reg (mode, y); |