CFG transparent RTL expansion:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jun 2004 15:33:06 +0000 (15:33 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jun 2004 15:33:06 +0000 (15:33 +0000)
commit0ec80471fe5e25ecd3dcb82e2147a7c24c9816f5
tree2ee8a7629143f7f2514ddf9a48376c6ac3d11bc0
parent751ddc2be835ee78d30b7f5d90db6945cffba982
CFG transparent RTL expansion:
* Makefile.in (cfgexpand.o): New object file.
(builtins.o): Add dependency on basic-block.h
* builtins.c: Include basic-block.h
(entry_of_function): New function.
(expand_builtin_apply_args, expand_builtin_saveargs): Use it.
* cfgexpand.c: New file.
* expr.c (execute_expand, pass_expand): Kill.
* pass.c (rest_of_compilation): Do not build CFG unless called from
coverage code.
* tree-cfg.c (delete_tree_cfg): Rename to..
(delete_tree_cfg_annotations): ... this one; Do not remove the CFG itself.
* tree-flow.h (delete_tree_cfg_annotations): Declare.
(dleete_tree_cfg): Kill.
* tree-optimize.c (execute_rebuild_bind, pass_rebuild_bind): Kill.
(execute_del_cfg): Rename to...
(execute_free_datastructures): This one...
(pass_del_cfg): Rename to...
(pass_free_datastructures): ... this one; Do not kill PROP_cfg.
(init_tree_optimization_passes): Make cfg build and profiling to happen
unconditionally.

* tree-mudflap.c (mf_decl_cache_locals): Skip labels before
inserting the cache variables.

* tree-mudflap.c: Include headers to make basic_block available.
Move functions around such that related functions are near each
other.  Add prototypes for all static functions.  Add comments
briefly explaining what IR the mudflap1 and mudflap2 work on and
what they do.
(mudflap_function_decls): Rename to execute_mudflap_function_decls.
(mudflap_function_ops): Rename to execute_mudflap_function_ops.
(pass_mudflap_1, pass_mudflap_2): Update.
(mf_decl_cache_locals): Make it work on the CFG instead of the saved
function tree.
(mf_build_check_statement_for): Make it work on the CFG.
(mf_xform_derefs_1): Likewise.  Cleanup code style.
(mf_xform_derefs): Likewise.

* tree-cfg.c (label_to_block): Invent the label destination for
undefined labels.
(cleanup_dead_labels): Update table in the case label_to_block added
new label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83385 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/builtins.c
gcc/cfgexpand.c [new file with mode: 0644]
gcc/expr.c
gcc/passes.c
gcc/predict.def
gcc/tree-cfg.c
gcc/tree-flow.h
gcc/tree-mudflap.c
gcc/tree-optimize.c
gcc/tree-sra.c