aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-09-01 09:27:39 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2008-09-01 09:27:39 +0000
commite04ad03daeeb2f8120bd399d54563f085035391d (patch)
treec411e2176e124778ff2eefc610f88cabc4e42a85 /gcc/config/mips
parente855c69d162c023bae5236ea75bab646c5e84fed (diff)
downloadgcc-e04ad03daeeb2f8120bd399d54563f085035391d.zip
gcc-e04ad03daeeb2f8120bd399d54563f085035391d.tar.gz
gcc-e04ad03daeeb2f8120bd399d54563f085035391d.tar.bz2
expr.c (MOVE_BY_PIECES_P, [...]): Pass speed operand.
* expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): Pass speed operand. * expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update. * gimplify.c (gimplify_init_constructor): Add speed operand. * tree-sra.c (decide_block_copy): Likewise. * tree-inline.c (estimate_move_cost): Likewise. * config/alpha/alpha.h (MOVE_RATIO): Update. * config/frv/frv.c (MOVE_RATIO): Update. * config/spu/spu.h (MOVE_RATIO): Update. * config/sparc/sparc.h (MOVE_RATIO): Update. * config/i386/i386.h (MOVE_RATIO, CLEAR_RATIO): Update. * config/m68hc11/m68hc11.h (MOVE_RATIO): Update. * config/cris/cris.h (MOVE_RATIO): Update. * config/mn10300/mn10300.h (MOVE_RATIO): Update. * config/arm/arm.h (MOVE_RATIO): Update. * config/pa/pa.md: Update uses of MOVE_RATIO * config/pa/pa.h (MOVE_RATIO): Update. * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, CLEAR_RATIO, SET_RATIO): Update. * config/h8300/h8300.h (MOVE_RATIO): Update. * config/v850/v850.h (MOVE_RATIO): Update. * config/bfin/bfin.h (MOVE_RATIO): Update. From-SVN: r139855
Diffstat (limited to 'gcc/config/mips')
-rw-r--r--gcc/config/mips/mips.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index e008e80..86b886a 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2940,7 +2940,7 @@ while (0)
we'll have to generate a load/store pair for each, halve the
value of MIPS_CALL_RATIO to take that into account. */
-#define MOVE_RATIO \
+#define MOVE_RATIO(speed) \
(HAVE_movmemsi \
? MIPS_MAX_MOVE_BYTES_STRAIGHT / MOVE_MAX \
: MIPS_CALL_RATIO / 2)
@@ -2961,20 +2961,20 @@ while (0)
? (SIZE) < UNITS_PER_WORD \
: (SIZE) <= MIPS_MAX_MOVE_BYTES_STRAIGHT)) \
: (move_by_pieces_ninsns (SIZE, ALIGN, MOVE_MAX_PIECES + 1) \
- < (unsigned int) MOVE_RATIO))
+ < (unsigned int) MOVE_RATIO (false)))
/* For CLEAR_RATIO, when optimizing for size, give a better estimate
of the length of a memset call, but use the default otherwise. */
-#define CLEAR_RATIO \
- (optimize_size ? MIPS_CALL_RATIO : 15)
+#define CLEAR_RATIO(speed)\
+ ((speed) ? 15 : MIPS_CALL_RATIO)
/* This is similar to CLEAR_RATIO, but for a non-zero constant, so when
optimizing for size adjust the ratio to account for the overhead of
loading the constant and replicating it across the word. */
-#define SET_RATIO \
- (optimize_size ? MIPS_CALL_RATIO - 2 : 15)
+#define SET_RATIO(speed) \
+ ((speed) ? 15 : MIPS_CALL_RATIO - 2)
/* STORE_BY_PIECES_P can be used when copying a constant string, but
in that case each word takes 3 insns (lui, ori, sw), or more in