Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
|
/azp run runtime-coreclr libraries-pgo, runtime-coreclr jitstress |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
PTAL @jakobbotsch @dotnet/jit-contrib the fix that we've discussed in Discord. I'll see if I can move more LCLVAR into VN in the future. Diffs All failures are #112856 |
| } | ||
| else if (curAssertion->op1.kind == O1K_VN) | ||
| { | ||
| printf("[" FMT_VN "]", curAssertion->op1.vn); |
jakobbotsch
left a comment
There was a problem hiding this comment.
LGTM. It would make sense to me if we changed range check to actually get the constant from the assertion now:
runtime/src/coreclr/jit/rangecheck.cpp
Lines 752 to 759 in e6c5bb4
Agree, I'll address that in #110171 that I'll rebase after this lands |
Fixes a bug that caused #112872 revert
O1K_ARR_BNDused to have a complex semantics - it supported different kinds of asserts, now it's always used only withOAK_NO_THROWkind.The newly introduced
O1K_VNis sort of similar toO1K_LCLVARbut works for any VN.The change should actually be an improvement, because previously,
O1K_ARR_BNDwith ==/!= was a bit conservative on when to create such an assertion. Possible regressions from "too many assertions".