JIT: build pred lists before patchpoint expansion (#81196)
authorAndy Ayers <andya@microsoft.com>
Thu, 26 Jan 2023 22:44:00 +0000 (14:44 -0800)
committerGitHub <noreply@github.com>
Thu, 26 Jan 2023 22:44:00 +0000 (14:44 -0800)
commitb3689b361d48f127c51487e0710c27823f4338c4
treee20e695575f856994fa91a8f3381f24bb4ed911b
parent4248c6034834262143ac2bc78aff273df798658e
JIT: build pred lists before patchpoint expansion (#81196)

Move pred list building 3 phases earlier. It now happens just after
instrumentation (or importation if we're not instrumenting) and just before
expanding patchpoints.

Revise the patchpoint, indirect call, and post importer cleanup phases
to do proper pred list maintenance.

Update the flow checker to handle cases we see when we haven't yet run
the post importer cleanup.

Contributes to #80193.
src/coreclr/jit/compiler.cpp
src/coreclr/jit/compiler.h
src/coreclr/jit/fgdiagnostic.cpp
src/coreclr/jit/fgopt.cpp
src/coreclr/jit/indirectcalltransformer.cpp
src/coreclr/jit/patchpoint.cpp