diff options
author | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-05-29 21:55:47 +0000 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-05-29 21:55:47 +0000 |
commit | 5417e0224b5fef840b1faa50c43dc660579e4f7b (patch) | |
tree | e755e23b8c84859e189788b0f53371eb79533cf9 /gcc/tree-predcom.c | |
parent | cd5ecab6a73af62791d39b85db942600ccc37dad (diff) | |
download | gcc-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.c | 10 |
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; |