JIT: fix assert when there are mixed types in Enum.HasFlags optimization#23902
Conversation
In some cases the pre-boxed nodes may differ in type. Bail if they don't have the same stack type, then compute the result using the stack type. Extended the hasflags test with a case that shows this issue. Closes #23847
|
cc @dotnet/jit-contrib Two diffs in FX where we now and/cmp int instead of short: |
|
CoreFX had one test timeout: |
|
musl failure looks like some kind of CI issue: |
@AndyAyersMS Yes, I suspect it's https://github.com/dotnet/core-eng/issues/5883 |
|
Failures seem unrelated, so am going to merge this. |
…ion (dotnet#23902) In some cases the pre-boxed nodes may differ in type. Bail if they don't have the same stack type, then compute the result using the stack type. Extended the hasflags test with a case that shows this issue. Closes #23847
…ion (dotnet/coreclr#23902) In some cases the pre-boxed nodes may differ in type. Bail if they don't have the same stack type, then compute the result using the stack type. Extended the hasflags test with a case that shows this issue. Closes dotnet/coreclr#23847 Commit migrated from dotnet/coreclr@759e377
In some cases the pre-boxed nodes may differ in type. Bail if they don't have
the same stack type, then compute the result using the stack type.
Extended the hasflags test with a case that shows this issue.
Closes #23847