From b29f8edf2b1a068ab7271746e8c621446e342dc1 Mon Sep 17 00:00:00 2001
From: Changpeng Fang <chfang@pathscale.(none)>
Date: Mon, 28 Jun 2010 10:23:36 -0700
Subject: [PATCH 4/4] pr 44576: miss rate computation improvement for prefetching loop arrays.

	* 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).
---
 gcc/tree-ssa-loop-prefetch.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/gcc/tree-ssa-loop-prefetch.c b/gcc/tree-ssa-loop-prefetch.c
index 548c3e4..27e2b42 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;
 
-- 
1.6.3.3

