aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-prefetch.c
diff options
context:
space:
mode:
authorChangpeng Fang <changpeng.fang@amd.com>2010-07-02 16:34:29 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-07-02 16:34:29 +0000
commita245c04bccad9eea35cf21def68ae812fd29a953 (patch)
tree126ae0acb0967dcd6c470c42705dd86addbd1cc9 /gcc/tree-ssa-loop-prefetch.c
parente4c6a07ab580140cc8780ff45a3b6e8f552d3df5 (diff)
downloadgcc-a245c04bccad9eea35cf21def68ae812fd29a953.zip
gcc-a245c04bccad9eea35cf21def68ae812fd29a953.tar.gz
gcc-a245c04bccad9eea35cf21def68ae812fd29a953.tar.bz2
PR 44576: miss rate computation improvement for prefetching loop arrays.
2010-07-02 Changpeng Fang <changpeng.fang@amd.com> PR middle-end/44576 * tree-ssa-loop-prefetch.c (compute_miss_rate): Return 1000 (out of 1000) for miss rate if the address diference is greater than or equal to the cache line size (the two reference will never hit the same cache line). From-SVN: r161727
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
-rw-r--r--gcc/tree-ssa-loop-prefetch.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 6547489..934b49c 100644
--- a/gcc/tree-ssa-loop-prefetch.c
+++ b/gcc/tree-ssa-loop-prefetch.c
@@ -654,6 +654,11 @@ compute_miss_rate (unsigned HOST_WIDE_INT cache_line_size,
int total_positions, miss_positions, miss_rate;
int address1, address2, cache_line1, cache_line2;
+ /* It always misses if delta is greater than or equal to the cache
+ line size. */
+ if (delta >= cache_line_size)
+ return 1000;
+
total_positions = 0;
miss_positions = 0;