'memopt' - a memory optimization pass that reduces the number of operations with memory by removing redundant loading and storing instructions.
The optimization works on the SSA form to combine all locations of an object into one alias.
After that, the optimization updates use-def dependencies with the alias instead of locations. According to these new dependencies, 'memopt' deletes redundant stores.
Finally, it performs scoped hash-value numbering on the resulting control flow graph to eliminate redundant load operations.
header file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.h
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/memoryopt.cpp