JIT: fix remaining phases that were rebuilding pred edges (#80769)
authorAndy Ayers <andya@microsoft.com>
Wed, 18 Jan 2023 22:46:48 +0000 (14:46 -0800)
committerGitHub <noreply@github.com>
Wed, 18 Jan 2023 22:46:48 +0000 (14:46 -0800)
commit7f3f5ef70da59b65c4f7cf3ddc5606c0189aa13e
treeee25904fdf7993523c2edd1c7f147877d1611025
parent38ac3509d3dc1b53b7e9a24316caab5ef28f2319
JIT: fix remaining phases that were rebuilding pred edges (#80769)

Loop canonicalization now maintains pred edges. GC poll insertion was already
maintaining the edges but was rebuilding them anyways.

Now pred lists are never rebuilt.

Also revise `fgUpdateChangedFlowGraph` so that it no longer has the
ability to remove or rebuild.

Fixes #49030.
Also fixes #80772.
src/coreclr/jit/compiler.h
src/coreclr/jit/fgopt.cpp
src/coreclr/jit/flowgraph.cpp
src/coreclr/jit/loopcloning.cpp
src/coreclr/jit/optimizer.cpp