diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/tree-inline.c | 23 |
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 (); } |

