1. A computer implemented method for managing a cache memory system, the computer implemented method comprising: analyzing a loop construct to identify data usage characteristics for cache and prefetching conditions for each of a plurality of streams associated with the loop construct; inserting instructions into the loop construct to form a modified loop construct, the instructions configured to control a cache management policy for allocating to each of the plurality of streams a set of cache lines in the cache memory system; and controlling, by a controller operably connected to the cache memory system, the cache memory system to de-allocate cache lines from a stream in the plurality of streams after a cache reference pattern based on the cache management policy.