aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gcc.gnu.org>2004-08-17 07:27:16 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2004-08-17 07:27:16 +0000
commit7c27e184c87d2b245f80287be1d28f686b68519e (patch)
tree0f8a615af173ede05125885d4bfc8d27ef332ff7 /gcc/expr.c
parent9a9ff549030a22a0b8c0af58b633e006073959d7 (diff)
downloadgcc-7c27e184c87d2b245f80287be1d28f686b68519e.zip
gcc-7c27e184c87d2b245f80287be1d28f686b68519e.tar.gz
gcc-7c27e184c87d2b245f80287be1d28f686b68519e.tar.bz2
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/expr.c')
-rw-r--r--gcc/expr.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index e605263..f34285b 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -3445,16 +3445,14 @@ emit_push_insn (rtx x, enum machine_mode mode, tree type, rtx size,
static rtx
get_subtarget (rtx x)
{
- return ((x == 0
+ return (optimize
+ || x == 0
/* Only registers can be subtargets. */
|| !REG_P (x)
/* If the register is readonly, it can't be set more than once. */
|| RTX_UNCHANGING_P (x)
/* Don't use hard regs to avoid extending their life. */
|| REGNO (x) < FIRST_PSEUDO_REGISTER
- /* Avoid subtargets inside loops,
- since they hide some invariant expressions. */
- || preserve_subexpressions_p ())
? 0 : x);
}