Cache Filtering Techniques to Reduce the Negative Impact of Useless Speculative Memory References on Processor Performance