Uh oh!
There was an error while loading. Please reload this page.
JIT: Merge fgRemoveConditionalJump and fgOptimizeBranchToNext - #97456
Conversation
ghost
commented
Jan 24, 2024
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsAdding this back in after #97407.
|
amanasifkhalid
commented
Jan 24, 2024
cc @dotnet/jit-contrib, @AndyAyersMS PTAL. Small improvements from slightly more aggressive statement removal. |
ryujit-bot
commented
Jan 24, 2024
Diff results for #97456Assembly diffsAssembly diffs for linux/arm64 ran on windows/x64Diffs are based on 2,501,157 contexts (1,003,806 MinOpts, 1,497,351 FullOpts). MISSED contexts: 4,060 (0.16%) Overall (-60 bytes)
FullOpts (-60 bytes)
Assembly diffs for linux/x64 ran on windows/x64Diffs are based on 2,595,007 contexts (1,052,329 MinOpts, 1,542,678 FullOpts). MISSED contexts: 3,628 (0.14%) Overall (-1,818 bytes)
FullOpts (-1,818 bytes)
Assembly diffs for osx/arm64 ran on windows/x64Diffs are based on 2,262,709 contexts (930,876 MinOpts, 1,331,833 FullOpts). MISSED contexts: 3,256 (0.14%) Overall (-60 bytes)
FullOpts (-60 bytes)
Assembly diffs for windows/arm64 ran on windows/x64Diffs are based on 2,318,207 contexts (931,543 MinOpts, 1,386,664 FullOpts). MISSED contexts: 2,687 (0.12%) Overall (-100 bytes)
FullOpts (-100 bytes)
Assembly diffs for windows/x64 ran on windows/x64Diffs are based on 2,492,912 contexts (983,689 MinOpts, 1,509,223 FullOpts). MISSED contexts: 3,899 (0.16%) Overall (-1,531 bytes)
FullOpts (-1,531 bytes)
Details here Assembly diffs for linux/arm ran on windows/x86Diffs are based on 2,237,690 contexts (827,812 MinOpts, 1,409,878 FullOpts). MISSED contexts: 74,588 (3.23%) Overall (-1,314 bytes)
FullOpts (-1,314 bytes)
Assembly diffs for windows/x86 ran on windows/x86Diffs are based on 2,296,277 contexts (841,817 MinOpts, 1,454,460 FullOpts). MISSED contexts: 5,093 (0.22%) Overall (-1,067 bytes)
FullOpts (-1,067 bytes)
Details here Throughput diffsThroughput diffs for linux/arm ran on windows/x86Overall (-0.01% to -0.00%)
FullOpts (-0.01% to -0.00%)
Details here |
amanasifkhalid
commented
Jan 26, 2024
cc @dotnet/jit-contrib, bumping this since the diffs in #97488 are skewed without it. |
amanasifkhalid
commented
Jan 26, 2024
Thank you! |
Adding this back in after #97407.
fgRemoveConditionalJumpandfgOptimizeBranchToNextdo the same thing, except that the latter explicitly assumes the false target of theBBJ_CONDblock being optimized is the next block. It makes sense to remove that assumption, and merge these methods before allowing the false target to diverge from the next block during flowgraph optimization phases.