aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-27 01:32:00 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-27 01:32:00 +0000
commitadca0fdeb7d73eef6c92220f91535d8d64c24b03 (patch)
tree9a46e1a6987a5c32f98cb4983a5c23eb174bd275 /gcc/tree-inline.c
parentd7508be68c62b9a2053e02cb5de181cfec3f5651 (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.c11
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;