diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-27 01:32:00 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-27 01:32:00 +0000 |
commit | adca0fdeb7d73eef6c92220f91535d8d64c24b03 (patch) | |
tree | 9a46e1a6987a5c32f98cb4983a5c23eb174bd275 /gcc/tree-inline.c | |
parent | d7508be68c62b9a2053e02cb5de181cfec3f5651 (diff) |
* gimplify.c (keep_function_tree_in_gimple_form): Remove.
(gimplify_function_tree): Return void. Remove hack for
language not supporting gimple.
* tree.h: Update decls.
* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): New.
* langhooks.h (struct lang_hooks): Add gimple_before_inlining.
* tree-inline.c (copy_body_r): Check that instead of
keep_function_tree_in_gimple_form.
(initialize_inlined_parameters): Likewise.
(expand_call_inline, expand_calls_inline): Likewise.
* explow.c (probe_stack_range): Never emit loop notes.
* expr.c (emit_block_move_via_loop): Likewise.
* toplev.c (rest_of_compilation): Always synthesize loop notes.
fortran/
* f96-lang.c (gfc_gimplify_expr): Remove.
(LANG_HOOKS_GIMPLIFY_EXPR): Remove.
(LANG_HOOKS_GIMPLE_BEFORE_INLINING): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@72972 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r-- | gcc/tree-inline.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 9910c6b90e3..1ad1c463192 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -458,7 +458,7 @@ copy_body_r (tree *tp, int *walk_subtrees, void *data) if (assignment) { /* Do not create a statement containing a naked RESULT_DECL. */ - if (keep_function_tree_in_gimple_form (id->decl)) + if (lang_hooks.gimple_before_inlining) if (TREE_CODE (assignment) == RESULT_DECL) gimplify_stmt (&assignment); @@ -724,7 +724,7 @@ initialize_inlined_parameters (inline_data *id, tree args, tree fn, tree bind_ex TREE_CHAIN (var) = vars; vars = var; /* Make gimplifier happy about this variable. */ - var->decl.seen_in_bind_expr = keep_function_tree_in_gimple_form (fn); + var->decl.seen_in_bind_expr = lang_hooks.gimple_before_inlining; /* Even if P was TREE_READONLY, the new VAR should not be. In the original code, we would have constructed a @@ -789,8 +789,7 @@ initialize_inlined_parameters (inline_data *id, tree args, tree fn, tree bind_ex value); } - if (gimplify_init_stmts_p - && keep_function_tree_in_gimple_form (fn)) + if (gimplify_init_stmts_p && lang_hooks.gimple_before_inlining) gimplify_body (&init_stmts, fn); add_var_to_bind_expr (bind_expr, vars); @@ -1605,7 +1604,7 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data) /* If we are working with gimple form, then we need to keep the tree in gimple form. If we are not in gimple form, we can just replace *tp with the new BIND_EXPR. */ - if (keep_function_tree_in_gimple_form (id->decl)) + if (lang_hooks.gimple_before_inlining) { tree save_decl; @@ -1732,7 +1731,7 @@ expand_calls_inline (tree *tp, inline_data *id) recursively as we do not know anything about the structure of the tree. */ - if (! keep_function_tree_in_gimple_form (id->decl)) + if (!lang_hooks.gimple_before_inlining) { walk_tree (tp, expand_call_inline, id, id->tree_pruner); return; |