JIT: Skip moving BBJ_COND jump target if fallthrough target is equally likely#105084
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
cc @AndyAyersMS, diffs are quite big. We have about as many size improvements as regressions on x64. This seems like a layout decision we ought to do on principle, though I'm curious to hear your thoughts. |
AndyAyersMS
left a comment
There was a problem hiding this comment.
I think we might want to go even further ... say if one of the successors is already next then we require stronger evidence we're making the wrong choice. Or we look at the successor's preferred predecessors.
But this starts to verge onto K-opt territory...
I'm ok merging this since it's a net code size improvement and keeps loops compact, despite the churn.
Yeah, I have a couple of ideas for improving |
|
/ba-g NativeAOT failures look like #104500 |
Fixes #105083. In
Compiler::fgMoveHotJumps, if aBBJ_CONDblock falls into one of its targets, and its targets are equally likely to be taken, don't bother moving anything.