Inter-procedural strength reduction is provided by a mechanism of the
present invention to improve data cache performance. During a forward
pass, the present invention collects information of global variables and
analyzes the usage pattern of global objects to select candidate
computations for optimization. During a backward pass, the present
invention remaps global objects into smaller size new global objects and
generates more cache efficient code by replacing candidate computations
with indirect or indexed reference of smaller global objects and
inserting store operations to the new global objects for each computation
that references the candidate global objects.