1. A method, in a data processing system, for compiling source code for execution by one or more processors, comprising: creating a control flow graph for the source code; generating, for an assignment statement in the source code, a candidate set of data for explicit fetching; performing a forward data flow analysis of the control flow graph to identify whether the candidate set of data for explicit fetching has aliases in non-explicitly fetchable data; and compiling the source code such that the candidate set of data for explicit fetching is excluded from being placed in a software cache during runtime in response to the candidate set of data for explicit fetching has the aliases in non-explicitly fetchable data.