Uh oh!
There was an error while loading. Please reload this page.
Update the place where we assert about align presence while removing jump to next instr - #95845
Conversation
ghost
commented
Dec 11, 2023
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsWe track the Fix the problem reported in #95729 (comment)
|
align presence while removing jump to next instrkunalspathak
commented
Dec 12, 2023
@dotnet/jit-contrib |
There was a problem hiding this comment.
LGTM.
Does it mean this check for hasAlign() is unnecessary?
runtime/src/coreclr/jit/codegenlinear.cpp
Lines 747 to 751 in 69bbdb8
When I was looking at the issue I kind of got the feeling that this check is what normally filters out the case, but in this particular scenario didn't because we had two basic blocks mapped to the same IG.
kunalspathak
commented
Dec 12, 2023
ideally yes, that seems unnecessary. We will only attempt to remove the |
We track the
jmpinstructions in IG as potential candidate for removal, regardless of if the IG jumps to the next IG or if the IG contains alignment. InemitRemoveJumpToNextInst(), we first iterate over these candidatejmpinstructions and expect the IG shouldn't havealigninstruction, which is false. Only if the IG was marked asIGF_HAS_REMOVABLE_JMP, we should assert that it shouldn't end up withaligninstruction. Moved the assert at right place.Fix the problem reported in #95729 (comment)