summaryrefslogtreecommitdiff
path: root/gcc/tree-predcom.c
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@gcc.gnu.org>2007-05-29 21:55:47 +0000
committerZdenek Dvorak <rakdver@gcc.gnu.org>2007-05-29 21:55:47 +0000
commit5417e0224b5fef840b1faa50c43dc660579e4f7b (patch)
treee755e23b8c84859e189788b0f53371eb79533cf9 /gcc/tree-predcom.c
parentcd5ecab6a73af62791d39b85db942600ccc37dad (diff)
downloadgcc-5417e0224b5fef840b1faa50c43dc660579e4f7b.tar.gz
tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer.
* tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer. (SET_DR_MISALIGNMENT): New. * tree-vect-analyze.c (vect_compute_data_ref_alignment, vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment): Use SET_DR_MISALIGNMENT. * tree-predcom.c (split_data_refs_to_components): Cast dr->aux from pointer. * tree-data-ref.c (create_data_ref, compute_all_dependences, find_loop_nest): Export. * tree-data-ref.h (struct data_reference): Change aux field to pointer. (create_data_ref, compute_all_dependences, find_loop_nest): Declare. * tree-ssa-loop-prefetch.c: Include tree-data-ref.h. (L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION): New macros. (struct mem_ref): Add field reuse_distance. (find_or_create_group, record_ref): Use XNEW instead of xcalloc. Initialize reuse_distance field. (issue_prefetch_ref): Select temporality of prefetch according to reuse_distance. (volume_of_references, volume_of_dist_vector, add_subscript_strides, self_reuse_distance, determine_loop_nest_reuse): New functions. (loop_prefetch_arrays): Call determine_loop_nest_reuse. (tree_ssa_prefetch_arrays): Dump L2 cache size. * Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H dependency. * gcc.dg/tree-ssa/prefetch-6.c: New test. From-SVN: r125172
Diffstat (limited to 'gcc/tree-predcom.c')
-rw-r--r--gcc/tree-predcom.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index bae23ed5272..a3a137f7d28 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -700,7 +700,7 @@ split_data_refs_to_components (struct loop *loop,
just fail. */
goto end;
}
- dr->aux = i;
+ dr->aux = (void *) (size_t) i;
comp_father[i] = i;
comp_size[i] = 1;
}
@@ -715,7 +715,7 @@ split_data_refs_to_components (struct loop *loop,
if (!suitable_reference_p (dr, &dummy))
{
- ia = dr->aux;
+ ia = (unsigned) (size_t) dr->aux;
merge_comps (comp_father, comp_size, n, ia);
}
}
@@ -729,8 +729,8 @@ split_data_refs_to_components (struct loop *loop,
dra = DDR_A (ddr);
drb = DDR_B (ddr);
- ia = component_of (comp_father, dra->aux);
- ib = component_of (comp_father, drb->aux);
+ ia = component_of (comp_father, (unsigned) (size_t) dra->aux);
+ ib = component_of (comp_father, (unsigned) (size_t) drb->aux);
if (ia == ib)
continue;
@@ -749,7 +749,7 @@ split_data_refs_to_components (struct loop *loop,
bad = component_of (comp_father, n);
for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
{
- ia = dr->aux;
+ ia = (unsigned) (size_t) dr->aux;
ca = component_of (comp_father, ia);
if (ca == bad)
continue;