Limit non-constant step prefetching only to the innermost loops.
2010-06-09 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Do not the gather memory reference in the outer loop if the step is not a constant. From-SVN: r160515
This commit is contained in:
parent
f7963a7ce7
commit
508141355c
|
@ -1,3 +1,9 @@
|
|||
2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
|
||||
|
||||
* tree-ssa-loop-prefetch.c (gather_memory_references_ref):
|
||||
Do not the gather memory reference in the outer loop if the step
|
||||
is not a constant.
|
||||
|
||||
2010-06-09 Changpeng Fang <changpeng.fang@amd.com>
|
||||
|
||||
* tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO) :
|
||||
|
|
|
@ -513,6 +513,10 @@ gather_memory_references_ref (struct loop *loop, struct mem_ref_group **refs,
|
|||
if (step == NULL_TREE)
|
||||
return false;
|
||||
|
||||
/* Limit non-constant step prefetching only to the innermost loops. */
|
||||
if (!cst_and_fits_in_hwi (step) && loop->inner != NULL)
|
||||
return false;
|
||||
|
||||
/* Now we know that REF = &BASE + STEP * iter + DELTA, where DELTA and STEP
|
||||
are integer constants. */
|
||||
agrp = find_or_create_group (refs, base, step);
|
||||
|
|
Loading…
Reference in New Issue