This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[lno] Introduce data dependence graph
- From: Devang Patel <dpatel at apple dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 13 Feb 2004 20:55:40 -0800
- Subject: [lno] Introduce data dependence graph
This patch introduces data dependence graph based on Sebastian's scalar
evolution analyzer. This is just a start. At this point APIs are not
available to access dependence info from the graph. I will soon start
adding them. I've introduced new flag -ftree-ddg to enable it. But it
will not last forever.
Bootstrapped on powerpc-apple-darwin7.2.0 with "-fscalar-evolutions
-ftree-ddg".
DejaGNU test run is in progress.
--
Devang
2002-02-14 Devang Patel <dpatel@apple.com>
* Makefile.in (TREE_FLOW_H): Add tree-dg.h
(OBJS-common): Add tree-dg.o
(gtype-desc.o): Depend on tree-dg.h
(tree-dg.o): New rule.
(GTFILES): Add tree-data-ref.h, tree-data-ref.h
* common.opt (ftree-ddg): Add new option.
* flags.h (flag_ddg): New extern.
* gengtype.c (open_base_files): Add tree-dg.h and
tree-data-ref.h in
the list.
* opts.c (decode_option): Set flag_ddg to zero.
(common_handle_option): Handle OPT_ftree_ddg.
* timevar.def (TV_DEP_GRAPH): New.
* toplev.c (flag_ddg): New flag.
(lang_independent_options): Add entry for -ftree-ddg.
* tree-data-ref.c (compute_all_dependences): Make externally
visible.
* tree-data-ref.h (data_reference, subscript,
data_dependence_relation)
Add GTY markers.
(compute_all_dependences): Make externally visible.
* tree-dg.c: New file.
* tree-dg.h: New file.
* tree-flow-inline.h (dg_node_for_stmt): New function.
* tree-flow.h (tree-dg.h): Include.
(stmt_ann_d): New member, dg_node.
* tree-optimize.c (init_tree_optimization_passes): Add pass_ddg.
* tree-pass.h (PROP_scev): Define.
(tree_opt_pass pass_ddg): Extern decl.
* tree-scalar-evolution.c (pass_scev_anal): Provide PROP_scev
property.
* varray.c (element[NUM_VARRAY_DATA]): Add new member for
dependence
graph.
* varray.h (varray_data_enum): New member VARRAY_DATA_DG.
(varray_data_tag): New member dg.
(VARRAY_DG_INIT): New #define.
(VARRAY_DG): New #define.
(VARRAY_PUSH_DG): New #define.
testsuite:
gcc.dg/tree-ssa-chrec/20040214-1.c: New test.
Attachment:
ddg.diff
Description: Binary data