Skip to content

Commit de6b2d9

Browse files
authored
Add pgo testing to outerloop (#53301)
Also update jit-experimental to no longer run PGO or EH WriteThru.
1 parent 3270344 commit de6b2d9

File tree

5 files changed

+129
-6
lines changed

5 files changed

+129
-6
lines changed

eng/pipelines/common/templates/runtimes/run-test-job.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,12 @@ jobs:
465465
- jitminopts
466466
- forcerelocs
467467
- gcstress0xf
468+
${{ if in(parameters.testGroup, 'pgo') }}:
469+
scenarios:
470+
- nopgo
471+
- defaultpgo
472+
- dynamicpgo
473+
- fullpgo
468474
${{ if in(parameters.testGroup, 'gc-longrunning') }}:
469475
longRunningGcTests: true
470476
scenarios:
@@ -481,10 +487,7 @@ jobs:
481487
scenarios:
482488
- jitosr
483489
- jitosr_stress
484-
- jitehwritethru
485490
- jitobjectstackallocation
486-
- jitpgo
487-
- jitpgo_inline
488491
${{ if in(parameters.testGroup, 'ilasm') }}:
489492
scenarios:
490493
- ilasmroundtrip
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
trigger: none
2+
3+
schedules:
4+
- cron: "0 16 * * 0,6"
5+
displayName: Sat and Sun at 8:00 AM (UTC-8:00)
6+
branches:
7+
include:
8+
- main
9+
always: true
10+
11+
jobs:
12+
13+
#
14+
# Build CoreCLR checked and libraries Release
15+
#
16+
- template: /eng/pipelines/common/platform-matrix.yml
17+
parameters:
18+
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
19+
buildConfig: checked
20+
platforms:
21+
- Linux_x64
22+
- Linux_arm
23+
- Linux_arm64
24+
- windows_x86
25+
- windows_x64
26+
- windows_arm64
27+
jobParameters:
28+
# libraries test build platforms
29+
testBuildPlatforms:
30+
- Linux_x64
31+
- windows_x64
32+
33+
#
34+
# Libraries Test Run using Release libraries, Checked CoreCLR, and stress modes
35+
#
36+
- template: /eng/pipelines/common/platform-matrix.yml
37+
parameters:
38+
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
39+
buildConfig: Release
40+
platforms:
41+
- Linux_arm
42+
- Linux_arm64
43+
- Linux_x64
44+
- windows_arm64
45+
- windows_x64
46+
- windows_x86
47+
helixQueueGroup: libraries
48+
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
49+
jobParameters:
50+
timeoutInMinutes: 150
51+
testScope: innerloop
52+
liveRuntimeBuildConfig: checked
53+
dependsOnTestBuildConfiguration: Release
54+
dependsOnTestArchitecture: x64
55+
coreclrTestGroup: pgo

eng/pipelines/coreclr/pgo.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
trigger: none
2+
3+
schedules:
4+
- cron: "0 8 * * *"
5+
displayName: Mon through Sun at 12:00 AM (UTC-8:00)
6+
branches:
7+
include:
8+
- main
9+
always: true
10+
11+
jobs:
12+
13+
- template: /eng/pipelines/common/platform-matrix.yml
14+
parameters:
15+
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
16+
buildConfig: checked
17+
platforms:
18+
- Linux_arm
19+
- Linux_arm64
20+
- Linux_x64
21+
- OSX_arm64
22+
- windows_arm
23+
- windows_arm64
24+
- windows_x64
25+
- windows_x86
26+
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
27+
jobParameters:
28+
testGroup: pgo
29+
30+
- template: /eng/pipelines/common/platform-matrix.yml
31+
parameters:
32+
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
33+
buildConfig: checked
34+
platforms:
35+
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
36+
jobParameters:
37+
testGroup: pgo
38+
liveLibrariesBuildConfig: Release
39+
40+
- template: /eng/pipelines/common/platform-matrix.yml
41+
parameters:
42+
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
43+
buildConfig: checked
44+
platforms:
45+
- Linux_arm
46+
- Linux_arm64
47+
- Linux_x64
48+
- OSX_arm64
49+
- windows_arm
50+
- windows_arm64
51+
- windows_x64
52+
- windows_x86
53+
helixQueueGroup: ci
54+
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
55+
jobParameters:
56+
testGroup: pgo
57+
liveLibrariesBuildConfig: Release

eng/pipelines/libraries/run-test-job.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,10 @@ jobs:
193193
- gcstress0xc_jitstress1
194194
- gcstress0xc_jitstress2
195195
- gcstress0xc_jitminopts_heapverify1
196+
${{ if in(parameters.coreclrTestGroup, 'pgo') }}:
197+
scenarios:
198+
- nopgo
199+
- defaultpgo
200+
- dynamicpgo
201+
- fullpgo
202+

src/tests/Common/testenvironment.proj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,13 @@
148148
<TestEnvironment Include="gcstress0xc_jitminopts_heapverify1" GCStress="0xC" JITMinOpts="1" HeapVerify="1" />
149149
<TestEnvironment Include="jitosr" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TieredCompilation="1" />
150150
<TestEnvironment Include="jitosr_stress" TC_OnStackReplacement="1" TC_QuickJitForLoops="1" TC_OnStackReplacement_InitialCounter="1" OSR_HitLimit="1" TieredCompilation="1" />
151-
<TestEnvironment Include="jitpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" />
152-
<TestEnvironment Include="jitpgo_inline" TieredPGO="1" TieredCompilation="1" JitInlinePolicyProfile="1" TC_QuickJitForLoops="1" />
153-
<TestEnvironment Include="jitehwritethru" EnableEhWriteThru="1" TieredCompilation="0" />
154151
<TestEnvironment Include="jitobjectstackallocation" JitObjectStackAllocation="1" TieredCompilation="0" />
155152
<TestEnvironment Include="ilasmroundtrip" RunningIlasmRoundTrip="1" />
156153
<TestEnvironment Include="clrinterpreter" TieredCompilation="1" />
154+
<TestEnvironment Include="nopgo" JitDisablePGO="1" TieredCompilation="1" />
155+
<TestEnvironment Include="defaultpgo" TieredPGO="1" TieredCompilation="1" />
156+
<TestEnvironment Include="dynamicpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" />
157+
<TestEnvironment Include="fullpgo" TieredPGO="1" TieredCompilation="1" TC_QuickJitForLoops="1" ReadyToRun="0"/>
157158
</ItemGroup>
158159

159160
<!-- We use target batching on the COMPlusVariable items to iterate over the all COMPlus_* environment variables

0 commit comments

Comments
 (0)