Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorBo committed Jul 19, 2022
1 parent c0ddf0f commit 5cf6180
Show file tree
Hide file tree
Showing 3 changed files with 125 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/coreclr/jit/redundantbranchopts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,8 @@ bool Compiler::optRedundantBranch(BasicBlock* const block)
const bool trueReaches = optReachable(trueSuccessor, block, domBlock);
const bool falseReaches = optReachable(falseSuccessor, block, domBlock);

if (trueReaches && falseReaches && rii.canInferFromTrue && rii.canInferFromFalse)
if (trueReaches && falseReaches && rii.canInferFromTrue && rii.canInferFromFalse &&
(fgCurBBEpochSize == (fgDomBBcount + 1))
{
// JIT-TP: it didn't produce diffs so let's skip it
if (trySpeculativeDom)
Expand Down
114 changes: 114 additions & 0 deletions src/tests/JIT/Regression/JitBlue/Runtime_71599/Runtime_71599.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

// Generated by Fuzzlyn v1.5 on 2022-07-03 16:41:26
// Run on Arm64 MacOS
// Seed: 15254214336696406464
// Reduced from 47.2 KiB to 1.6 KiB in 00:00:23
// Hits JIT assert in Release:
// Assertion failed 'i < BitSetTraits::GetSize(env)' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Redundant branch opts' (IL size 260; hash 0xade6b36b; FullOpts)
//
// File: /Users/runner/work/1/s/src/coreclr/jit/bitsetasshortlong.h Line: 261
//

using System;

public class C0
{
public ushort F0;
public ulong F1;
}

public class C1
{
public C0 F0;
public C0 F3;
public C0 F6;
}

public struct S0
{
public bool F1;
public ushort F3;
public byte F6;
}

public struct S1
{
public int F0;
}

public class Runtime_71599
{
public static IRuntime s_rt;
public static C1[] s_1;
public static S0[] s_3;
public static S1 s_7;

public static int Main()
{
try
{
Test();
}
catch (NullReferenceException)
{
return 100;
}
return 101;
}


public static void Test()
{
ushort[] vr2 = default(ushort[]);
S0 vr3 = default(S0);
bool vr4 = vr3.F1;
byte vr5 = vr3.F6--;
if (vr4)
{
try
{
s_rt.WriteLine(1);
}
finally
{
C1 vr6 = s_1[0];
var vr7 = new long[] { 1 };
var vr8 = vr6.F3;
long[] vr10 = vr7;
C0 vr11 = vr8;
int vr13 = s_7.F0;
s_rt.WriteLine(vr6.F0.F0);
s_rt.WriteLine(vr6.F0.F1);
s_rt.WriteLine(vr6.F6.F0);
}

if (!vr4)
{
s_1[0].F3.F0 = vr3.F3;
}
}

for (int vr9 = 0; vr9 < 2; vr9++)
{
if (vr4)
{
s_3[0].F3 = vr2[0];
}

s_rt.WriteLine(vr9);
}

}
}

public interface IRuntime
{
void WriteLine<T>(T value);
}

public class Runtime : IRuntime
{
public void WriteLine<T>(T value) => System.Console.WriteLine(value);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<Optimize>True</Optimize>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildProjectName).cs" />
</ItemGroup>
</Project>

0 comments on commit 5cf6180

Please sign in to comment.