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/java | |
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/java')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/lang.c | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 2a8bd6e..fd6e321 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2004-01-14 Jan Hubicka <jh@suse.cz> + + * lang.c (java_estimate_num_insns_1): Fix bug in MODIFY_EXPR cost + estimation. + 2004-01-09 Mark Mitchell <mark@codesourcery.com> * java-tree.h (java_expand_expr): Change prototype. diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 2f68f7c..0fe68de 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -1134,13 +1134,14 @@ java_estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data) case MODIFY_EXPR: case CONSTRUCTOR: { - int size = int_size_in_bytes (TREE_TYPE (x)); + HOST_WIDE_INT size; - if (!size || size > MOVE_MAX_PIECES) + size = int_size_in_bytes (TREE_TYPE (x)); + + if (size < 0 || size > MOVE_MAX_PIECES * MOVE_RATIO) *count += 10; else - *count += 2 * (size + MOVE_MAX - 1) / MOVE_MAX; - return NULL; + *count += ((size + MOVE_MAX_PIECES - 1) / MOVE_MAX_PIECES); } break; /* Few special cases of expensive operations. This is usefull |