From b2234a9711cd917a8db287be31b4decc64d67e50 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 15 May 2026 20:45:39 +0000
Subject: [PATCH 1/9] Add composite-only CrossGen test opt-out
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/9738ecd5-72f4-4da1-a593-022aeffb7149
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index 1add20a931f4d7..9748e9b3982b47 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -32,6 +32,10 @@ WARNING: When setting properties based on their current state (for example:
Tests can opt out of ahead-of-time (AOT) compilation from crossgen / crossgen2 by setting this property in their project:
false
+
+ Tests can opt out of composite crossgen2 only by setting this property in their project:
+
+ false
-->
@@ -46,6 +50,10 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
+if [ "$(CompositeCrossGenTest)" == "false" ] && [ ! -z ${CompositeBuildMode+x} ]; then
+ unset RunCrossGen2
+fi
+
# CrossGen2 Script
if [ ! -z ${RunCrossGen2+x} ]%3B then
compilationDoneFlagFile="IL-CG2/done"
@@ -232,6 +240,12 @@ if /i "$(AlwaysUseCrossGen2)" == "true" (
set CompositeBuildMode=1
)
+if /i "$(CompositeCrossGenTest)" == "false" (
+ if defined CompositeBuildMode (
+ set RunCrossGen2=
+ )
+)
+
REM CrossGen2 Script
if defined RunCrossGen2 (
set ExtraCrossGen2Args=!ExtraCrossGen2Args! $(CrossGen2TestExtraArguments)
From b2d06e8306bc4bee15bc3d3c5f1ff62aabe85334 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 15 May 2026 20:47:57 +0000
Subject: [PATCH 2/9] Address composite opt-out review feedback
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/9738ecd5-72f4-4da1-a593-022aeffb7149
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index 9748e9b3982b47..bbfa3c67d0ca38 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -50,7 +50,7 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
-if [ "$(CompositeCrossGenTest)" == "false" ] && [ ! -z ${CompositeBuildMode+x} ]; then
+if [[ "$(CompositeCrossGenTest)" == "false" && -n ${CompositeBuildMode+x} ]]; then
unset RunCrossGen2
fi
From 7c334534ccf88a6c7d6383241a45b64dac26d7df Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 15 May 2026 20:49:10 +0000
Subject: [PATCH 3/9] Align composite opt-out shell condition style
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/9738ecd5-72f4-4da1-a593-022aeffb7149
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index bbfa3c67d0ca38..460a810fdb1cec 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -50,7 +50,7 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
-if [[ "$(CompositeCrossGenTest)" == "false" && -n ${CompositeBuildMode+x} ]]; then
+if [ "$(CompositeCrossGenTest)" == "false" ] && [ -n "${CompositeBuildMode+x}" ]; then
unset RunCrossGen2
fi
From 3c861d94500c4f703905508a23c4f999fdd69198 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 15 May 2026 20:50:26 +0000
Subject: [PATCH 4/9] Clarify composite opt-out condition
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/9738ecd5-72f4-4da1-a593-022aeffb7149
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index 460a810fdb1cec..17e217aad73854 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -50,7 +50,8 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
-if [ "$(CompositeCrossGenTest)" == "false" ] && [ -n "${CompositeBuildMode+x}" ]; then
+# CompositeBuildMode is an opt-in by variable presence.
+if [ "$(CompositeCrossGenTest)" = "false" ] && [ -n "${CompositeBuildMode+x}" ]; then
unset RunCrossGen2
fi
@@ -241,6 +242,7 @@ if /i "$(AlwaysUseCrossGen2)" == "true" (
)
if /i "$(CompositeCrossGenTest)" == "false" (
+ REM CompositeBuildMode is an opt-in by variable presence.
if defined CompositeBuildMode (
set RunCrossGen2=
)
From 2e380ba3190c0dd61cc2c11f08c11d8e5d37beb7 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 15 May 2026 21:50:28 +0000
Subject: [PATCH 5/9] Disable composite CrossGen for jit64_3
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/13b5c474-2ae7-4114-aca8-6aa65b6dddc0
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/JIT/jit64/jit64_3.csproj | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/tests/JIT/jit64/jit64_3.csproj b/src/tests/JIT/jit64/jit64_3.csproj
index acc0c6624a1c8d..ccbd03849b4a78 100644
--- a/src/tests/JIT/jit64/jit64_3.csproj
+++ b/src/tests/JIT/jit64/jit64_3.csproj
@@ -1,4 +1,8 @@
+
+ false
+
+
From 357c13f7fd47e11c7ddeeb142fa7deb066636d44 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 16 May 2026 00:33:15 +0000
Subject: [PATCH 6/9] Split jit64_3 opt merged tests
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/e6627b08-90e0-4233-aa39-2bc9f018a772
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/JIT/jit64/jit64_3.csproj | 6 +-----
src/tests/JIT/jit64/jit64_3_cprop.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_cse.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_inl.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_lim.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_lur.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_osr.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_regress.csproj | 7 +++++++
src/tests/JIT/jit64/jit64_3_rngchk.csproj | 7 +++++++
9 files changed, 57 insertions(+), 5 deletions(-)
create mode 100644 src/tests/JIT/jit64/jit64_3_cprop.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_cse.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_inl.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_lim.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_lur.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_osr.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_regress.csproj
create mode 100644 src/tests/JIT/jit64/jit64_3_rngchk.csproj
diff --git a/src/tests/JIT/jit64/jit64_3.csproj b/src/tests/JIT/jit64/jit64_3.csproj
index ccbd03849b4a78..b23e239e3744d2 100644
--- a/src/tests/JIT/jit64/jit64_3.csproj
+++ b/src/tests/JIT/jit64/jit64_3.csproj
@@ -1,10 +1,6 @@
-
- false
-
-
-
+
diff --git a/src/tests/JIT/jit64/jit64_3_cprop.csproj b/src/tests/JIT/jit64/jit64_3_cprop.csproj
new file mode 100644
index 00000000000000..a08fa41b895f6f
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_cprop.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_cse.csproj b/src/tests/JIT/jit64/jit64_3_cse.csproj
new file mode 100644
index 00000000000000..d0f71af2713f92
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_cse.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_inl.csproj b/src/tests/JIT/jit64/jit64_3_inl.csproj
new file mode 100644
index 00000000000000..7e7bed874d910e
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_inl.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_lim.csproj b/src/tests/JIT/jit64/jit64_3_lim.csproj
new file mode 100644
index 00000000000000..793c0dc00a1a83
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_lim.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_lur.csproj b/src/tests/JIT/jit64/jit64_3_lur.csproj
new file mode 100644
index 00000000000000..f432e6dfb89445
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_lur.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_osr.csproj b/src/tests/JIT/jit64/jit64_3_osr.csproj
new file mode 100644
index 00000000000000..330d12f07d8346
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_osr.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_regress.csproj b/src/tests/JIT/jit64/jit64_3_regress.csproj
new file mode 100644
index 00000000000000..5ece9ce5797ea9
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_regress.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_rngchk.csproj b/src/tests/JIT/jit64/jit64_3_rngchk.csproj
new file mode 100644
index 00000000000000..5b2719940dbb07
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_rngchk.csproj
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
From dced6bd9a52aa7bee208da32a1fdab1cdda2b70a Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 16 May 2026 00:46:48 +0000
Subject: [PATCH 7/9] Split jit64_3 opt tests by category
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/e6627b08-90e0-4233-aa39-2bc9f018a772
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index 17e217aad73854..4a9c8e621fe79f 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -33,9 +33,6 @@ WARNING: When setting properties based on their current state (for example:
false
- Tests can opt out of composite crossgen2 only by setting this property in their project:
-
- false
-->
@@ -50,11 +47,6 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
-# CompositeBuildMode is an opt-in by variable presence.
-if [ "$(CompositeCrossGenTest)" = "false" ] && [ -n "${CompositeBuildMode+x}" ]; then
- unset RunCrossGen2
-fi
-
# CrossGen2 Script
if [ ! -z ${RunCrossGen2+x} ]%3B then
compilationDoneFlagFile="IL-CG2/done"
@@ -241,13 +233,6 @@ if /i "$(AlwaysUseCrossGen2)" == "true" (
set CompositeBuildMode=1
)
-if /i "$(CompositeCrossGenTest)" == "false" (
- REM CompositeBuildMode is an opt-in by variable presence.
- if defined CompositeBuildMode (
- set RunCrossGen2=
- )
-)
-
REM CrossGen2 Script
if defined RunCrossGen2 (
set ExtraCrossGen2Args=!ExtraCrossGen2Args! $(CrossGen2TestExtraArguments)
From 321f3f41b86d44e790576bdccaa7ef51d555e34e Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 16 May 2026 02:09:41 +0000
Subject: [PATCH 8/9] Split Huge jit64 tests from cse group
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/05b5e509-39b1-4a44-91f0-c12b5e81d58c
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/Common/CLRTest.CrossGen.targets | 16 ++++++++++++++++
src/tests/JIT/jit64/jit64_3_cse.csproj | 1 +
src/tests/JIT/jit64/jit64_3_huge.csproj | 12 ++++++++++++
3 files changed, 29 insertions(+)
create mode 100644 src/tests/JIT/jit64/jit64_3_huge.csproj
diff --git a/src/tests/Common/CLRTest.CrossGen.targets b/src/tests/Common/CLRTest.CrossGen.targets
index 4a9c8e621fe79f..3f883bdc4e836c 100644
--- a/src/tests/Common/CLRTest.CrossGen.targets
+++ b/src/tests/Common/CLRTest.CrossGen.targets
@@ -33,6 +33,10 @@ WARNING: When setting properties based on their current state (for example:
false
+ Tests can opt out of composite crossgen2 only by setting this property in their project:
+
+ false
+
-->
@@ -47,6 +51,11 @@ if [ "$(AlwaysUseCrossGen2)" == "true" ]; then
export CompositeBuildMode=1
fi
+# CompositeBuildMode is an opt-in by variable presence.
+if [ "$(CompositeCrossGenTest)" = "false" ] && [ -n "${CompositeBuildMode+x}" ]; then
+ unset CompositeBuildMode
+fi
+
# CrossGen2 Script
if [ ! -z ${RunCrossGen2+x} ]%3B then
compilationDoneFlagFile="IL-CG2/done"
@@ -233,6 +242,13 @@ if /i "$(AlwaysUseCrossGen2)" == "true" (
set CompositeBuildMode=1
)
+if /i "$(CompositeCrossGenTest)" == "false" (
+ REM CompositeBuildMode is an opt-in by variable presence.
+ if defined CompositeBuildMode (
+ set CompositeBuildMode=
+ )
+)
+
REM CrossGen2 Script
if defined RunCrossGen2 (
set ExtraCrossGen2Args=!ExtraCrossGen2Args! $(CrossGen2TestExtraArguments)
diff --git a/src/tests/JIT/jit64/jit64_3_cse.csproj b/src/tests/JIT/jit64/jit64_3_cse.csproj
index d0f71af2713f92..bb016f6df27e0e 100644
--- a/src/tests/JIT/jit64/jit64_3_cse.csproj
+++ b/src/tests/JIT/jit64/jit64_3_cse.csproj
@@ -1,6 +1,7 @@
+
diff --git a/src/tests/JIT/jit64/jit64_3_huge.csproj b/src/tests/JIT/jit64/jit64_3_huge.csproj
new file mode 100644
index 00000000000000..be9b5b6870ed09
--- /dev/null
+++ b/src/tests/JIT/jit64/jit64_3_huge.csproj
@@ -0,0 +1,12 @@
+
+
+
+ false
+
+
+
+
+
+
+
+
From 84447423efbf40f718262ca430c61cd68fcc5d5c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 17 May 2026 01:23:10 +0000
Subject: [PATCH 9/9] Collapse non-Huge jit64 tests
Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/adc88170-a41d-41de-b36b-68e1ff6af919
Co-authored-by: jtschuster <36744439+jtschuster@users.noreply.github.com>
---
src/tests/JIT/jit64/jit64_3.csproj | 3 ++-
src/tests/JIT/jit64/jit64_3_cprop.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_cse.csproj | 8 --------
src/tests/JIT/jit64/jit64_3_inl.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_lim.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_lur.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_osr.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_regress.csproj | 7 -------
src/tests/JIT/jit64/jit64_3_rngchk.csproj | 7 -------
9 files changed, 2 insertions(+), 58 deletions(-)
delete mode 100644 src/tests/JIT/jit64/jit64_3_cprop.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_cse.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_inl.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_lim.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_lur.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_osr.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_regress.csproj
delete mode 100644 src/tests/JIT/jit64/jit64_3_rngchk.csproj
diff --git a/src/tests/JIT/jit64/jit64_3.csproj b/src/tests/JIT/jit64/jit64_3.csproj
index b23e239e3744d2..db27c19838aa1b 100644
--- a/src/tests/JIT/jit64/jit64_3.csproj
+++ b/src/tests/JIT/jit64/jit64_3.csproj
@@ -1,6 +1,7 @@
-
+
+
diff --git a/src/tests/JIT/jit64/jit64_3_cprop.csproj b/src/tests/JIT/jit64/jit64_3_cprop.csproj
deleted file mode 100644
index a08fa41b895f6f..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_cprop.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_cse.csproj b/src/tests/JIT/jit64/jit64_3_cse.csproj
deleted file mode 100644
index bb016f6df27e0e..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_cse.csproj
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_inl.csproj b/src/tests/JIT/jit64/jit64_3_inl.csproj
deleted file mode 100644
index 7e7bed874d910e..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_inl.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_lim.csproj b/src/tests/JIT/jit64/jit64_3_lim.csproj
deleted file mode 100644
index 793c0dc00a1a83..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_lim.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_lur.csproj b/src/tests/JIT/jit64/jit64_3_lur.csproj
deleted file mode 100644
index f432e6dfb89445..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_lur.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_osr.csproj b/src/tests/JIT/jit64/jit64_3_osr.csproj
deleted file mode 100644
index 330d12f07d8346..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_osr.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_regress.csproj b/src/tests/JIT/jit64/jit64_3_regress.csproj
deleted file mode 100644
index 5ece9ce5797ea9..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_regress.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/tests/JIT/jit64/jit64_3_rngchk.csproj b/src/tests/JIT/jit64/jit64_3_rngchk.csproj
deleted file mode 100644
index 5b2719940dbb07..00000000000000
--- a/src/tests/JIT/jit64/jit64_3_rngchk.csproj
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-