[ast-optimizer-branch] [patch]: SSA for trees

Diego Novillo dnovillo@redhat.com
Mon Jul 23 10:24:00 GMT 2001


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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: tree-ssa.20010723.diff.gz
Type: application/x-gzip
Size: 20937 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20010723/8a2709aa/attachment.bin>


More information about the Gcc-patches mailing list