You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
JIT: Assertion failed 'cond == test->AsOp()->gtOp1' during 'Update flow graph early pass' #119058
// Generated by Fuzzlyn v3.3 on 2025-08-23 16:26:13// Run on Arm64 MacOS// Seed: 17015990397549431234-vectort,vector64,vector128,armadvsimd,armadvsimdarm64,armaes,armarmbase,armarmbasearm64,armcrc32,armcrc32arm64,armdp,armrdm,armrdmarm64,armsha1,armsha256// Reduced from 36.5 KiB to 0.5 KiB in 00:00:13// Hits JIT assert for Release:// Assertion failed 'cond == test->AsOp()->gtOp1' in 'Program:M0()' during 'Update flow graph early pass' (IL size 32; hash 0xaf50ff37; FullOpts)// // File: /Users/runner/work/1/s/src/coreclr/jit/fgopt.cpp Line: 4535// publicclassProgram{publicstaticuints_3;publicstaticulongs_7;publicstaticvoidMain(){M0();}publicstaticvoidM0(){long[]var3=default(long[]);sbytevar24=default(sbyte);if((ulong)M1()>(ulong)var3[0]){var24=var24;}else{uintvar25=s_3;}ulongvar39=s_7;}publicstaticintM1(){returndefault(int);}}
We still have an IR invariant that the operand of a JTRUE is always a relop. It would be nice to remove, but there are more places that have assertions about that. But as it is, it seems like the issue is in whoever produced that IR without folding it away.
Activity
dotnet-policy-service commentedon Aug 25, 2025
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.
jakobbotsch commentedon Aug 25, 2025
SPMI collection attached
F825B53E.zip
AndyAyersMS commentedon Aug 27, 2025
We have
and so
gtReverseCondprepends a NOT, but the caller asserts there is no new IR.I don't think the caller's assertion is necessary.
jakobbotsch commentedon Aug 27, 2025
We still have an IR invariant that the operand of a JTRUE is always a relop. It would be nice to remove, but there are more places that have assertions about that. But as it is, it seems like the issue is in whoever produced that IR without folding it away.
AndyAyersMS commentedon Aug 27, 2025
The simplification happens when substituting the inline return expression. Not sure how hard it will be to fix that.
AndyAyersMS commentedon Aug 27, 2025
I think we can fix this up later in the substitution walk, when we reconsider the JTRUE.