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
{{ message }}
Repository navigation
JIT: build pred lists early, persist them throughout compilation #80193
Currently there's a lag between incorporation of profile data (which happens quite early and uses its own flow edge representation) and building pred lists, and pred lists are sometimes dropped and recomputed from scratch (#49030).
We should be building pred lists early on and using those for profile incorporation, and then keep the lists valid and persistent throughout compilation.
Note this will likely happen incrementally -- moving the point where pred lists are built earlier and earlier and gradually fixing up the impacted areas of the jit.
Activity
AndyAyersMS commentedon Jan 4, 2023
Note this will likely happen incrementally -- moving the point where pred lists are built earlier and earlier and gradually fixing up the impacted areas of the jit.
Related work:
fgReplaceJumpTargetto maintain pred lists #81246)fgLinkBasicBlocks, say) JIT: build pred lists when we first build the flow graph #81524JIT: Refactor post phase checks (#80194)
JIT: build pred lists before the eh opt phases
JIT: build pred lists before the eh opt phases (#80856)
JIT: build pred lists before object allocation phase
JIT: build pred lists before object allocation phase (#80891)
JIT: have inliner use fgSplitBlockAfterStatement
JIT: have inliner use fgSplitBlockAfterStatement (#80928)
15 remaining items
JIT: build pred lists first (#81448)
JIT: build pred lists when we first build the flow graph
JIT: build pred lists when we first build the flow graph (#81524)
JIT: remove cheap preds
JIT: remove cheap preds (#81562)
JIT: revise checking for computed preds
JIT: revise checking for computed preds (#81582)