-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Test failure: System.Runtime.CompilerServices.UnsafeTests.BitCast #101034
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
cc @dotnet/jit-contrib |
The issue repros with |
Does not repro with |
Copy prop uses the following stores: ***** BB02 [0000]
STMT00169 ( INL32 @ 0x000[E-] ... ??? ) <- INLRT @ ???
N002 ( 1, 4) [000650] DA--------- ▌ STORE_LCL_VAR ubyte V160 tmp150 d:2 $VN.Void
N001 ( 1, 4) [000648] ----------- └──▌ CNS_INT int 255 $31e
...
N002 ( 6, 8) [001624] DA--------- ├──▌ STORE_LCL_VAR ubyte V155 tmp145 d:2 $VN.Void
N001 ( 1, 4) [001913] ----------- │ └──▌ CNS_INT int 255 $31e to perform the following copy propagation: VN based copy assertion for [000140] V155 $31e by [000650] V160 $31e.
N001 ( 9, 8) [000140] ----------- ▌ LCL_FLD struct<System.Runtime.CompilerServices.S4, 4> V155 tmp145 u:2[+0] <l:$120, c:$121>
copy propagated to:
N001 ( 9, 8) [000140] ----------- ▌ LCL_FLD struct<System.Runtime.CompilerServices.S4, 4> V160 tmp150 u:2[+0] <l:$120, c:$121> |
During iteration 1 of copy prop we see IR like ***** BB02 [0000]
STMT00016 ( ??? ... 0x0E1 )
N005 ( 14, 12) [001627] -A--------- ▌ COMMA void $VN.Void
N002 ( 7, 6) [001624] DA--------- ├──▌ STORE_LCL_VAR ubyte V155 tmp145 d:2 $VN.Void
N001 ( 2, 2) [001623] ----------- │ └──▌ LCL_VAR ubyte V160 tmp150 u:2 $31a
N004 ( 7, 6) [001626] DA--------- └──▌ STORE_LCL_VAR ubyte V156 tmp146 d:2 $VN.Void
N003 ( 2, 2) [001625] ----------- └──▌ LCL_VAR ubyte V161 tmp151 u:2 $40
...
***** BB02 [0000]
STMT00033 ( 0x165[E-] ... ??? )
N002 ( 5, 4) [000138] DA--------- ▌ STORE_LCL_VAR int V20 tmp10 d:2 $VN.Void
N001 ( 1, 1) [000137] ----------- └──▌ LCL_VAR int V00 loc0 u:2 $31a
***** BB02 [0000]
STMT00206 ( ??? ... ??? )
N002 ( 9, 8) [000787] DA--G------ ▌ STORE_LCL_VAR struct<System.Runtime.CompilerServices.S4, 4> V77 tmp67 d:2 $VN.Void
N001 ( 9, 8) [000140] ----------- └──▌ LCL_FLD struct<System.Runtime.CompilerServices.S4, 4> V20 tmp10 u:2[+0] (last use) $640 and do the following copy prop: ***** BB02 [0000]
STMT00206 ( ??? ... ??? )
N002 ( 9, 8) [000787] DA--G------ ▌ STORE_LCL_VAR struct<System.Runtime.CompilerServices.S4, 4> V77 tmp67 d:2 $VN.Void
N001 ( 9, 8) [000140] ----------- └──▌ LCL_FLD struct<System.Runtime.CompilerServices.S4, 4> V155 tmp145 u:2[+0] (last use) $640 |
@SingleAccretion Any thoughts on this issue? IIRC you did some work enabling the JIT dump: |
I will look at the dump deeper in the evening, but from the bits so far it looks like the old "NOL locals are not modeled correctly in VN" issue to me. The copy prop type check that is done for
The intent is you only need the value produced ( |
Failed in: runtime-coreclr libraries-jitstress-random 20240413.1
Failed tests:
Error message:
Stack trace:
The text was updated successfully, but these errors were encountered: