'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

Jitrino_OPT/hvn (last edited 2009-09-20 21:54:52 by localhost)