From 114a9f04da003cb38e3dfcc22f321732129a34e6 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 11 Sep 2026 23:32:06 +0000
Subject: [PATCH 1/3] Initial plan
From da9771c046cd4d0abe046e7b057e3fb59c100d0b Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 12 Sep 2026 00:17:25 +0000
Subject: [PATCH 2/3] Fix symbolic add recurrence overflow check
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
---
src/coreclr/jit/scev.cpp | 2 +-
.../GitHub_133759/GitHub_133759.csproj | 11 +++++
.../coreclr/GitHub_133759/test133759.cs | 43 +++++++++++++++++++
3 files changed, 55 insertions(+), 1 deletion(-)
create mode 100644 src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
create mode 100644 src/tests/Regressions/coreclr/GitHub_133759/test133759.cs
diff --git a/src/coreclr/jit/scev.cpp b/src/coreclr/jit/scev.cpp
index 4f81d66a4e5ae3..7960c730472363 100644
--- a/src/coreclr/jit/scev.cpp
+++ b/src/coreclr/jit/scev.cpp
@@ -1736,7 +1736,7 @@ bool ScalarEvolutionContext::AddRecMayOverflow(ScevAddRec*
}
int64_t startCns;
- if (addRec->Start->GetConstantValue(m_compiler, &startCns) && (startCns != 0))
+ if (!addRec->Start->GetConstantValue(m_compiler, &startCns) || (startCns != 0))
{
return true;
}
diff --git a/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj b/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
new file mode 100644
index 00000000000000..2b9f96606887e9
--- /dev/null
+++ b/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
@@ -0,0 +1,11 @@
+
+
+ 1
+
+
+
+
+
+
+
+
diff --git a/src/tests/Regressions/coreclr/GitHub_133759/test133759.cs b/src/tests/Regressions/coreclr/GitHub_133759/test133759.cs
new file mode 100644
index 00000000000000..d0db42ca69bae0
--- /dev/null
+++ b/src/tests/Regressions/coreclr/GitHub_133759/test133759.cs
@@ -0,0 +1,43 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Runtime.CompilerServices;
+using Xunit;
+
+public class Program
+{
+ [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
+ private static void Test(int seed, long[] dst)
+ {
+ int c = seed;
+ for (int i = 0; i < 10; i++)
+ {
+ dst[i] = (uint)c * 8L;
+ c++;
+ }
+ }
+
+ [Fact]
+ public static int TestEntryPoint()
+ {
+ long[] actual = new long[10];
+ Test(-3, actual);
+
+ Assert.Equal(
+ [
+ 34359738344,
+ 34359738352,
+ 34359738360,
+ 0,
+ 8,
+ 16,
+ 24,
+ 32,
+ 40,
+ 48,
+ ],
+ actual);
+
+ return 100;
+ }
+}
From 01f5fb91995f599105684fe2219782f69440d373 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 14 Sep 2026 12:42:06 +0000
Subject: [PATCH 3/3] Move JIT regression test
Co-authored-by: jakobbotsch <7887810+jakobbotsch@users.noreply.github.com>
---
.../Regression_ro_2/Runtime_133759.cs} | 6 ++----
.../coreclr/GitHub_133759/GitHub_133759.csproj | 11 -----------
2 files changed, 2 insertions(+), 15 deletions(-)
rename src/tests/{Regressions/coreclr/GitHub_133759/test133759.cs => JIT/Regression_ro_2/Runtime_133759.cs} (91%)
delete mode 100644 src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
diff --git a/src/tests/Regressions/coreclr/GitHub_133759/test133759.cs b/src/tests/JIT/Regression_ro_2/Runtime_133759.cs
similarity index 91%
rename from src/tests/Regressions/coreclr/GitHub_133759/test133759.cs
rename to src/tests/JIT/Regression_ro_2/Runtime_133759.cs
index d0db42ca69bae0..e7bc35e383e9e4 100644
--- a/src/tests/Regressions/coreclr/GitHub_133759/test133759.cs
+++ b/src/tests/JIT/Regression_ro_2/Runtime_133759.cs
@@ -4,7 +4,7 @@
using System.Runtime.CompilerServices;
using Xunit;
-public class Program
+public class Runtime_133759
{
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.AggressiveOptimization)]
private static void Test(int seed, long[] dst)
@@ -18,7 +18,7 @@ private static void Test(int seed, long[] dst)
}
[Fact]
- public static int TestEntryPoint()
+ public static void TestEntryPoint()
{
long[] actual = new long[10];
Test(-3, actual);
@@ -37,7 +37,5 @@ public static int TestEntryPoint()
48,
],
actual);
-
- return 100;
}
}
diff --git a/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj b/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
deleted file mode 100644
index 2b9f96606887e9..00000000000000
--- a/src/tests/Regressions/coreclr/GitHub_133759/GitHub_133759.csproj
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- 1
-
-
-
-
-
-
-
-