summaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-20 12:56:41 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-20 12:56:41 +0000
commit24ccd9c69e47b50de694e3b77f77c38517d6df40 (patch)
tree0ce8a7a96625c3f82c59f92dc328c670a5145386 /gcc/cfgexpand.c
parentbec2cf98763e9ec1a4d41bd1db78a74ca8fefbd9 (diff)
downloadgcc-24ccd9c69e47b50de694e3b77f77c38517d6df40.tar.gz
2012-07-20 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (collect_dfa_stats): Simplify. * tree-ssa-structalias.c (compute_may_aliases): Do not dump referenced vars. * cfgexpand.c (estimated_stack_frame_size): Walk over local decls instead of referenced vars. * tree-ssa.c (delete_tree_ssa): Simplify. * tree-tailcall.c (find_tail_calls): Walk over local decls instead of referenced vars. (add_virtual_phis): Remove. (tree_optimize_tail_calls_1): Instead mark the virtual operand for renaming. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189718 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index b767fe63ef8..96c2e2ed8a2 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1420,15 +1420,14 @@ estimated_stack_frame_size (struct cgraph_node *node)
size_t i;
tree var;
tree old_cur_fun_decl = current_function_decl;
- referenced_var_iterator rvi;
struct function *fn = DECL_STRUCT_FUNCTION (node->symbol.decl);
current_function_decl = node->symbol.decl;
push_cfun (fn);
- gcc_checking_assert (gimple_referenced_vars (fn));
- FOR_EACH_REFERENCED_VAR (fn, var, rvi)
- size += expand_one_var (var, true, false);
+ FOR_EACH_LOCAL_DECL (fn, i, var)
+ if (auto_var_in_fn_p (var, fn->decl))
+ size += expand_one_var (var, true, false);
if (stack_vars_num > 0)
{