-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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 'next != def && "found def after use"' during 'Lowering nodeinfo' #77158
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Details// Generated by Fuzzlyn v1.5 on 2022-10-17 21:02:02
// Run on Arm64 MacOS
// Seed: 16660823782825460095
// Reduced from 109.3 KiB to 0.2 KiB in 00:00:31
// Hits JIT assert in Release:
// Assertion failed 'next != def && "found def after use"' in 'Program:M43():bool' during 'Lowering nodeinfo' (IL size 24; hash 0xbbd81c14; FullOpts)
//
// File: /Users/runner/work/1/s/src/coreclr/jit/lir.cpp Line: 1615
//
public class Program
{
public static bool s_21;
public static ulong[] s_41;
public static void Main()
{
M43();
}
public static bool M43()
{
return !((0 <= s_41[0]) & s_21);
}
}
|
FWIW, it's likely the optimization there should be placing the |
Thank you for the pointer. |
Hmm. Now that I remember there was a check (well, there is) #ifdef TARGET_ARM64
// Do not optimise further if op1 has a contained chain.
if (op1->OperIs(GT_AND) &&
(op1->isContainedCompareChainSegment(op1->gtGetOp1()) || op1->isContainedCompareChainSegment(op1->gtGetOp2())))
{
return cmp;
}
#endif And my optimization did not have any effect on arm64 (at least there were no spmi diffs). |
It repros for me with altjit from win-x64. From powershell: $env:DOTNET_AltJit="M43"
$env:DOTNET_AltJitName="clrjit_universal_arm64_x64.dll"
$env:DOTNET_AltJitOS="macOS"
$env:DOTNET_TieredCompilation=0
<path to core_root> example.dll |
You are right. Inserting notNode after andOp1 and not before andOp2 no longer produces this assert. My examples on x64 do not produce an assert either. I filed a pr. Can you please run fuzzlyn there if needed? |
The text was updated successfully, but these errors were encountered: