-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JIT: Assertion failed 'cond == test->AsOp()->gtOp1' during 'Update flow graph early pass' #103600
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
Actually this looks more like a coincidence. I bisected this to #103382. @tannergooding can you please take a look? There is an invariant in the JIT until lowering that the child node of |
@jakobbotsch, so basically we can't ever fold relops ( I don't think we have an easy way to check the use here (and may not even have one if the folding is happening in early import), but it seems like this might be missing some optimization opportunities if we can't do this folding since we won't see that the |
There is
Morph folds these by ensuring the branch is also folded and the flow graph updated. It might be that you can fix the issue here by teaching the morph part to recognize this new result of folding that might be a comma-wrapped constant (it will need to do similar extraction of side effects into a new statement before the |
Actually it's not morph, but rather import that needs to be taught to recognize this new shape of folded relops. This needs to be updated to handle the new cases: runtime/src/coreclr/jit/importer.cpp Lines 7303 to 7310 in e679b59
|
cc @amanasifkhalid, looks like there's still some of these cases hanging around.
The text was updated successfully, but these errors were encountered: