'hvn' - hash value numbering based optimization
Hash value numbering pass eliminates common sub-expressions. This pass uses an in-order depth-first traversal of the dominator tree instead of the more expensive iterative data flow analysis.
High-level value numbering effectively eliminates redundant address computation and check instructions.
For example, chkzero(), chknull(), and chkcast() HIR instructions are redundant if guarded by explicit conditional branches.
header file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.h
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/hashvaluenumberer.cpp