Skip to content
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

[Type checker] Finalize witnesses when we finish checking a conformance. #18817

Merged
merged 1 commit into from Aug 18, 2018

Conversation

DougGregor
Copy link
Member

This ensures that SILGen can build the witness table. Fixes SR-8531.

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@swift-ci
Copy link
Collaborator

Build comment file:

Summary for master full

Unexpected test results, excluded stats for RxSwift, Wordy, DatabaseKit, ReactiveSwift

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 10,284,857,563,375 10,283,759,581,169 -1,097,982,206 -0.01%
LLVM.NumLLVMBytesOutput 512,477,802 512,477,832 30 0.0%
time.swift-driver.wall 1177.7s 1173.1s -4.6s -0.39%

debug-batch detailed

Regressed (3)
name old new delta delta_pct
Sema.IsDynamicRequest 739,919 844,487 104,568 14.13% ⛔
Sema.IsObjCRequest 661,532 704,081 42,549 6.43% ⛔
Sema.OverriddenDeclsRequest 1,534,231 1,607,919 73,688 4.8% ⛔
Improved (2)
name old new delta delta_pct
Driver.NumDriverPipePolls 88,080 84,976 -3,104 -3.52% ✅
Driver.NumDriverPipeReads 91,107 87,953 -3,154 -3.46% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (84)
name old new delta delta_pct
AST.NumASTBytesAllocated 14,005,193,574 14,005,481,104 287,530 0.0%
AST.NumDecls 33,965 33,965 0 0.0%
AST.NumDependencies 92,644 92,644 0 0.0%
AST.NumImportedExternalDefinitions 849,673 849,673 0 0.0%
AST.NumInfixOperators 13,477 13,477 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 104,329 104,329 0 0.0%
AST.NumLocalTypeDecls 13 13 0 0.0%
AST.NumObjCMethods 13,031 13,031 0 0.0%
AST.NumPostfixOperators 14 14 0 0.0%
AST.NumPrecedenceGroups 7,182 7,182 0 0.0%
AST.NumPrefixOperators 60 60 0 0.0%
AST.NumReferencedDynamicNames 101 101 0 0.0%
AST.NumReferencedMemberNames 1,924,915 1,924,915 0 0.0%
AST.NumReferencedTopLevelNames 118,596 118,596 0 0.0%
AST.NumSourceBuffers 155,882 155,870 -12 -0.01%
AST.NumSourceLines 1,211,210 1,211,210 0 0.0%
AST.NumSourceLinesPerSecond 718,631 718,295 -336 -0.05%
AST.NumTotalClangImportedEntities 2,755,371 2,755,371 0 0.0%
AST.NumUsedConformances 102,888 102,888 0 0.0%
Driver.ChildrenMaxRSS 35,245,727,744 35,412,148,224 166,420,480 0.47%
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 7,268 7,268 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.NumInstructionsExecuted 10,284,857,563,375 10,283,759,581,169 -1,097,982,206 -0.01%
Frontend.NumProcessFailures 0 0 0 0.0%
IRModule.NumIRAliases 26,778 26,778 0 0.0%
IRModule.NumIRBasicBlocks 1,753,747 1,753,747 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 966,905 966,905 0 0.0%
IRModule.NumIRGlobals 1,179,854 1,179,854 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 20,587,648 20,587,648 0 0.0%
IRModule.NumIRNamedMetaData 35,883 35,883 0 0.0%
IRModule.NumIRValueSymbols 1,860,760 1,860,760 0 0.0%
LLVM.NumLLVMBytesOutput 512,477,802 512,477,832 30 0.0%
Parse.NumFunctionsParsed 64,304 64,304 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 955,363 955,363 0 0.0%
SILModule.NumSILGenGlobalVariables 15,305 15,305 0 0.0%
SILModule.NumSILGenVtables 4,019 4,019 0 0.0%
SILModule.NumSILGenWitnessTables 19,027 19,027 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 721,738 721,738 0 0.0%
SILModule.NumSILOptGlobalVariables 15,739 15,739 0 0.0%
SILModule.NumSILOptVtables 7,720 7,720 0 0.0%
SILModule.NumSILOptWitnessTables 37,288 37,288 0 0.0%
Sema.AccessLevelRequest 939,454 939,454 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 21,899 21,899 0 0.0%
Sema.EnumRawTypeRequest 7,763 7,763 0 0.0%
Sema.ExtendedNominalRequest 1,533,570 1,533,573 3 0.0%
Sema.InheritedDeclsReferencedRequest 55,766,667 55,775,981 9,314 0.02%
Sema.InheritedTypeRequest 26,548 26,738 190 0.72%
Sema.NamedLazyMemberLoadFailureCount 15,344 15,344 0 0.0%
Sema.NamedLazyMemberLoadSuccessCount 2,261,427 2,261,433 6 0.0%
Sema.NominalTypeLookupDirectCount 15,920,176 15,923,686 3,510 0.02%
Sema.NumConformancesDeserialized 1,952,247 1,952,263 16 0.0%
Sema.NumConstraintScopes 7,381,515 7,381,515 0 0.0%
Sema.NumConstraintsConsideredForEdgeContraction 13,206,659 13,206,659 0 0.0%
Sema.NumDeclsDeserialized 16,798,598 16,798,605 7 0.0%
Sema.NumDeclsValidated 1,044,074 1,044,169 95 0.01%
Sema.NumFunctionsTypechecked 495,268 495,268 0 0.0%
Sema.NumGenericSignatureBuilders 804,089 804,374 285 0.04%
Sema.NumLazyGenericEnvironments 3,134,181 3,134,181 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 315,255 315,255 0 0.0%
Sema.NumLazyIterableDeclContexts 2,932,561 2,932,566 5 0.0%
Sema.NumTypesDeserialized 7,050,980 7,050,981 1 0.0%
Sema.NumTypesValidated 885,971 885,971 0 0.0%
Sema.NumUnloadedLazyIterableDeclContexts 2,011,299 2,011,304 5 0.0%
Sema.SelfBoundsFromWhereClauseRequest 50,649 50,649 0 0.0%
Sema.SetterAccessLevelRequest 56,741 56,741 0 0.0%
Sema.SuperclassDeclRequest 44,414,948 44,423,383 8,435 0.02%
Sema.SuperclassTypeRequest 16,128 16,128 0 0.0%
Sema.UnderlyingTypeDeclsReferencedRequest 1,574,685 1,575,091 406 0.03%

