Patent ID: 8281295

Claim:
A method, in a data processing system, for reducing coherency problems, the method comprising: receiving source code that is to be compiled; analyzing the source code to identify at least one loop of a plurality of loops that contains a memory reference; determining whether the memory reference is an access to a global memory that should be handled by at least one of a software controlled cache in a local memory or a direct buffer in the local memory; responsive to an indication that the memory reference is an access to the global memory that should be handled by at least one of the software controlled cache or the direct buffer, determining whether there is a data dependence between the memory reference and at least one reference from at least one of other direct buffers or other software controlled caches; and responsive to a negative indication of the data dependence, applying a direct buffer transformation to the memory reference in compiled and optimized code so that the direct buffer in the local memory is allocated for the memory reference and no software controlled cache overhead is incurred.