summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-inline.c23
2 files changed, 19 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 413d150de61..8181bb80127 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-10 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-inline.c (estimate_num_insns_1): Make OpenMP directives
+ expensive.
+
2006-02-10 Zdenek Dvorak <dvorakz@suse.cz>
* doc/invoke.texi (-floop-optimize2): Removed.
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index f9ce09bbe35..81682c82ec2 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -1600,15 +1600,6 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data)
case LOOP_EXPR:
case PHI_NODE:
case WITH_SIZE_EXPR:
- case OMP_PARALLEL:
- case OMP_FOR:
- case OMP_SECTIONS:
- case OMP_SINGLE:
- case OMP_SECTION:
- case OMP_MASTER:
- case OMP_ORDERED:
- case OMP_CRITICAL:
- case OMP_ATOMIC:
case OMP_CLAUSE:
case OMP_RETURN_EXPR:
break;
@@ -1797,6 +1788,20 @@ estimate_num_insns_1 (tree *tp, int *walk_subtrees, void *data)
*count += PARAM_VALUE (PARAM_INLINE_CALL_COST);
break;
}
+
+ case OMP_PARALLEL:
+ case OMP_FOR:
+ case OMP_SECTIONS:
+ case OMP_SINGLE:
+ case OMP_SECTION:
+ case OMP_MASTER:
+ case OMP_ORDERED:
+ case OMP_CRITICAL:
+ case OMP_ATOMIC:
+ /* OpenMP directives are generally very expensive. */
+ *count += 40;
+ break;
+
default:
gcc_unreachable ();
}
OpenPOWER on IntegriCloud