diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-29 23:21:13 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-08-29 23:21:13 +0000 |
commit | 90e3d9ba7f0ad61229fc0bc88fa8683064a55bb3 (patch) | |
tree | d3ecf1a361ca516453ed6172c096bc2f280d5875 /gcc/langhooks.h | |
parent | 0eb004033027f53a641f56c869669cee5656d892 (diff) | |
download | gcc-90e3d9ba7f0ad61229fc0bc88fa8683064a55bb3.tar.gz |
gcc/
* tree-optimize.c: New file.
* Makefile.in (OBJS-archive): Add tree-optimize.o.
(tree-optimize.o): New.
* c-decl.c (store_parm_decls): Use allocate_struct_function.
(finish_function): Don't free_after_parsing or free_after_compilation.
(set_save_expr_context): Move to tree-optimize.c.
(c_expand_body_1): Use tree_rest_of_compilation.
* c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
* objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
* c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
iterate until closure.
* langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
(LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
* langhooks.h (struct lang_hooks_for_rtl_expansion): New.
* toplev.h (tree_rest_of_compilation): Declare it.
gcc/cp/
* cp-lang.c (LANG_HOOKS_RTL_EXPAND_START): New.
(LANG_HOOKS_RTL_EXPAND_STMT): New.
* cp-tree.h (cxx_expand_function_start): Declare.
* decl.c (start_function): Use allocate_struct_function.
Move stmts_are_full_exprs_p assertion from expand_body.
Do not free_after_parsing or free_after_compilation.
(cxx_push_function_context): Move code to set struct function
data from genrtl_start_function.
* optimize.c (optimize_function): Don't inc/dec function_depth.
* semantics.c (expand_body): Use tree_rest_of_compilation.
(cxx_expand_function_start): Rename from genrtl_start_function,
omit bits done by tree_rest_of_compilation.
(genrtl_finish_function): Remove.
(clear_decl_rtl): Move to ../tree-optimize.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70933 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r-- | gcc/langhooks.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 7bcd4353734..109dfa1a818 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -77,6 +77,19 @@ struct lang_hooks_for_functions void (*leave_nested) (struct function *); }; +/* Lang hooks for rtl code generation. */ +struct lang_hooks_for_rtl_expansion +{ + /* Called after expand_function_start, but before expanding the body. */ + void (*start) (void); + + /* Called to expand each statement. */ + void (*stmt) (tree); + + /* Called after expanding the body but before expand_function_end. */ + void (*end) (void); +}; + /* The following hooks are used by tree-dump.c. */ struct lang_hooks_for_tree_dump @@ -387,6 +400,8 @@ struct lang_hooks struct lang_hooks_for_types types; + struct lang_hooks_for_rtl_expansion rtl_expand; + /* Whenever you add entries here, make sure you adjust langhooks-def.h and langhooks.c accordingly. */ }; |