question: @ Override public void perform ( IR ir ) { for ( Enumeration < BasicBlock > e = ir . getBasicBlocks ( ) ; e . hasMoreElements ( ) ; ) { BasicBlock bb = e . nextElement ( ) ; if ( bb . isEmpty ( ) ) continue ; container . counter2 ++ ; if ( bb . getInfrequent ( ) ) { container . counter1 ++ ; if ( ir . options . FREQ_FOCUS_EFFORT ) continue ; } for ( Enumeration < Instruction > ie = bb . forwardInstrEnumerator ( ) ; ie . hasMoreElements ( ) ; ) { Instruction s = ie . nextElement ( ) ; if ( TypeCheck . conforms ( s ) && ( invertNullAndTypeChecks ( s ) || pushTypeCheckBelowIf ( s , ir ) ) ) { ie = bb . forwardInstrEnumerator ( ) ; } } } }
target:  Main routine: perform the transformation.