Skip to content

Fix the mid-level function-pass pipeline #31424

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 4, 2020

Conversation

meg-gupta
Copy link
Contributor

Reopening #31163

rdar://62549587

atrick and others added 3 commits April 29, 2020 14:29
Module passes need to be in a separate pipeline, otherwise the
pipeline restart mechanism will be broken.

This makes GlobalOpt and serialization run earlier in the
pipeline. There's no explicit reason for them to be run later, in the
middle of a function pass pipeline.

Also, pipeline boundaries, like serialization and module passes should
be explicit at the the top level function that creates the pass
pipelines.
Don't allow module passes to be inserted within a function pass
pipeline. This silently breaks the function pipeline both interfering
with analysis and the normal pipeline restart mechanism.
@meg-gupta meg-gupta marked this pull request as draft April 29, 2020 23:02
@meg-gupta
Copy link
Contributor Author

@swift-ci test

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@meg-gupta
Copy link
Contributor Author

@swift-ci Please Test Source Compatibility

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
Prims.NonStrongRef.UnownedSafe 577 681 +18.0% 0.85x (?)
Prims.NonStrongRef.UnownedSafe.Closure 579 681 +17.6% 0.85x (?)
ProtocolDispatch 196 217 +10.7% 0.90x (?)
PointerArithmetics 21700 23900 +10.1% 0.91x
ObserverForwarderStruct 645 710 +10.1% 0.91x (?)
ObjectiveCBridgeStringHash 78 85 +9.0% 0.92x (?)
ArraySetElement 262 283 +8.0% 0.93x (?)
PrefixWhileAnySeqCRangeIter 182 196 +7.7% 0.93x (?)
RemoveWhereFilterInts 26 28 +7.7% 0.93x (?)
Set.subtracting.Empty.Int 26 28 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SubstringEquatable 575 468 -18.6% 1.23x
Set.isDisjoint.Box.Empty 98 87 -11.2% 1.13x (?)
Set.isDisjoint.Seq.Int.Empty 51 46 -9.8% 1.11x (?)
Set.isDisjoint.Seq.Box.Empty 89 81 -9.0% 1.10x (?)
SuffixSequenceLazy 305 278 -8.9% 1.10x (?)
Set.isSuperset.Seq.Empty.Int 49 45 -8.2% 1.09x (?)
ArrayLiteral2 75 69 -8.0% 1.09x (?)
StringBuilderSmallReservingCapacity 229 211 -7.9% 1.09x (?)
SuffixSequence 299 276 -7.7% 1.08x (?)

Code size: -O

Regression OLD NEW DELTA RATIO
Array2D.o 2980 3012 +1.1% 0.99x
 
Improvement OLD NEW DELTA RATIO
PrimsNonStrongRef.o 121128 119328 -1.5% 1.02x
LazyFilter.o 8208 8120 -1.1% 1.01x

Performance: -Osize

Regression OLD NEW DELTA RATIO
Prims.NonStrongRef.UnownedSafe 592 695 +17.4% 0.85x (?)
Prims.NonStrongRef.UnownedSafe.Closure 592 687 +16.0% 0.86x (?)
ObserverForwarderStruct 595 670 +12.6% 0.89x (?)
RandomShuffleLCG2 448 496 +10.7% 0.90x (?)
ObjectiveCBridgeStringHash 77 85 +10.4% 0.91x
Array2D 4208 4624 +9.9% 0.91x (?)
AngryPhonebook.Cyrillic 169 185 +9.5% 0.91x (?)
MapReduceAnyCollection 219 239 +9.1% 0.92x (?)
MapReduce 221 241 +9.0% 0.92x (?)
AngryPhonebook.Armenian 158 172 +8.9% 0.92x (?)
ObserverUnappliedMethod 910 990 +8.8% 0.92x (?)
PrefixWhileAnySeqCntRange 188 204 +8.5% 0.92x (?)
ArrayPlusEqualFiveElementCollection 4440 4810 +8.3% 0.92x (?)
FlattenListLoop 2669 2889 +8.2% 0.92x (?)
PrefixWhileAnySeqCRangeIter 190 205 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
DropFirstArrayLazy 26 14 -46.2% 1.86x
DataCountMedium 19 15 -21.1% 1.27x (?)
SubstringEquatable 573 465 -18.8% 1.23x
SequenceAlgosRange 2610 2170 -16.9% 1.20x
Chars2 3550 3150 -11.3% 1.13x (?)
Set.subtracting.Empty.Box 9 8 -11.1% 1.12x
DataCountSmall 19 17 -10.5% 1.12x
SequenceAlgosArray 2030 1820 -10.3% 1.12x
SequenceAlgosContiguousArray 2030 1820 -10.3% 1.12x
StringBuilder 216 194 -10.2% 1.11x (?)
ParseFloat.Float.Exp 10 9 -10.0% 1.11x (?)
StringComparison_ascii 370 337 -8.9% 1.10x
ArrayOfPOD 380 348 -8.4% 1.09x (?)
Calculator 163 150 -8.0% 1.09x (?)
StringBuilderSmallReservingCapacity 222 205 -7.7% 1.08x (?)
DropFirstAnySeqCntRangeLazy 141 131 -7.1% 1.08x (?)
ArrayLiteral2 106 99 -6.6% 1.07x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
ArrayOfPOD.o 3286 3558 +8.3% 0.92x
RecursiveOwnedParameter.o 1471 1551 +5.4% 0.95x
 
