This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ast-optimizer-branch] [patch]: SSA for trees
- To: Nathan Sidwell <nathan at codesourcery dot com>
- Subject: [ast-optimizer-branch] [patch]: SSA for trees
- From: Diego Novillo <dnovillo at redhat dot com>
- Date: Mon, 23 Jul 2001 13:24:26 -0400
- Cc: gcc-patches at gcc dot gnu dot org
- Organization: Red Hat Canada
Nathan,
This patch is the current version of the SSA for trees
implementation. I am working on documentation patches to
describe the internal design.
In the meantime I would like to incorporate it to the
ast-optimizer branch so that development can continue. There are
some outstanding patches from other people that would be easier
to manage if I had the main code in CVS.
There are six new files in this patch:
- tree-cfg.c: Builds a flowgraph.
- tree-dfa.c: Finds variable references.
- tree-flow.h: Declares data structures and global functions.
- tree-opt.[ch]: Entry point to the SSA optimizer.
- tree-ssa.c: Builds the SSA representation.
The patch has been bootstrapped with -ftree-ssa and regression
tested on i686-pc-linux-gnu.
Would it be OK to include it in the branch? Although large, the
patch should not destabilize anything as it is only activated
when compiling with -ftree-ssa.
Thanks. Diego.
* Makefile.in (C_AND_OBJC_OBJS): Add tree-cfg.o, tree-dfa.o,
tree-ssa.o and tree-opt.o.
(c-decl.o): Add dependency on tree-opt.h
(tree-ssa.o): New rule.
(tree-cfg.o): New rule.
(tree-dfa.o): New rule.
(tree-opt.o): New rule.
* c-decl.c: Include tree-opt.h.
(c_expand_body): Call optimize_tree() when the -ftree-ssa flag is
given.
* flags.h (flag_tree_ssa): Declare.
* toplev.c (flag_tree_ssa): Define.
(lang_independent_options): Add -ftree-ssa.
* tree-cfg.c: New file.
* tree-dfa.c: New file.
* tree-flow.h: New file.
* tree-opt.c: New file.
* tree-opt.h: New file.
* tree-ssa.c: New file.
* cp/Make-lang.in (CXX_C_OBJS): Add tree-cfg.o, tree-dfa.o,
tree-opt.o and tree-ssa.o.
* doc/invoke.texi: Add documentation for -ftree-ssa.
tree-ssa.20010723.diff.gz