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-semantics.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-semantics.c')
-rw-r--r-- | gcc/c-semantics.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 1481e1d..9ecfc96 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -924,7 +924,8 @@ static tree find_reachable_label (tree exp) { location_t saved_loc = input_location; - tree ret = walk_tree (&exp, find_reachable_label_1, NULL, NULL); + tree ret = walk_tree_without_duplicates + (&exp, find_reachable_label_1, NULL); input_location = saved_loc; return ret; } |