diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2003-07-08 19:44:17 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2003-07-08 19:44:17 +0000 |
commit | 516574425b935981dcdae07ff0e3be6b5946bf04 (patch) | |
tree | 20adccaaafcd98efc427f57bfdc819e4ec959c91 /gcc/c-objc-common.c | |
parent | 7e6dc3581ceb8a56bd80bcf7e47507d1902b19f7 (diff) | |
download | gcc-516574425b935981dcdae07ff0e3be6b5946bf04.zip gcc-516574425b935981dcdae07ff0e3be6b5946bf04.tar.gz gcc-516574425b935981dcdae07ff0e3be6b5946bf04.tar.bz2 |
re PR c/1687 (Exponential time behavior with -O -finline-functions (compile time regression from 3.2, 3.3))
2003-07-08 Steven Bosscher <steven@gcc.gnu.org>
PR c/1687
* tree-inline.c (find_alloca_call): Use
walk_tree_without_duplicates, instead of walk_tree.
(find_builtin_longjmp_call): Likewise.
* c-objc-common.c (c_cannot_inline_fn): Likewise.
* c-semantics.c (find_reachable_label): Likewise.
From-SVN: r69097
Diffstat (limited to 'gcc/c-objc-common.c')
-rw-r--r-- | gcc/c-objc-common.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c index 438b3fb..e0a99a3 100644 --- a/gcc/c-objc-common.c +++ b/gcc/c-objc-common.c @@ -211,7 +211,8 @@ c_cannot_inline_tree_fn (tree *fnp) return 0; } - if (walk_tree (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn, NULL)) + if (walk_tree_without_duplicates (&DECL_SAVED_TREE (fn), + inline_forbidden_p, fn)) goto cannot_inline; return 0; |