JIT: relax assert in fgMergeFinallyChains
authorAndy Ayers <andya@microsoft.com>
Fri, 17 Feb 2017 16:04:55 +0000 (08:04 -0800)
committerAndy Ayers <andya@microsoft.com>
Fri, 17 Feb 2017 16:04:55 +0000 (08:04 -0800)
commit711d0661b054cd2bd8fa179091e00495ef583235
tree5b3a3cf5f24acfb5b6c63c4ce23736e8ee504f30
parent65951eead7fb626d68019b3e77271abb130d921b
JIT: relax assert in fgMergeFinallyChains

In some rare and likely IL-only cases the jit may create unreachable
callfinallys. This trips up finally chain merging since it spots a
merge opportunity but no merge actually happens.

Relax the assertion checks so that `canMerge && !didMerge` is now ok.

Closes dotnet/coreclr#9651.

Commit migrated from https://github.com/dotnet/coreclr/commit/fc8c7ec56bc1cab1525c879f2c4776766830ab67
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/tests/src/jit/Regression/JitBlue/GitHub_9651/GitHub_9651.il [new file with mode: 0644]
src/coreclr/tests/src/jit/Regression/JitBlue/GitHub_9651/GitHub_9651.ilproj [new file with mode: 0644]