JIT: Fix operand evaluation order for GT_INDEX_ADDR (#20047)#20127
Conversation
We need to evaluate the array operand first, and it's op1. So evaluate in that order, and don't allow reversal. Closes #20040.
|
Port of this to 2.2 was approved by shiproom... See #20083 for now-abandoned port to 2.1. |
|
I think x86 failures are due to a toolset update on the build machine |
|
Any ETA on resolving the toolset issue? Aside from x86 issues, there are package restore failures and a few random disconnects. Am going to try retesting ... @dotnet-bot retest this please |
|
@AndyAyersMS I think we may just need #20142 |
|
Scratch that. Make it #20144. |
|
Retesting now that #21044 is in. @dotnet-bot retest this please |
|
arm64 still unhappy: |
|
@RussKeldorph any concerns with me merging this? I don't think those last bits of CI are reliable. |
| </ItemGroup> | ||
| <PropertyGroup> | ||
| <DebugType>None</DebugType> | ||
| <Optimize>True</Optimize> |
There was a problem hiding this comment.
Should; this repro be compiled as "Optimized=true" ?
I thought this it required MinOpts.
|
It does require minopts, but there's no C# option set that will enable minopts for a method. So we either let tiered jitting or forced minopts runs cover it. |
|
Actually I stand corrected -- marking the method with I will update the test. |
We need to evaluate the array operand first, and it's op1. So evaluate
in that order, and don't allow reversal.
Closes #20040.