Release

release 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 12,297,518,455,716 12,299,257,314,078 1,738,858,362 0.01%
LLVM.NumLLVMBytesOutput 484,798,650 484,798,714 64 0.0%
time.swift-driver.wall 2183.4s 2179.7s -3.6s -0.17%

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) (23)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 151,910 151,910 0 0.0%
AST.NumLoadedModules 6,521 6,521 0 0.0%
AST.NumTotalClangImportedEntities 482,735 482,735 0 0.0%
AST.NumUsedConformances 105,087 105,087 0 0.0%
IRModule.NumIRBasicBlocks 1,722,850 1,722,850 0 0.0%
IRModule.NumIRFunctions 774,840 774,840 0 0.0%
IRModule.NumIRGlobals 897,178 897,178 0 0.0%
IRModule.NumIRInsts 14,814,468 14,814,468 0 0.0%
IRModule.NumIRValueSymbols 1,517,862 1,517,862 0 0.0%
LLVM.NumLLVMBytesOutput 484,798,650 484,798,714 64 0.0%
SILModule.NumSILGenFunctions 339,716 339,716 0 0.0%
SILModule.NumSILOptFunctions 457,053 457,053 0 0.0%
Sema.NumConformancesDeserialized 937,709 937,709 0 0.0%
Sema.NumConstraintScopes 7,276,289 7,276,289 0 0.0%
Sema.NumDeclsDeserialized 2,995,168 2,995,168 0 0.0%
Sema.NumDeclsValidated 555,259 555,259 0 0.0%
Sema.NumFunctionsTypechecked 176,558 176,558 0 0.0%
Sema.NumGenericSignatureBuilders 115,999 115,999 0 0.0%
Sema.NumLazyGenericEnvironments 504,603 504,603 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 58,228 58,228 0 0.0%
Sema.NumLazyIterableDeclContexts 341,581 341,581 0 0.0%
Sema.NumTypesDeserialized 1,635,865 1,635,865 0 0.0%
Sema.NumTypesValidated 278,214 278,214 0 0.0%

This ensures that SILGen can build the witness table.
@DougGregor
Copy link
Member Author

@swift-ci please test and merge

@DougGregor
Copy link
Member Author

(Now with a proper test case)

@DougGregor
Copy link
Member Author

@swift-ci please test and merge

2 similar comments
@DougGregor
Copy link
Member Author

@swift-ci please test and merge

@DougGregor
Copy link
Member Author

@swift-ci please test and merge

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.

None yet

2 participants