1. A computer-implemented method for filtering pre-fetch requests to reduce pre-fetching overhead, the method comprising: executing an instruction that involves a memory reference which is directed to a cache line in a cache; determining that the memory reference will miss in the cache; and determining whether the instruction frequently leads to cache misses, and if so, issuing a pre-fetch request for one or more additional cache lines.