diff options
author | Jan Hubicka <jh@suse.cz> | 2004-01-14 00:14:04 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-01-13 23:14:04 +0000 |
commit | 4b589eab01091a180a717b5470c9097e8b294cbe (patch) | |
tree | 81a0f72673be5558699c49acd88285a2fa5ce0f6 /gcc/expr.h | |
parent | 25c3f7c8b94b62cc83adf1c24bb323ff1c46416b (diff) | |
download | gcc-4b589eab01091a180a717b5470c9097e8b294cbe.zip gcc-4b589eab01091a180a717b5470c9097e8b294cbe.tar.gz gcc-4b589eab01091a180a717b5470c9097e8b294cbe.tar.bz2 |
lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost estimation.
* lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost
estimation.
* c-common.c (c_estimate_num_insns_1): Fix bug in MODIFY_EXPR
cost estimation.
* expr.c (MOVE_RATIO, CLEAR_RATIO): Move to ...
* expr.h (MOVE_RATIO, CLEAR_RATIO): ... here.
From-SVN: r75821
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -66,6 +66,30 @@ enum expand_modifier {EXPAND_NORMAL = 0, EXPAND_STACK_PARM = 2, EXPAND_SUM, more information. */ #define OK_DEFER_POP (inhibit_defer_pop -= 1) +/* If a memory-to-memory move would take MOVE_RATIO or more simple + move-instruction sequences, we will do a movstr or libcall instead. */ + +#ifndef MOVE_RATIO +#if defined (HAVE_movstrqi) || defined (HAVE_movstrhi) || defined (HAVE_movstrsi) || defined (HAVE_movstrdi) || defined (HAVE_movstrti) +#define MOVE_RATIO 2 +#else +/* If we are optimizing for space (-Os), cut down the default move ratio. */ +#define MOVE_RATIO (optimize_size ? 3 : 15) +#endif +#endif + +/* If a clear memory operation would take CLEAR_RATIO or more simple + move-instruction sequences, we will do a clrstr or libcall instead. */ + +#ifndef CLEAR_RATIO +#if defined (HAVE_clrstrqi) || defined (HAVE_clrstrhi) || defined (HAVE_clrstrsi) || defined (HAVE_clrstrdi) || defined (HAVE_clrstrti) +#define CLEAR_RATIO 2 +#else +/* If we are optimizing for space, cut down the default clear ratio. */ +#define CLEAR_RATIO (optimize_size ? 3 : 15) +#endif +#endif + enum direction {none, upward, downward}; /* Structure to record the size of a sequence of arguments |