@@ -69,7 +69,9 @@ class Constants {
69
69
// the values are the environment variables
70
70
def static jitStressModeScenarios = [
71
71
' minopts' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JITMinOpts' : ' 1' ],
72
- ' tieredcompilation' : [' COMPlus_TieredCompilation' : ' 1' ],
72
+ ' tieredcompilation' : [' COMPlus_TieredCompilation' : ' 1' ], // this can be removed once tiered compilation is on by default
73
+ ' no_tiered_compilation' : [' COMPlus_TieredCompilation' : ' 0' ],
74
+ ' no_tiered_compilation_innerloop' : [' COMPlus_TieredCompilation' : ' 0' ],
73
75
' forcerelocs' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_ForceRelocs' : ' 1' ],
74
76
' jitstress1' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JitStress' : ' 1' ],
75
77
' jitstress2' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JitStress' : ' 2' ],
@@ -101,7 +103,7 @@ class Constants {
101
103
' jitnox86hwintrinsic' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_EnableIncompleteISAClass' : ' 1' , ' COMPlus_EnableSSE' : ' 0' , ' COMPlus_EnableSSE2' : ' 0' , ' COMPlus_EnableSSE3' : ' 0' , ' COMPlus_EnableSSSE3' : ' 0' , ' COMPlus_EnableSSE41' : ' 0' , ' COMPlus_EnableSSE42' : ' 0' , ' COMPlus_EnableAVX' : ' 0' , ' COMPlus_EnableAVX2' : ' 0' , ' COMPlus_EnableAES' : ' 0' , ' COMPlus_EnableBMI1' : ' 0' , ' COMPlus_EnableBMI2' : ' 0' , ' COMPlus_EnableFMA' : ' 0' , ' COMPlus_EnableLZCNT' : ' 0' , ' COMPlus_EnablePCLMULQDQ' : ' 0' , ' COMPlus_EnablePOPCNT' : ' 0' ],
102
104
' corefx_baseline' : [' COMPlus_TieredCompilation' : ' 0' ], // corefx baseline
103
105
' corefx_minopts' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JITMinOpts' : ' 1' ],
104
- ' corefx_tieredcompilation' : [' COMPlus_TieredCompilation' : ' 1' ],
106
+ ' corefx_tieredcompilation' : [' COMPlus_TieredCompilation' : ' 1' ], // this can be removed once tiered compilation is on by default
105
107
' corefx_jitstress1' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JitStress' : ' 1' ],
106
108
' corefx_jitstress2' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JitStress' : ' 2' ],
107
109
' corefx_jitstressregs1' : [' COMPlus_TieredCompilation' : ' 0' , ' COMPlus_JitStressRegs' : ' 1' ],
@@ -140,7 +142,8 @@ class Constants {
140
142
' r2r_jitstressregs0x1000' : [' COMPlus_TieredCompilation' : ' 0' , " COMPlus_JitStressRegs" : " 0x1000" ],
141
143
' r2r_jitminopts' : [' COMPlus_TieredCompilation' : ' 0' , " COMPlus_JITMinOpts" : " 1" ],
142
144
' r2r_jitforcerelocs' : [' COMPlus_TieredCompilation' : ' 0' , " COMPlus_ForceRelocs" : " 1" ],
143
- ' r2r_gcstress15' : [' COMPlus_TieredCompilation' : ' 0' , " COMPlus_GCStress" : " 0xF" ]
145
+ ' r2r_gcstress15' : [' COMPlus_TieredCompilation' : ' 0' , " COMPlus_GCStress" : " 0xF" ],
146
+ ' r2r_no_tiered_compilation' : [' COMPlus_TieredCompilation' : ' 0' ],
144
147
]
145
148
146
149
// This is the basic set of scenarios
@@ -251,8 +254,11 @@ class Constants {
251
254
' r2r_jitminopts' : [" R2R_FAIL" , " R2R_EXCLUDE" , " JITSTRESS_FAIL" , " JITSTRESS_EXCLUDE" , " MINOPTS_FAIL" , " MINOPTS_EXCLUDE" ],
252
255
' r2r_jitforcerelocs' : [" R2R_FAIL" , " R2R_EXCLUDE" , " JITSTRESS_FAIL" , " JITSTRESS_EXCLUDE" ],
253
256
' r2r_gcstress15' : [" R2R_FAIL" , " R2R_EXCLUDE" , " JITSTRESS_FAIL" , " JITSTRESS_EXCLUDE" , " GCSTRESS_FAIL" , " GCSTRESS_EXCLUDE" ],
257
+ ' r2r_no_tiered_compilation' : [" R2R_FAIL" , " R2R_EXCLUDE" ],
254
258
' minopts' : [" MINOPTS_FAIL" , " MINOPTS_EXCLUDE" ],
255
259
' tieredcompilation' : [],
260
+ ' no_tiered_compilation' : [],
261
+ ' no_tiered_compilation_innerloop' : [],
256
262
' forcerelocs' : [],
257
263
' jitstress1' : [" JITSTRESS_FAIL" , " JITSTRESS_EXCLUDE" ],
258
264
' jitstress2' : [" JITSTRESS_FAIL" , " JITSTRESS_EXCLUDE" ],
@@ -358,7 +364,10 @@ class Constants {
358
364
' r2r_jitminopts' ,
359
365
' r2r_jitforcerelocs' ,
360
366
' r2r_gcstress15' ,
367
+ ' r2r_no_tiered_compilation' ,
361
368
' minopts' ,
369
+ ' no_tiered_compilation' ,
370
+ ' no_tiered_compilation_innerloop' ,
362
371
' forcerelocs' ,
363
372
' jitstress1' ,
364
373
' jitstress2' ,
@@ -769,14 +778,18 @@ def static isValidPrTriggeredInnerLoopJob(os, architecture, configuration, isBui
769
778
return true
770
779
}
771
780
781
+ // This means the job builds and runs the 'Pri0' test set. This does not mean the job is
782
+ // scheduled with a default PR trigger despite the correlation being true at the moment.
783
+ def static isPri0TestScenario (def scenario ) {
784
+ return (scenario == ' innerloop' || scenario == ' no_tiered_compilation_innerloop' )
785
+ }
786
+
772
787
def static setJobTimeout (newJob , isPR , architecture , configuration , scenario , isBuildOnly ) {
773
788
// 2 hours (120 minutes) is the default timeout
774
789
def timeout = 120
775
- def innerLoop = (scenario == " innerloop" )
776
790
777
- if (! innerLoop) {
778
- // Pri-1 test builds take a long time. Default PR jobs are Pri-0; everything else is Pri-1
779
- // (see calculateBuildCommands()). So up the Pri-1 build jobs timeout.
791
+ if (! isPri0TestScenario(scenario)) {
792
+ // Pri-1 test builds take a long time (see calculateBuildCommands()). So up the Pri-1 build jobs timeout.
780
793
timeout = 240
781
794
}
782
795
@@ -1104,6 +1117,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def
1104
1117
// Check scenario.
1105
1118
switch (scenario) {
1106
1119
case ' innerloop' :
1120
+ case ' no_tiered_compilation_innerloop' :
1107
1121
break
1108
1122
case ' normal' :
1109
1123
switch (architecture) {
@@ -1190,6 +1204,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def
1190
1204
case ' r2r_jitminopts' :
1191
1205
case ' r2r_jitforcerelocs' :
1192
1206
case ' r2r_gcstress15' :
1207
+ case ' r2r_no_tiered_compilation' :
1193
1208
assert ! (os in bidailyCrossList)
1194
1209
1195
1210
// GCStress=C is currently not supported on OS X
@@ -1275,6 +1290,7 @@ def static addNonPRTriggers(def job, def branch, def isPR, def architecture, def
1275
1290
case ' jitstressregs0x1000' :
1276
1291
case ' minopts' :
1277
1292
case ' tieredcompilation' :
1293
+ case ' no_tiered_compilation' :
1278
1294
case ' forcerelocs' :
1279
1295
case ' jitstress1' :
1280
1296
case ' jitstress2' :
@@ -1605,6 +1621,14 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
1605
1621
Utilities . addGithubPRTriggerForBranch(job, branch, " ${ os} ${ architecture} ${ configuration} Innerloop Build and Test" )
1606
1622
}
1607
1623
break
1624
+ // no_tiered_compilation_innerloop will be added as default once it is confirmed working
1625
+ // case 'no_tiered_compilation_innerloop':
1626
+ // // Default trigger
1627
+ // if (configuration == 'Checked') {
1628
+ // def displayStr = getStressModeDisplayName(scenario)
1629
+ // Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - ${displayStr})")
1630
+ // }
1631
+ // break
1608
1632
1609
1633
case ' normal' :
1610
1634
if (configuration == ' Checked' ) {
@@ -1750,7 +1774,8 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
1750
1774
break
1751
1775
}
1752
1776
1753
- if (scenario == ' innerloop' ) {
1777
+ // no_tiered_compilation_innerloop will be added as default once it is confirmed working
1778
+ if (scenario == ' innerloop' /* || scenario == 'no_tiered_compilation_innerloop'*/ ) {
1754
1779
if (configuration == ' Checked' ) {
1755
1780
Utilities . addGithubPRTriggerForBranch(job, branch, contextString)
1756
1781
}
@@ -1893,6 +1918,14 @@ def static addTriggers(def job, def branch, def isPR, def architecture, def os,
1893
1918
}
1894
1919
break
1895
1920
1921
+ // no_tiered_compilation_innerloop will be added as default once it is confirmed working
1922
+ // case 'no_tiered_compilation_innerloop':
1923
+ // if (configuration == 'Checked') {
1924
+ // def displayStr = getStressModeDisplayName(scenario)
1925
+ // Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - ${displayStr})")
1926
+ // }
1927
+ // break
1928
+
1896
1929
case ' normal' :
1897
1930
if (configuration == ' Checked' ) {
1898
1931
Utilities . addGithubPRTriggerForBranch(job, branch, " ${ os} ${ architecture} ${ configuration} Build and Test" ,
@@ -1984,7 +2017,7 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
1984
2017
def lowerConfiguration = configuration. toLowerCase()
1985
2018
1986
2019
def priority = ' 1'
1987
- if (scenario == ' innerloop ' ) {
2020
+ if (isPri0TestScenario( scenario) ) {
1988
2021
priority = ' 0'
1989
2022
}
1990
2023
@@ -2465,7 +2498,6 @@ def static calculateBuildCommands(def newJob, def scenario, def branch, def isPR
2465
2498
def static shouldGenerateJob (def scenario , def isPR , def architecture , def configuration , def os , def isBuildOnly )
2466
2499
{
2467
2500
// The "innerloop" (Pri-0 testing) scenario is only available as PR triggered.
2468
- // All other scenarios do Pri-1 testing.
2469
2501
if (scenario == ' innerloop' && ! isPR) {
2470
2502
return false
2471
2503
}
@@ -2921,8 +2953,7 @@ def static CreateWindowsArmTestJob(def dslFactory, def project, def architecture
2921
2953
addArchSpecificExclude(architecture, excludeTag)
2922
2954
}
2923
2955
2924
- // Innerloop jobs run Pri-0 tests; everyone else runs Pri-1.
2925
- if (scenario == ' innerloop' ) {
2956
+ if (isPri0TestScenario(scenario)) {
2926
2957
addExclude(" pri1" )
2927
2958
}
2928
2959
@@ -3327,7 +3358,6 @@ build(params + [CORECLR_BUILD: coreclrBuildJob.build.number,
3327
3358
def static shouldGenerateFlowJob (def scenario , def isPR , def architecture , def configuration , def os )
3328
3359
{
3329
3360
// The "innerloop" (Pri-0 testing) scenario is only available as PR triggered.
3330
- // All other scenarios do Pri-1 testing.
3331
3361
if (scenario == ' innerloop' && ! isPR) {
3332
3362
return false
3333
3363
}
@@ -3516,7 +3546,7 @@ Constants.allScenarios.each { scenario ->
3516
3546
3517
3547
// Figure out the job name of the CoreCLR build the test will depend on.
3518
3548
3519
- def inputCoreCLRBuildScenario = scenario == ' innerloop ' ? ' innerloop' : ' normal'
3549
+ def inputCoreCLRBuildScenario = isPri0TestScenario( scenario) ? ' innerloop' : ' normal'
3520
3550
def inputCoreCLRBuildIsBuildOnly = false
3521
3551
if (isCoreFxScenario(scenario)) {
3522
3552
// Every CoreFx test depends on its own unique build.
@@ -3535,7 +3565,7 @@ Constants.allScenarios.each { scenario ->
3535
3565
3536
3566
def windowsArmJob = ((os == " Windows_NT" ) && (architecture in Constants . armWindowsCrossArchitectureList))
3537
3567
if (! windowsArmJob) {
3538
- def testBuildScenario = scenario == ' innerloop ' ? ' innerloop' : ' normal'
3568
+ def testBuildScenario = isPri0TestScenario( scenario) ? ' innerloop' : ' normal'
3539
3569
3540
3570
def inputTestsBuildArch = architecture
3541
3571
if (architecture == " arm64" ) {
0 commit comments