1. A multi-processor system comprising: a processor having a processor pipeline that executes program instructions with data from speculative data fills that are provided in response to source requests; a first cache that retains cache data associated with program instructions employing data from speculative data fills; and a second cache that retains cache data associated with data from speculative data fills that have been determined to be coherent.