Patent ID: 8214816
Filing Date: 2012-07-03
Classification: G06F

Abstract:
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 a candidate set of data for explicit fetching, wherein the candidate set of data for explicit prefetching includes an assignment statement in the source code that has variable data identified within a same loop of the source code where the assignment statement appears; generating a candidate set of data for storing in a software cache, wherein the candidate set of data for storing in the software cache includes an assignment statement that has variable data identified outside the same loop of the source code where the assignment statement appears; for every candidate in the candidate set of data for explicit fetching, performing a forward data flow analysis of the control flow graph to identify whether the candidate fails to have an alias in the candidate set of data for storing in the software cache thereby forming an exclusion candidate, wherein the alias is identified as a variable or a reference that has an indirect effect on other data; and responsive to identifying the exclusion candidate, compiling the source code thereby forming compiled code such that the exclusion candidate is excluded from being placed in a software cache during runtime, wherein excluding the exclusion candidate includes not adding the exclusion candidate to a software cache directory and not inserting software cache operations into the compiled code corresponding to the source code in association with reference to data for the exclusion candidate.