Improvement OLD NEW DELTA RATIO
SequenceAlgos.o 23527 22167 -5.8% 1.06x
DropFirst.o 19775 19119 -3.3% 1.03x
DataBenchmarks.o 57542 56829 -1.2% 1.01x
NibbleSort.o 12976 12832 -1.1% 1.01x
LazyFilter.o 8171 8083 -1.1% 1.01x

Performance: -Onone

Regression OLD NEW DELTA RATIO
ObjectiveCBridgeStringHash 78 86 +10.3% 0.91x
AngryPhonebook.Cyrillic 169 185 +9.5% 0.91x (?)
AngryPhonebook.Armenian 158 172 +8.9% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
DictionarySubscriptDefaultMutation 8783 3277 -62.7% 2.68x
DictionarySubscriptDefaultMutationArray 8879 3411 -61.6% 2.60x
FrequenciesUsingReduceInto 6890 2810 -59.2% 2.45x
DictionarySubscriptDefaultMutationOfObjects 11740 6140 -47.7% 1.91x
DictionarySubscriptDefaultMutationArrayOfObjects 13740 7360 -46.4% 1.87x
FrequenciesUsingReduce 10760 6540 -39.2% 1.65x
ObjectiveCBridgeStubToNSDateRef 2740 2500 -8.8% 1.10x (?)
Dictionary3OfObjects 1100 1018 -7.5% 1.08x (?)
ObjectiveCBridgeStubToNSDate2 410 380 -7.3% 1.08x (?)
DictionaryBridgeToObjC_Bridge 15 14 -6.7% 1.07x (?)

Code size: -swiftlibs

Improvement OLD NEW DELTA RATIO
libswiftCore.dylib 4161536 4091904 -1.7% 1.02x
How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@meg-gupta
Copy link
Contributor Author

@swift-ci test compiler performance

1 similar comment
@meg-gupta
Copy link
Contributor Author

@swift-ci test compiler performance

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@meg-gupta meg-gupta marked this pull request as ready for review May 1, 2020 17:46
@meg-gupta meg-gupta changed the title [WIP] Fix the mid-level function-pass pipeline Fix the mid-level function-pass pipeline May 1, 2020
@meg-gupta
Copy link
Contributor Author

Having module passes in between function passes in the pipeline had an unexpected side-effect. It forced recomputation of BottomUpFunctionOrder. When I converted EagerSpecializer to a function pass, we lost this unintended side effect and saw some regression, which was fixed by #30710 . #30710 has regressions of its own. So I am going to fix EagerSpecializer separately.

@meg-gupta meg-gupta requested a review from atrick May 1, 2020 17:59
@swift-ci
Copy link
Contributor

swift-ci commented May 1, 2020

Compilation-performance test failed

Copy link
Contributor

@atrick atrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@meg-gupta thanks for bringing this PR back to life after over a year and getting it checked in!

@swift-ci
Copy link
Contributor

swift-ci commented May 1, 2020

Performance: -O

