• 'btr'* LIR transformation replaces branch instructions with conditional CMOVcc or SETcc instructions

The algorithm takes one-pass over CFG.

The transformation allows to reduce count of branches and is recommended to be inserted before other LIR transformations

The algorithm works as follows:

     1)    Finds branch instruction which performs branch to basic blocks with
         only instructions MOV with the same def-operand.
 
     2)    If each of thus blocks has only one predecessor they and branch 
         instruction is replaced with conditional instruction
 

implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32BranchTrans.cpp

  • No labels