File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed
Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -354,10 +354,9 @@ static bool SameTarget( block *blk )
354354 if ( targ1 != targ2 )
355355 return ( false );
356356 if ( _IsBlkAttr ( targ1 , BLK_UNKNOWN_DESTINATION )
357- || _IsBlkAttr ( targ2 , BLK_UNKNOWN_DESTINATION ) )
357+ || _IsBlkAttr ( targ2 , BLK_UNKNOWN_DESTINATION ) ) {
358358 return ( false );
359- _MarkBlkAttrClr ( blk , BLK_CONDITIONAL );
360- _MarkBlkAttrSet ( blk , BLK_JUMP );
359+ }
361360 RemoveEdge ( & blk -> edge [1 ] );
362361 ins = blk -> ins .head .prev ;
363362 while ( !_OpIsCondition ( ins -> head .opcode ) ) {
@@ -394,7 +393,11 @@ static bool DoBlockTrim( void )
394393 RemoveBlock ( blk );
395394 change = true;
396395 } else if ( _IsBlkAttr ( blk , BLK_CONDITIONAL ) ) {
397- change |= SameTarget ( blk );
396+ if ( SameTarget ( blk ) ) {
397+ _MarkBlkAttrClr ( blk , BLK_CONDITIONAL );
398+ _MarkBlkAttrSet ( blk , BLK_JUMP );
399+ change = true;
400+ }
398401 } else if ( _IsBlkAttr ( blk , BLK_JUMP ) ) {
399402 target = blk -> edge [0 ].destination .u .blk ;
400403 if ( target != blk
You can’t perform that action at this time.
0 commit comments