Regression OLD NEW DELTA RATIO
DictionaryBridgeToObjC_Access 743 921 +24.0% 0.81x (?)
ArrayAppendLazyMap 6100 7070 +15.9% 0.86x (?)
LazilyFilteredArrayContains 33400 38600 +15.6% 0.87x
String.data.Medium 115 132 +14.8% 0.87x (?)
String.data.LargeUnicode 122 140 +14.8% 0.87x (?)
DataToStringMedium 5100 5800 +13.7% 0.88x (?)
ObserverForwarderStruct 915 1040 +13.7% 0.88x (?)
DictionaryOfAnyHashableStrings_insert 4956 5614 +13.3% 0.88x (?)
DataToStringLargeUnicode 6650 7400 +11.3% 0.90x (?)
CSVParsing.Scalar 201 218 +8.5% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
SubstringEquatable 849 725 -14.6% 1.17x
ObjectiveCBridgeStubToNSDateRef 3820 3480 -8.9% 1.10x (?)
ArrayInClass 1655 1540 -6.9% 1.07x (?)
DistinctClassFieldAccesses 331 308 -6.9% 1.07x

Code size: -O

Regression OLD NEW DELTA RATIO
Array2D.o 2980 3012 +1.1% 0.99x
 
Improvement OLD NEW DELTA RATIO
PrimsNonStrongRef.o 121128 119328 -1.5% 1.02x
LazyFilter.o 8208 8120 -1.1% 1.01x

Performance: -Osize

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 5530 7129 +28.9% 0.78x (?)
DictionaryBridgeToObjC_Access 742 931 +25.5% 0.80x (?)
FlattenListLoop 4002 4982 +24.5% 0.80x (?)
DictionaryOfAnyHashableStrings_insert 4998 5670 +13.4% 0.88x (?)
ArrayAppendLazyMap 6980 7900 +13.2% 0.88x (?)
ObserverForwarderStruct 865 975 +12.7% 0.89x (?)
DataCountSmall 31 34 +9.7% 0.91x
ObserverUnappliedMethod 1210 1320 +9.1% 0.92x (?)
Array2D 6944 7568 +9.0% 0.92x
RemoveWhereMoveInts 34 37 +8.8% 0.92x (?)
InsertCharacterEndIndex 157 170 +8.3% 0.92x (?)
ArrayPlusEqualFiveElementCollection 7696 8325 +8.2% 0.92x (?)
RemoveWhereSwapInts 62 67 +8.1% 0.93x
CSVParsing.Scalar 202 218 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SubstringEquatable 858 734 -14.5% 1.17x

Code size: -Osize

Regression OLD NEW DELTA RATIO
ArrayOfPOD.o 3286 3558 +8.3% 0.92x
RecursiveOwnedParameter.o 1471 1551 +5.4% 0.95x
 
Improvement OLD NEW DELTA RATIO
SequenceAlgos.o 23527 22167 -5.8% 1.06x
DropFirst.o 19775 19119 -3.3% 1.03x
DataBenchmarks.o 57542 56829 -1.2% 1.01x
NibbleSort.o 12976 12832 -1.1% 1.01x
LazyFilter.o 8171 8083 -1.1% 1.01x

Performance: -Onone

Regression OLD NEW DELTA RATIO
StringRemoveDupes 832 930 +11.8% 0.89x (?)
DictionaryRemove 12380 13820 +11.6% 0.90x (?)
DataSetCountSmall 142 157 +10.6% 0.90x (?)
DataCountMedium 91 100 +9.9% 0.91x (?)
Memset 12868 14053 +9.2% 0.92x
DictionarySwap 4344 4716 +8.6% 0.92x (?)
Dictionary3 505 544 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
DictionarySubscriptDefaultMutation 12106 4400 -63.7% 2.75x
DictionarySubscriptDefaultMutationArray 12524 4829 -61.4% 2.59x
FrequenciesUsingReduceInto 9920 4110 -58.6% 2.41x
DictionarySubscriptDefaultMutationOfObjects 17140 8780 -48.8% 1.95x
DictionarySubscriptDefaultMutationArrayOfObjects 19760 10320 -47.8% 1.91x
FrequenciesUsingReduce 15560 9890 -36.4% 1.57x
ExclusivityIndependent 99 91 -8.1% 1.09x (?)

