diff options
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
-rw-r--r-- | gcc/tree-ssa-loop-prefetch.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c index eab1fff..19a6a22 100644 --- a/gcc/tree-ssa-loop-prefetch.c +++ b/gcc/tree-ssa-loop-prefetch.c @@ -1549,7 +1549,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs, aloop = VEC_index (loop_p, vloops, i); vol = estimated_stmt_executions_int (aloop); - if (vol < 0) + if (vol == -1) vol = expected_loop_iterations (aloop); volume *= vol; } @@ -1801,6 +1801,8 @@ loop_prefetch_arrays (struct loop *loop) ahead = (PREFETCH_LATENCY + time - 1) / time; est_niter = estimated_stmt_executions_int (loop); + if (est_niter == -1) + est_niter = max_stmt_executions_int (loop); /* Prefetching is not likely to be profitable if the trip count to ahead ratio is too small. */ |