aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-inline.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 35fba8e..56c60ba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2010-01-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): Handle EH builtins.
+
2010-01-20 Jakub Jelinek <jakub@redhat.com>
* sel-sched.c (create_speculation_check): Remove set but not used
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index d7e515a..e08842c 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -3310,6 +3310,12 @@ estimate_num_insns (gimple stmt, eni_weights *weights)
cost = weights->target_builtin_call_cost;
break;
+ /* Exception state returns or moves registers around. */
+ case BUILT_IN_EH_FILTER:
+ case BUILT_IN_EH_POINTER:
+ case BUILT_IN_EH_COPY_VALUES:
+ return 0;
+
default:
break;
}