aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-11-25 04:47:54 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-11-25 04:47:54 +0000
commit54fc808abef3f7b4e18194718c85fca53f37ddea (patch)
treec87098b3b8193d579cd474dc07b74a455f989fea /gcc
parent1dd2c57b1854636d5efa6f93bb92366181146e21 (diff)
downloadgcc-54fc808abef3f7b4e18194718c85fca53f37ddea.zip
gcc-54fc808abef3f7b4e18194718c85fca53f37ddea.tar.gz
gcc-54fc808abef3f7b4e18194718c85fca53f37ddea.tar.bz2
graphite-sese-to-poly.c (struct irp_data): Removed.
2009-09-14 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (struct irp_data): Removed. (idx_record_params): Removed. (find_params_in_bb): Scan for parameters the access functions; don't parse the tree representation. From-SVN: r154547
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog.graphite7
-rw-r--r--gcc/graphite-sese-to-poly.c60
2 files changed, 17 insertions, 50 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 6dfc9c1..4108189 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,12 @@
2009-09-14 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-sese-to-poly.c (struct irp_data): Removed.
+ (idx_record_params): Removed.
+ (find_params_in_bb): Scan for parameters the access functions; don't
+ parse the tree representation.
+
+2009-09-14 Sebastian Pop <sebastian.pop@amd.com>
+
* tree-ssa-loop.c (gate_graphite_transforms): Disable Graphite
passes at -O1 and below.
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 2c842a0..fff25f1 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -955,45 +955,6 @@ scan_tree_for_params (sese s, tree e, ppl_Linear_Expression_t c,
}
}
-/* Data structure for idx_record_params. */
-
-struct irp_data
-{
- struct loop *loop;
- sese region;
-};
-
-/* For a data reference with an ARRAY_REF as its BASE, record the
- parameters occurring in IDX. DTA is passed in as complementary
- information, and is used by the automatic walker function. This
- function is a callback for for_each_index. */
-
-static bool
-idx_record_params (tree base, tree *idx, void *dta)
-{
- struct irp_data *data = (struct irp_data *) dta;
-
- if (TREE_CODE (base) != ARRAY_REF)
- return true;
-
- if (TREE_CODE (*idx) == SSA_NAME)
- {
- tree scev;
- sese region = data->region;
- struct loop *loop = data->loop;
- Value one;
-
- scev = scalar_evolution_in_region (region, loop, *idx);
-
- value_init (one);
- value_set_si (one, 1);
- scan_tree_for_params (region, scev, NULL, one);
- value_clear (one);
- }
-
- return true;
-}
-
/* Find parameters with respect to REGION in BB. We are looking in memory
access functions, conditions and loop bounds. */
@@ -1001,34 +962,33 @@ static void
find_params_in_bb (sese region, gimple_bb_p gbb)
{
int i;
+ unsigned j;
data_reference_p dr;
gimple stmt;
loop_p loop = GBB_BB (gbb)->loop_father;
+ Value one;
- for (i = 0; VEC_iterate (data_reference_p, GBB_DATA_REFS (gbb), i, dr); i++)
- {
- struct irp_data irp;
+ value_init (one);
+ value_set_si (one, 1);
- irp.loop = loop;
- irp.region = region;
- for_each_index (&dr->ref, idx_record_params, &irp);
- }
+ /* Find parameters in the access functions of data references. */
+ for (i = 0; VEC_iterate (data_reference_p, GBB_DATA_REFS (gbb), i, dr); i++)
+ for (j = 0; j < DR_NUM_DIMENSIONS (dr); j++)
+ scan_tree_for_params (region, DR_ACCESS_FN (dr, j), NULL, one);
/* Find parameters in conditional statements. */
for (i = 0; VEC_iterate (gimple, GBB_CONDITIONS (gbb), i, stmt); i++)
{
- Value one;
tree lhs = scalar_evolution_in_region (region, loop,
gimple_cond_lhs (stmt));
tree rhs = scalar_evolution_in_region (region, loop,
gimple_cond_rhs (stmt));
- value_init (one);
- value_set_si (one, 1);
scan_tree_for_params (region, lhs, NULL, one);
scan_tree_for_params (region, rhs, NULL, one);
- value_clear (one);
}
+
+ value_clear (one);
}
/* Record the parameters used in the SCOP. A variable is a parameter