aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-12-10 17:58:07 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-12-10 17:58:07 +0000
commit26673217ad3805d5aca555e0351ff40eaaf9be87 (patch)
treeb28638d98eae721f0fe2fce67d6cc04232258580 /gcc
parent01c49ce8bd82d2cb56ff07be043c02c7f30a6d6d (diff)
downloadgcc-26673217ad3805d5aca555e0351ff40eaaf9be87.zip
gcc-26673217ad3805d5aca555e0351ff40eaaf9be87.tar.gz
gcc-26673217ad3805d5aca555e0351ff40eaaf9be87.tar.bz2
tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_invariant if we know the result.
* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a call to is_gimple_min_invariant if we know the result. From-SVN: r92003
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/tree-ssa-dom.c10
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8ca006e..fad1ef6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,9 @@
* tree-data-ref.c (free_data_refs): Free each data_reference
object.
+ * tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
+ call to is_gimple_min_invariant if we know the result.
+
2004-12-10 Jeff Law <law@redhat.com>
* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index cce0412..39ac925 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -745,12 +745,12 @@ thread_across_edge (struct dom_walk_data *walk_data, edge e)
otherwise look it up in the hash tables. */
cached_lhs = local_fold (COND_EXPR_COND (dummy_cond));
if (! is_gimple_min_invariant (cached_lhs))
- cached_lhs = lookup_avail_expr (dummy_cond, false);
- if (!cached_lhs || ! is_gimple_min_invariant (cached_lhs))
{
- cached_lhs = simplify_cond_and_lookup_avail_expr (dummy_cond,
- NULL,
- false);
+ cached_lhs = lookup_avail_expr (dummy_cond, false);
+ if (!cached_lhs || ! is_gimple_min_invariant (cached_lhs))
+ cached_lhs = simplify_cond_and_lookup_avail_expr (dummy_cond,
+ NULL,
+ false);
}
}
/* We can have conditionals which just test the state of a