'cg_dce' LIR transformation removes unused operands, instruction and unreachable nodes from LIR
The algorithm:
1. For every instruction check if it has any side effect 2. Remove the instruction if no side effect found. Remove one of the edges if the instruction removed is a branch. 3. Remove empty nodes and unreachable nodes and merge adjustment nodes.
implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32DCE.cpp