Fix fgRemoveUnreachableBlocks to detect all changes (#57199)
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Thu, 12 Aug 2021 09:09:16 +0000 (11:09 +0200)
committerGitHub <noreply@github.com>
Thu, 12 Aug 2021 09:09:16 +0000 (11:09 +0200)
commit70a2a45c2a05a1c812d614355a8da8abd2bf544e
tree319479da6cea78a30586e06cfd91dd6048dc0507
parentdcd1e03ab42ea52d488f6874f40403f5f6069818
Fix fgRemoveUnreachableBlocks to detect all changes (#57199)

When 'removing' a BBF_DONT_REMOVE block we change it to BBJ_THROW. After
this it is possible that other blocks become unreachable, so we should
keep looking for such blocks.

In #57061 that manifested in a case where the unreachable block did not
have SSA built for it, but downstream the compiler was relying on SSA
being built.

Fix #57061
src/coreclr/jit/fgopt.cpp
src/tests/JIT/Regression/JitBlue/Runtime_57061/Runtime_57061.cs [new file with mode: 0644]
src/tests/JIT/Regression/JitBlue/Runtime_57061/Runtime_57061.csproj [new file with mode: 0644]