diff options
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r-- | gcc/tree-tailcall.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 613841e..1e26640 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -132,16 +132,17 @@ static void find_tail_calls (basic_block, struct tailcall **); static bool suitable_for_tail_opt_p (void) { - int i; + referenced_var_iterator rvi; + tree var; if (current_function_stdarg) return false; /* No local variable nor structure field should be call-clobbered. We ignore any kind of memory tag, as these are not real variables. */ - for (i = 0; i < (int) num_referenced_vars; i++) + + FOR_EACH_REFERENCED_VAR (var, rvi) { - tree var = VEC_index (tree, referenced_vars, i); if (!(TREE_STATIC (var) || DECL_EXTERNAL (var)) && (var_ann (var)->mem_tag_kind == NOT_A_TAG |