@@ -4632,7 +4632,6 @@ void emitter::emitRemoveJumpToNextInst()
4632
4632
#if DEBUG
4633
4633
assert (jmp->idInsFmt () == IF_LABEL);
4634
4634
assert (emitIsUncondJump (jmp));
4635
- assert ((jmpGroup->igFlags & IGF_HAS_ALIGN) == 0 );
4636
4635
assert ((jmpGroup->igNum > previousJumpIgNum) || (previousJumpIgNum == (UNATIVE_OFFSET)-1 ) ||
4637
4636
((jmpGroup->igNum == previousJumpIgNum) && (jmp->idDebugOnlyInfo ()->idNum > previousJumpInsNum)));
4638
4637
previousJumpIgNum = jmpGroup->igNum ;
@@ -4646,6 +4645,8 @@ void emitter::emitRemoveJumpToNextInst()
4646
4645
4647
4646
if ((jmpGroup->igNext == targetGroup) && ((jmpGroup->igFlags & IGF_HAS_REMOVABLE_JMP) != 0 ))
4648
4647
{
4648
+ assert (!jmpGroup->endsWithAlignInstr ());
4649
+
4649
4650
// the last instruction in the group is the jmp we're looking for
4650
4651
// and it jumps to the next instruction group so we don't need it
4651
4652
CLANG_FORMAT_COMMENT_ANCHOR
@@ -4736,11 +4737,6 @@ void emitter::emitRemoveJumpToNextInst()
4736
4737
JITDUMP (" IG%02u IN%04x jump target is not set!, keeping.\n " , jmpGroup->igNum ,
4737
4738
jmp->idDebugOnlyInfo ()->idNum );
4738
4739
}
4739
- else if ((jmpGroup->igFlags & IGF_HAS_ALIGN) != 0 )
4740
- {
4741
- JITDUMP (" IG%02u IN%04x containing instruction group has alignment, keeping.\n " , jmpGroup->igNum ,
4742
- jmp->idDebugOnlyInfo ()->idNum );
4743
- }
4744
4740
else if (jmpGroup->igNext != targetGroup)
4745
4741
{
4746
4742
JITDUMP (" IG%02u IN%04x does not jump to the next instruction group, keeping.\n " , jmpGroup->igNum ,
@@ -4752,6 +4748,11 @@ void emitter::emitRemoveJumpToNextInst()
4752
4748
" keeping.\n " ,
4753
4749
jmpGroup->igNum , jmp->idDebugOnlyInfo ()->idNum );
4754
4750
}
4751
+ else if (jmpGroup->endsWithAlignInstr ())
4752
+ {
4753
+ JITDUMP (" IG%02u IN%04x containing instruction group has alignment, keeping.\n " , jmpGroup->igNum ,
4754
+ jmp->idDebugOnlyInfo ()->idNum );
4755
+ }
4755
4756
#endif // DEBUG
4756
4757
}
4757
4758
}
0 commit comments