You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do not continue to merge back cold path if guard2 block has been removed
`changeBranchDestination` tries to remove unreachable blocks after the
removal of the old edge from guard2 to cold2. Rarely, a previous
transformation in this pass could have made guard2Block unreachable
without removing it, in which case it might have been removed just now.
Normally, if all relevant blocks are removed, later `moveBlockAfterDest`
will not cause any issue since it will be just moving around all
unreachable blocks. However, in an even more rare case, if some of the
blocks are removed and some of them are not (eg, guard2Block and the
previous block of guard2Block are removed but the next block of
guard2Block is still valid), `moveBlockAfterDest` could end up joining
an invalid/removed block with a valid block. Therefore, if guard2Block
is no longer valid, it should not proceed.
Fixes: eclipse-openj9/openj9#18873
Signed-off-by: Annabelle Huo <[email protected]>
0 commit comments