Code size: -swiftlibs

Improvement OLD NEW DELTA RATIO
libswiftCore.dylib 4161536 4091904 -1.7% 1.02x
How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@meg-gupta
Copy link
Contributor Author

@swift-ci test compiler performance

@swift-ci
Copy link
Contributor

swift-ci commented May 2, 2020

Summary for master full

Unexpected test results, excluded stats for RxCocoa, Base64CoderSwiftUI, SwifterSwift

Regressions found (see below)

Debug-batch

debug-batch brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 57,643,704,622,800 57,593,217,635,301 -50,486,987,499 -0.09%
LLVM.NumLLVMBytesOutput 1,878,354,606 1,878,360,242 5,636 0.0%
time.swift-driver.wall 3696.5s 3705.8s 9.3s 0.25%

debug-batch detailed

Regressed (0)
name old new delta delta_pct
Improved (2)
name old new delta delta_pct
Driver.NumDriverPipePolls 103,545 100,825 -2,720 -2.63% ✅
Driver.NumDriverPipeReads 94,185 91,443 -2,742 -2.91% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (237)
name old new delta delta_pct
AST.ImportSetCacheHit 1,831,856 1,831,755 -101 -0.01%
AST.ImportSetCacheMiss 391,155 391,149 -6 -0.0%
AST.ImportSetFoldHit 123,158 123,159 1 0.0%
AST.ImportSetFoldMiss 267,997 267,989 -8 -0.0%
AST.ModuleShadowCacheHit 3,659 3,659 0 0.0%
AST.ModuleShadowCacheMiss 1,888 1,888 0 0.0%
AST.ModuleVisibilityCacheHit 36,931 36,931 0 0.0%
AST.ModuleVisibilityCacheMiss 8,425 8,425 0 0.0%
AST.NumASTBytesAllocated 56,323,449,838 56,247,051,683 -76,398,155 -0.14%
AST.NumASTScopeLookups 3,642,981 3,642,974 -7 -0.0%
AST.NumBraceStmtASTScopeExpansions 642,442 642,442 0 0.0%
AST.NumBraceStmtASTScopes 642,442 642,442 0 0.0%
AST.NumDecls 145,941 145,941 0 0.0%
AST.NumDependencies 304,827 304,849 22 0.01%
AST.NumIterableTypeBodyASTScopeExpansions 240,814 240,814 0 0.0%
AST.NumIterableTypeBodyASTScopes 289,728 289,724 -4 -0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 246,334 246,334 0 0.0%
AST.NumLocalTypeDecls 255 255 0 0.0%
AST.NumModuleLookupClassMember 6,993 6,993 0 0.0%
AST.NumModuleLookupValue 48,901,216 48,899,434 -1,782 -0.0%
AST.NumObjCMethods 25,367 25,367 0 0.0%
AST.NumOperators 589 589 0 0.0%
AST.NumPrecedenceGroups 93 93 0 0.0%
AST.NumReferencedDynamicNames 191 191 0 0.0%
AST.NumReferencedMemberNames 7,665,957 7,665,957 0 0.0%
AST.NumReferencedTopLevelNames 614,692 614,692 0 0.0%
AST.NumSourceBuffers 326,075 326,075 0 0.0%
AST.NumSourceLines 4,856,217 4,856,217 0 0.0%
AST.NumSourceLinesPerSecond 3,662,273 3,664,916 2,643 0.07%
AST.NumTotalClangImportedEntities 1,907,927 1,907,171 -756 -0.04%
Driver.ChildrenMaxRSS 260,767,930,368 259,691,071,488 -1,076,858,880 -0.41%
Driver.DriverDepCascadingDynamic 0 0 0 0.0%
Driver.DriverDepCascadingExternal 0 0 0 0.0%
Driver.DriverDepCascadingMember 0 0 0 0.0%
Driver.DriverDepCascadingNominal 0 0 0 0.0%
Driver.DriverDepCascadingTopLevel 0 0 0 0.0%
Driver.DriverDepDynamic 0 0 0 0.0%
Driver.DriverDepExternal 0 0 0 0.0%
Driver.DriverDepMember 0 0 0 0.0%
Driver.DriverDepNominal 0 0 0 0.0%
Driver.DriverDepTopLevel 0 0 0 0.0%
Driver.NumDriverJobsRun 29,014 29,014 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 1,151,239,396,848 1,150,719,861,680 -519,535,168 -0.05%
Frontend.NumInstructionsExecuted 57,643,704,622,800 57,593,217,635,301 -50,486,987,499 -0.09%
Frontend.NumProcessFailures 0 0 0 0.0%
IRGen.IRGenSourceFileRequest 27,700 27,700 0 0.0%
IRGen.IRGenWholeModuleRequest 20 20 0 0.0%
IRModule.NumGOTEntries 249,175 249,175 0 0.0%
IRModule.NumIRAliases 203,580 203,580 0 0.0%
IRModule.NumIRBasicBlocks 7,058,995 7,061,228 2,233 0.03%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 3,549,356 3,549,313 -43 -0.0%
IRModule.NumIRGlobals 3,849,801 3,849,797 -4 -0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 90,699,334 90,701,621 2,287 0.0%
IRModule.NumIRNamedMetaData 140,100 140,100 0 0.0%
IRModule.NumIRValueSymbols 6,720,905 6,720,860 -45 -0.0%
LLVM.NumLLVMBytesOutput 1,878,354,606 1,878,360,242 5,636 0.0%
Parse.CodeCompletionSecondPassRequest 0 0 0 0.0%
Parse.NumFunctionsParsed 279,630 279,630 0 0.0%
Parse.NumIterableDeclContextParsed 622,533 622,533 0 0.0%
Parse.ParseAbstractFunctionBodyRequest 256,745 256,745 0 0.0%
Parse.ParseMembersRequest 490,277 490,277 0 0.0%
Parse.ParseSourceFileRequest 316,924 316,924 0 0.0%
SILGen.SILGenSourceFileRequest 27,700 27,700 0 0.0%
SILGen.SILGenWholeModuleRequest 1,302 1,302 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 1,771,285 1,771,285 0 0.0%
SILModule.NumSILGenGlobalVariables 55,184 55,184 0 0.0%
SILModule.NumSILGenVtables 19,137 19,137 0 0.0%
SILModule.NumSILGenWitnessTables 75,827 75,827 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 2,609,895 2,609,881 -14 -0.0%
SILModule.NumSILOptGlobalVariables 56,900 56,900 0 0.0%
SILModule.NumSILOptVtables 32,429 32,429 0 0.0%
SILModule.NumSILOptWitnessTables 175,580 175,580 0 0.0%
SILOptimizer.ExecuteSILPipelineRequest 112,162 112,162 0 0.0%
Sema.AbstractGenericSignatureRequest 34,661 34,661 0 0.0%
Sema.AccessLevelRequest 13,167,446 13,146,983 -20,463 -0.16%
Sema.AnyObjectLookupRequest 283 283 0 0.0%
Sema.AreAllStoredPropertiesDefaultInitableRequest 22,054 22,054 0 0.0%
Sema.AttachedFunctionBuilderRequest 145 145 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 583,616 583,616 0 0.0%
Sema.AttachedPropertyWrappersRequest 2,595,615 2,595,615 0 0.0%
Sema.CallerSideDefaultArgExprRequest 79,455 79,455 0 0.0%
Sema.CheckRedeclarationRequest 1,013,726 1,013,726 0 0.0%
Sema.ClassAncestryFlagsRequest 102,270 102,270 0 0.0%
Sema.ClosureHasExplicitResultRequest 93,431 93,431 0 0.0%
Sema.CollectOverriddenDeclsRequest 8,306,796 8,295,834 -10,962 -0.13%
Sema.CompareDeclSpecializationRequest 491,075 490,808 -267 -0.05%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 432 432 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 55,534 55,534 0 0.0%
Sema.DefaultArgumentExprRequest 39,875 39,875 0 0.0%
Sema.DefaultArgumentInitContextRequest 492 492 0 0.0%
Sema.DefaultDefinitionTypeRequest 8,190 8,190 0 0.0%
Sema.DefaultTypeRequest 498,438 498,438 0 0.0%
Sema.DerivativeAttrOriginalDeclRequest 0 0 0 0.0%
Sema.DifferentiableAttributeTypeCheckRequest 0 0 0 0.0%
Sema.DirectLookupRequest 34,586,368 34,574,189 -12,179 -0.04%
Sema.DirectOperatorLookupRequest 499,747 499,856 109 0.02%
Sema.DirectPrecedenceGroupLookupRequest 146,221 146,221 0 0.0%
Sema.DynamicallyReplacedDeclRequest 1,044,548 1,044,548 0 0.0%
Sema.EmittedMembersRequest 26,720 26,720 0 0.0%
Sema.EnumRawTypeRequest 22,917 22,917 0 0.0%
Sema.EnumRawValuesRequest 10,886 10,886 0 0.0%
Sema.ExistentialConformsToSelfRequest 11,906 11,886 -20 -0.17%
Sema.ExistentialTypeSupportedRequest 16,497 16,497 0 0.0%
Sema.ExpandASTScopeRequest 6,720,205 6,720,203 -2 -0.0%
Sema.ExtendedNominalRequest 498,359 498,359 0 0.0%
Sema.ExtendedTypeRequest 78,348 78,348 0 0.0%
Sema.FragileFunctionKindRequest 1,770,104 1,770,104 0 0.0%
Sema.FunctionBuilderTypeRequest 145 145 0 0.0%
Sema.FunctionOperatorRequest 51,393 51,393 0 0.0%
Sema.GenericParamListRequest 9,592,720 9,578,565 -14,155 -0.15%
Sema.GenericSignatureRequest 2,402,371 2,401,708 -663 -0.03%
Sema.GetDestructorRequest 27,368 27,368 0 0.0%
Sema.HasCircularInheritanceRequest 23,090 23,090 0 0.0%
Sema.HasCircularInheritedProtocolsRequest 10,422 10,422 0 0.0%
Sema.HasCircularRawValueRequest 9,288 9,288 0 0.0%
Sema.HasDefaultInitRequest 53,642 53,642 0 0.0%
Sema.HasDynamicCallableAttributeRequest 0 0 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 585,649 585,534 -115 -0.02%
Sema.HasImplementationOnlyImportsRequest 316,924 316,924 0 0.0%
Sema.HasMemberwiseInitRequest 20,353 20,353 0 0.0%
Sema.HasMissingDesignatedInitializersRequest 25,414 25,414 0 0.0%
Sema.HasUserDefinedDesignatedInitRequest 53,652 53,652 0 0.0%
Sema.InferredGenericSignatureRequest 164,597 164,597 0 0.0%
Sema.InheritedDeclsReferencedRequest 5,389,435 5,383,654 -5,781 -0.11%
Sema.InheritedProtocolsRequest 525,962 525,766 -196 -0.04%
Sema.InheritedTypeRequest 287,302 287,259 -43 -0.01%
Sema.InheritsSuperclassInitializersRequest 26,387 26,387 0 0.0%
Sema.InitKindRequest 94,648 94,648 0 0.0%
Sema.InterfaceTypeRequest 14,169,806 14,156,974 -12,832 -0.09%
Sema.IsABICompatibleOverrideRequest 140,067 140,067 0 0.0%
Sema.IsAccessorTransparentRequest 318,448 318,448 0 0.0%
Sema.IsCallableNominalTypeRequest 2,170 2,170 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDynamicRequest 1,743,077 1,743,077 0 0.0%
Sema.IsFinalRequest 2,734,457 2,732,876 -1,581 -0.06%
Sema.IsGetterMutatingRequest 431,951 431,951 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 2,410,110 2,410,636 526 0.02%
Sema.IsObjCRequest 1,561,178 1,560,751 -427 -0.03%
Sema.IsSetterMutatingRequest 374,778 374,778 0 0.0%
Sema.IsStaticRequest 896,019 895,935 -84 -0.01%
Sema.LazyStoragePropertyRequest 2,497 2,497 0 0.0%
Sema.LookupAllConformancesInContextRequest 85,320 85,320 0 0.0%
Sema.LookupConformanceInModuleRequest 37,355,320 37,344,772 -10,548 -0.03%
Sema.LookupInModuleRequest 6,403,332 6,402,069 -1,263 -0.02%
Sema.LookupInfixOperatorRequest 83,205 83,205 0 0.0%
Sema.LookupPostfixOperatorRequest 184 184 0 0.0%
Sema.LookupPrecedenceGroupRequest 32,389 32,389 0 0.0%
Sema.LookupPrefixOperatorRequest 563 563 0 0.0%
Sema.MangleLocalTypeDeclRequest 510 510 0 0.0%
Sema.ModuleImplicitImportsRequest 10,015 10,015 0 0.0%
Sema.ModuleQualifiedLookupRequest 3,015,688 3,014,433 -1,255 -0.04%
Sema.NamedLazyMemberLoadSuccessCount 20,414,275 20,410,700 -3,575 -0.02%
Sema.NamingPatternRequest 212,615 212,615 0 0.0%
Sema.NeedsNewVTableEntryRequest 684,823 684,823 0 0.0%
Sema.NumAccessorBodiesSynthesized 195,538 195,538 0 0.0%
Sema.NumAccessorsSynthesized 288,396 288,396 0 0.0%
Sema.NumConformancesDeserialized 9,384,089 9,374,418 -9,671 -0.1%
Sema.NumConstraintScopes 31,494,069 31,492,549 -1,520 -0.0%
Sema.NumConstraintsConsideredForEdgeContraction 103,463,547 103,463,451 -96 -0.0%
Sema.NumCrossImportsChecked 0 0 0 0.0%
Sema.NumCrossImportsFound 0 0 0 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 269 269 0 0.0%
Sema.NumDeclsDeserialized 72,517,543 72,437,806 -79,737 -0.11%
Sema.NumDeclsTypechecked 1,461,835 1,461,835 0 0.0%
Sema.NumGenericSignatureBuilders 1,302,410 1,302,558 148 0.01%
Sema.NumLazyIterableDeclContexts 8,286,738 8,280,523 -6,215 -0.07%
Sema.NumLazyRequirementSignatures 787,766 787,460 -306 -0.04%
Sema.NumLazyRequirementSignaturesLoaded 585,929 585,715 -214 -0.04%
Sema.NumLeafScopes 20,063,064 20,061,739 -1,325 -0.01%
Sema.NumTypesDeserialized 22,547,245 22,537,715 -9,530 -0.04%
Sema.NumTypesValidated 647,348 647,348 0 0.0%
Sema.NumUnloadedLazyIterableDeclContexts 5,073,950 5,072,186 -1,764 -0.03%
Sema.OpaqueReadOwnershipRequest 272,847 272,847 0 0.0%
Sema.OpaqueResultTypeRequest 178 178 0 0.0%
Sema.OperatorPrecedenceGroupRequest 749 749 0 0.0%
Sema.OverriddenDeclsRequest 2,578,406 2,579,171 765 0.03%
Sema.ParamSpecifierRequest 1,222,999 1,222,999 0 0.0%
Sema.PatternBindingEntryRequest 470,646 470,646 0 0.0%
Sema.PatternTypeRequest 545,620 545,620 0 0.0%
Sema.PreCheckFunctionBuilderRequest 296 296 0 0.0%
Sema.PropertyWrapperBackingPropertyInfoRequest 577,664 577,664 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 583,616 583,616 0 0.0%
Sema.PropertyWrapperLValuenessRequest 203 203 0 0.0%
Sema.PropertyWrapperMutabilityRequest 616,601 616,601 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 78 78 0 0.0%
Sema.ProtocolRequiresClassRequest 36,753 36,730 -23 -0.06%
Sema.ProvideDefaultImplForRequest 8,306,796 8,295,834 -10,962 -0.13%
Sema.QualifiedLookupRequest 5,593,924 5,592,498 -1,426 -0.03%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 113,364 113,364 0 0.0%
Sema.RequirementSignatureRequest 639,341 639,080 -261 -0.04%
Sema.RequiresOpaqueAccessorsRequest 1,339,497 1,339,497 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 262,185 262,185 0 0.0%
Sema.ResolveEffectiveMemberwiseInitRequest 0 0 0 0.0%
Sema.ResolveImplicitMemberRequest 388,447 388,247 -200 -0.05%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.ResolveTypeEraserTypeRequest 0 0 0 0.0%
Sema.ResolveTypeRequest 3,372,226 3,372,226 0 0.0%
Sema.ResultTypeRequest 651,383 651,383 0 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SPIGroupsRequest 14,820,864 14,805,715 -15,149 -0.1%
Sema.ScopedImportLookupRequest 1,076 1,076 0 0.0%
Sema.SelfAccessKindRequest 614,780 614,696 -84 -0.01%
Sema.SelfBoundsFromWhereClauseRequest 1,625,704 1,624,662 -1,042 -0.06%
Sema.SetterAccessLevelRequest 148,205 148,205 0 0.0%
Sema.SimpleDidSetRequest 2,654,496 2,649,612 -4,884 -0.18%
Sema.StorageImplInfoRequest 1,479,342 1,479,342 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 32,056 32,056 0 0.0%
Sema.StoredPropertiesRequest 325,254 325,254 0 0.0%
Sema.StructuralTypeRequest 2,037 2,037 0 0.0%
Sema.SuperclassDeclRequest 414,655 414,525 -130 -0.03%
Sema.SuperclassTypeRequest 54,401 54,401 0 0.0%
Sema.SynthesizeAccessorRequest 288,396 288,396 0 0.0%
Sema.SynthesizeDefaultInitRequest 5,016 5,016 0 0.0%
Sema.SynthesizeMemberwiseInitRequest 3,561 3,561 0 0.0%
Sema.TypeCheckFunctionBodyUntilRequest 547,778 547,778 0 0.0%
Sema.TypeCheckSourceFileRequest 28,020 28,020 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 29,785 29,785 0 0.0%
Sema.TypeEraserHasViableInitRequest 0 0 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.TypeWitnessRequest 9,119 9,119 0 0.0%
Sema.USRGenerationRequest 9,718,760 9,705,863 -12,897 -0.13%
Sema.UnderlyingTypeDeclsReferencedRequest 269,156 269,262 106 0.04%
Sema.UnderlyingTypeRequest 34,690 34,690 0 0.0%
Sema.UnqualifiedLookupRequest 3,792,969 3,792,962 -7 -0.0%
Sema.ValidatePrecedenceGroupRequest 183,611 183,611 0 0.0%
Sema.ValueWitnessRequest 65,681 65,681 0 0.0%
TBDGen.GenerateTBDRequest 27,720 27,720 0 0.0%

