diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-23 22:37:23 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-23 22:37:23 +0000 |
| commit | 94e6573f58df58da39b0f23065d3dd4eb3694dd0 (patch) | |
| tree | 6fa3fcbf916c4e6bd0c3081ee4de2cf5ae950925 /gcc/tree-tailcall.c | |
| parent | becb64f8b3b4251431fbbdbb7691be20eaca4141 (diff) | |
| download | ppe42-gcc-94e6573f58df58da39b0f23065d3dd4eb3694dd0.tar.gz ppe42-gcc-94e6573f58df58da39b0f23065d3dd4eb3694dd0.zip | |
* expr.c (expand_expr_real_1): Don't handle non-local variables.
* expr.h (fix_lexical_addr): Remove.
* function.c (NEED_SEPARATE_AP): Remove.
(fix_lexical_addr): Remove.
* tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
not null decl_function_context.
(create_alias_vars): Likewise.
* tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
(simple_goto_p): Likewise.
* tree-dfa.c (add_referenced_var): Don't check for non-local variables.
* tree-ssa-ccp.c (get_default_value): Likewise.
* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
* tree.c (needs_to_live_in_memory): Likewise.
* tree-flow-inline.h (may_be_aliased): Move...
* tree-ssa-alias.c (may_be_aliased): ... here. Enhance check for
when TREE_STATIC variables may be addressable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85099 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-tailcall.c')
| -rw-r--r-- | gcc/tree-tailcall.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 5a89868dcc1..d3d48f5a89b 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -143,8 +143,7 @@ suitable_for_tail_opt_p (void) { tree var = VARRAY_TREE (referenced_vars, i); - if (decl_function_context (var) == current_function_decl - && !TREE_STATIC (var) + if (!TREE_STATIC (var) && var_ann (var)->mem_tag_kind == NOT_A_TAG && is_call_clobbered (var)) return false; |

