question: final void pruneExceptionalOut ( IR ir ) { int n = getNumberOfExceptionalOut ( ) ; if ( n > 0 ) { ComputedBBEnum handlers = new ComputedBBEnum ( n ) ; Enumeration < Instruction > e = forwardRealInstrEnumerator ( ) ; while ( e . hasMoreElements ( ) ) { Instruction x = e . nextElement ( ) ; Enumeration < BasicBlock > bbs = getApplicableExceptionalOut ( x ) ; while ( bbs . hasMoreElements ( ) ) { BasicBlock bb = bbs . nextElement ( ) ; handlers . addPossiblyDuplicateElement ( bb ) ; } } deleteExceptionalOut ( ) ; for ( int i = 0 ; handlers . hasMoreElements ( ) ; i ++ ) { ExceptionHandlerBasicBlock b = ( ExceptionHandlerBasicBlock ) handlers . nextElement ( ) ; insertOut ( b ) ; } } recomputeNormalOut ( ir ) ; }
target:  Prune away exceptional out edges that are not reachable given this block's instructions.