Release

release brief

Regressed (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 53,882,988,226,082 54,673,940,475,736 790,952,249,654 1.47% ⛔
time.swift-driver.wall 5928.6s 6053.9s 125.3s 2.11% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (1)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 1,886,526,264 1,882,010,576 -4,515,688 -0.24%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (17)
name old new delta delta_pct
AST.NumLoadedModules 27,540 27,540 0 0.0%
AST.NumTotalClangImportedEntities 474,339 474,334 -5 -0.0%
IRModule.NumIRBasicBlocks 4,980,045 4,971,146 -8,899 -0.18%
IRModule.NumIRFunctions 2,880,325 2,876,857 -3,468 -0.12%
IRModule.NumIRGlobals 3,386,445 3,385,143 -1,302 -0.04%
IRModule.NumIRInsts 50,185,514 50,164,217 -21,297 -0.04%
IRModule.NumIRValueSymbols 5,896,749 5,892,400 -4,349 -0.07%
LLVM.NumLLVMBytesOutput 1,886,526,264 1,882,010,576 -4,515,688 -0.24%
SILModule.NumSILGenFunctions 1,237,823 1,237,823 0 0.0%
SILModule.NumSILOptFunctions 1,040,623 1,038,404 -2,219 -0.21%
Sema.NumConformancesDeserialized 3,587,433 3,575,764 -11,669 -0.33%
Sema.NumConstraintScopes 31,193,148 31,193,155 7 0.0%
Sema.NumDeclsDeserialized 11,238,003 11,237,441 -562 -0.01%
Sema.NumGenericSignatureBuilders 279,203 279,204 1 0.0%
Sema.NumLazyIterableDeclContexts 1,402,733 1,402,777 44 0.0%
Sema.NumTypesDeserialized 5,446,359 5,437,518 -8,841 -0.16%
Sema.NumTypesValidated 494,084 494,084 0 0.0%

@meg-gupta meg-gupta merged commit 47fe49a into swiftlang:master May 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants