diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-11 10:09:41 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-11 10:09:41 +0000 |
commit | a2740310d851538b469524c0c754bfae61f3c785 (patch) | |
tree | d1c333750d976df95678b5910c4cd358e3f5cdeb /gcc/tree-data-ref.h | |
parent | 28dccb9a0ecc820d7884477a3df640392bd4fd1d (diff) | |
download | gcc-a2740310d851538b469524c0c754bfae61f3c785.tar.gz |
2013-09-11 Richard Biener <rguenther@suse.de>
* tree-data-ref.c (dump_rdg_vertex, debug_rdg_vertex,
dump_rdg_component, debug_rdg_component, dump_rdg, debug_rdg,
dot_rdg_1, dot_rdg, rdg_vertex_for_stmt, create_rdg_edge_for_ddr,
create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
stmts_from_loop, known_dependences_p, build_empty_rdg,
build_rdg, free_rdg, rdg_defs_used_in_other_loops_p): Move ...
* tree-loop-distribution.c: ... here.
* tree-data-ref.h (struct rdg_vertex, RDGV_STMT, RDGV_DATAREFS,
RDGV_HAS_MEM_WRITE, RDGV_HAS_MEM_READS, RDG_STMT, RDG_DATAREFS,
RDG_MEM_WRITE_STMT, RDG_MEM_READS_STMT, enum rdg_dep_type,
struct rdg_edge, RDGE_TYPE, RDGE_LEVEL, RDGE_RELATION): Move ...
* tree-loop-distribution.c: ... here.
* tree-loop-distribution.c: Include gimple-pretty-print.h.
(struct partition_s): Add loops member.
(partition_alloc, partition_free, rdg_flag_uses, rdg_flag_vertex,
rdg_flag_vertex_and_dependent, rdg_flag_loop_exits,
build_rdg_partition_for_component, rdg_build_partitions): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202492 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-data-ref.h')
-rw-r--r-- | gcc/tree-data-ref.h | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h index 2bc2adba5e1..5dda3e594b2 100644 --- a/gcc/tree-data-ref.h +++ b/gcc/tree-data-ref.h @@ -515,79 +515,6 @@ ddr_dependence_level (ddr_p ddr) return level; } - - -/* A Reduced Dependence Graph (RDG) vertex representing a statement. */ -typedef struct rdg_vertex -{ - /* The statement represented by this vertex. */ - gimple stmt; - - /* Vector of data-references in this statement. */ - vec<data_reference_p> datarefs; - - /* True when the statement contains a write to memory. */ - bool has_mem_write; - - /* True when the statement contains a read from memory. */ - bool has_mem_reads; -} *rdg_vertex_p; - -#define RDGV_STMT(V) ((struct rdg_vertex *) ((V)->data))->stmt -#define RDGV_DATAREFS(V) ((struct rdg_vertex *) ((V)->data))->datarefs -#define RDGV_HAS_MEM_WRITE(V) ((struct rdg_vertex *) ((V)->data))->has_mem_write -#define RDGV_HAS_MEM_READS(V) ((struct rdg_vertex *) ((V)->data))->has_mem_reads -#define RDG_STMT(RDG, I) RDGV_STMT (&(RDG->vertices[I])) -#define RDG_DATAREFS(RDG, I) RDGV_DATAREFS (&(RDG->vertices[I])) -#define RDG_MEM_WRITE_STMT(RDG, I) RDGV_HAS_MEM_WRITE (&(RDG->vertices[I])) -#define RDG_MEM_READS_STMT(RDG, I) RDGV_HAS_MEM_READS (&(RDG->vertices[I])) - -void debug_rdg_vertex (struct graph *, int); -void debug_rdg_component (struct graph *, int); -void dump_rdg (FILE *, struct graph *); -void debug_rdg (struct graph *); -int rdg_vertex_for_stmt (struct graph *, gimple); - -/* Data dependence type. */ - -enum rdg_dep_type -{ - /* Read After Write (RAW). */ - flow_dd = 'f', - - /* Write After Read (WAR). */ - anti_dd = 'a', - - /* Write After Write (WAW). */ - output_dd = 'o', - - /* Read After Read (RAR). */ - input_dd = 'i' -}; - -/* Dependence information attached to an edge of the RDG. */ - -typedef struct rdg_edge -{ - /* Type of the dependence. */ - enum rdg_dep_type type; - - /* Levels of the dependence: the depth of the loops that carry the - dependence. */ - unsigned level; - - /* Dependence relation between data dependences, NULL when one of - the vertices is a scalar. */ - ddr_p relation; -} *rdg_edge_p; - -#define RDGE_TYPE(E) ((struct rdg_edge *) ((E)->data))->type -#define RDGE_LEVEL(E) ((struct rdg_edge *) ((E)->data))->level -#define RDGE_RELATION(E) ((struct rdg_edge *) ((E)->data))->relation - -struct graph *build_rdg (struct loop *); -void free_rdg (struct graph *); - /* Return the index of the variable VAR in the LOOP_NEST array. */ static inline int @@ -604,8 +531,6 @@ index_in_loop_nest (int var, vec<loop_p> loop_nest) return var_index; } -bool rdg_defs_used_in_other_loops_p (struct graph *, int); - /* Returns true when the data reference DR the form "A[i] = ..." with a stride equal to its unit type size. */ @@ -626,19 +551,8 @@ adjacent_dr_p (struct data_reference *dr) TYPE_SIZE_UNIT (TREE_TYPE (DR_REF (dr)))); } -/* In tree-data-ref.c */ void split_constant_offset (tree , tree *, tree *); -/* Strongly connected components of the reduced data dependence graph. */ - -typedef struct rdg_component -{ - int num; - vec<int> vertices; -} *rdgc; - - - /* Compute the greatest common divisor of a VECTOR of SIZE numbers. */ static inline int |