diff options
author | Richard Guenther <rguenther@suse.de> | 2010-01-05 10:53:11 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-01-05 10:53:11 +0000 |
commit | 1befacc8c5554979882499fa6a1d797791cf85ba (patch) | |
tree | 2b17e4703de3f7b4a5439a4619330735d4a5b71b /gcc | |
parent | 7604eb4e07613c79a9b81da29baabdac8187f461 (diff) | |
download | gcc-1befacc8c5554979882499fa6a1d797791cf85ba.zip gcc-1befacc8c5554979882499fa6a1d797791cf85ba.tar.gz gcc-1befacc8c5554979882499fa6a1d797791cf85ba.tar.bz2 |
tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
2010-01-05 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
From-SVN: r155643
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-pre.c | 13 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 89398d7..9f8770f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-01-05 Richard Guenther <rguenther@suse.de> + + * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize. + 2010-01-05 Jakub Jelinek <jakub@redhat.com> PR other/42611 diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index 124ba3b..972af00 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -867,8 +867,17 @@ bitmap_value_insert_into_set (bitmap_set_t set, pre_expr expr) { unsigned int val = get_expr_value_id (expr); - if (!bitmap_set_contains_value (set, val)) - bitmap_insert_into_set_1 (set, expr, val, false); +#ifdef ENABLE_CHECKING + gcc_assert (expr->id == get_or_alloc_expression_id (expr)); +#endif + + /* Constant values are always considered to be part of the set. */ + if (value_id_constant_p (val)) + return; + + /* If the value membership changed, add the expression. */ + if (bitmap_set_bit (set->values, val)) + bitmap_set_bit (set->expressions, expr->id); } /* Print out EXPR to outfile. */ |