Uh oh!
There was an error while loading. Please reload this page.
JIT: Move hot/cold splitting phase to backend - #108639
Conversation
amanasifkhalid
commented
Oct 8, 2024
/azp run Antigen |
|
Azure Pipelines successfully started running 1 pipeline(s). |
amanasifkhalid
commented
Oct 8, 2024
No diffs.Antigen run didn't repro the failure in #108611. @BruceForstall could you PTAL? Thanks! |
amanasifkhalid
commented
Oct 10, 2024
ping @dotnet/jit-contrib |
kunalspathak
commented
Oct 10, 2024
do you think we should have added the test case for this? |
I don't think that test case in particular was revealing anything subtle. Looking at earlier Antigen runs, I believe #107483 broke hot/cold splitting pretty substantially, such that if we found a place to split before lowering/LSRA, then lowering/LSRA introduced new blocks, and the new blocks forced us to split later in the method, it would be possible for the emitter to assert later due to jumps being too short. I'm surprised As for the fix, I was planning on moving hot/cold splitting later as part of the flowgraph modernization work -- I just didn't realize that this had correctness implications, too. |
Fixes#108611. Running hot/cold splitting at most once ensures the coldness of blocks (as tracked by
BBF_COLD) is correct by the time we get to the emitter.@dotnet/jit-contrib PTAL, thanks!