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

[ast] Enable the ASTVerifier behind the enable-ast-verifier flag in no-asserts builds. #35587

Merged

Conversation

gottesmm
Copy link
Member

This follows the design of how we handled this with
sil-verify-all. Specifically, the default behavior is to run only in asserts
builds, but one can use the two flags: enable-ast-verifier and
disable-ast-verifier to override the default behavior.

The reason why this is interesting is that this means that when compiling
normally, we will not run the verifier, so we won't have a perf hit. But we can
now ask the user to run with this flag (or in a future maybe a re-run in the
driver would do this for them), saving us time when screening bugs by avoiding
the need to build an asserts compiler to triage if the ASTVerifier would catch
the bug.

…o-asserts builds.

This follows the design of how we handled this with
sil-verify-all. Specifically, the default behavior is to run only in asserts
builds, but one can use the two flags: enable-ast-verifier and
disable-ast-verifier to override the default behavior.

The reason why this is interesting is that this means that when compiling
normally, we will not run the verifier, so we won't have a perf hit. But we can
now ask the user to run with this flag (or in a future maybe a re-run in the
driver would do this for them), saving us time when screening bugs by avoiding
the need to build an asserts compiler to triage if the ASTVerifier would catch
the bug.
@gottesmm
Copy link
Member Author

@swift-ci test

@gottesmm
Copy link
Member Author

@swift-ci test compiler performance

"Can not be used if disable-ast-verifier is used as well">;

def disable_ast_verifier : Flag<["-"], "disable-ast-verifier">,
HelpText<"Do not run the AST verifier during compilation. NOTE: This lets "
Copy link
Member Author

Choose a reason for hiding this comment

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

I need to update the text here to say that we take the last of enable_ast_verifier, disable_ast_verifier. I am going to let the testing happen though and then fix this, do a smoke test when I come back to this from finishing some OSSA work.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ping to update this help text as you pointed out earlier. :)

@@ -116,11 +116,11 @@ EnableSpeculativeDevirtualization("enable-spec-devirt",
llvm::cl::desc("Enable Speculative Devirtualization pass."));

namespace {
enum EnforceExclusivityMode {
enum class EnforceExclusivityMode {
Copy link
Member Author

Choose a reason for hiding this comment

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

I made this change since EnforceExclusivityMode was injecting None into the global namespace meaning the enum field clashed with Optional::None. We already were always referring to these enum values explicitly, so it makes sense to just an enum class here.

@swift-ci
Copy link
Collaborator

Build failed
Swift Test OS X Platform
Git Sha - 1de2d3f

@gottesmm
Copy link
Member Author

@swift-ci test macOS platform

@swift-ci
Copy link
Collaborator

Build failed
Swift Test OS X Platform
Git Sha - 1de2d3f

@gottesmm
Copy link
Member Author

@swift-ci test macOS platform

@swift-ci
Copy link
Collaborator

Summary for main full

Unexpected test results, excluded stats for RxCocoa, FuturesSync

No regressions above thresholds

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 117,794,456,747,602 117,685,321,917,269 -109,134,830,333 -0.09%
LLVM.NumLLVMBytesOutput 2,504,089,690 2,504,060,804 -28,886 -0.0%
time.swift-driver.wall 9566.8s 9522.2s -44.6s -0.47%

debug-batch 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) (256)
name old new delta delta_pct
AST.ImportSetCacheHit 2,684,568 2,684,626 58 0.0%
AST.ImportSetCacheMiss 614,384 614,358 -26 -0.0%
AST.ImportSetFoldHit 190,326 190,319 -7 -0.0%
AST.ImportSetFoldMiss 424,058 424,038 -20 -0.0%
AST.ModuleShadowCacheHit 5,500 5,500 0 0.0%
AST.ModuleShadowCacheMiss 2,516 2,516 0 0.0%
AST.ModuleVisibilityCacheHit 52,887 52,887 0 0.0%
AST.ModuleVisibilityCacheMiss 10,714 10,714 0 0.0%
AST.NumASTBytesAllocated 64,490,317,459 64,486,756,615 -3,560,844 -0.01%
AST.NumASTScopeExpansions 7,839,727 7,839,684 -43 -0.0%
AST.NumASTScopeLookups 7,789,346 7,789,204 -142 -0.0%
AST.NumDecls 189,327 189,327 0 0.0%
AST.NumDependencies 505,569 505,592 23 0.0%
AST.NumIncrementalDependencies 0 0 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 390,321 390,321 0 0.0%
AST.NumLocalTypeDecls 317 317 0 0.0%
AST.NumModuleLookupClassMember 8,186 8,186 0 0.0%
AST.NumModuleLookupValue 71,806,738 71,807,211 473 0.0%
AST.NumObjCMethods 29,675 29,675 0 0.0%
AST.NumOperators 806 806 0 0.0%
AST.NumPrecedenceGroups 132 132 0 0.0%
AST.NumReferencedDynamicNames 204 204 0 0.0%
AST.NumReferencedMemberNames 12,349,199 12,349,199 0 0.0%
AST.NumReferencedTopLevelNames 1,406,380 1,406,380 0 0.0%
AST.NumSourceBuffers 517,804 517,804 0 0.0%
AST.NumSourceLines 6,529,928 6,529,928 0 0.0%
AST.NumSourceLinesPerSecond 2,813,631 2,823,702 10,071 0.36%
AST.NumTotalClangImportedEntities 3,468,873 3,468,412 -461 -0.01%
Driver.ChildrenMaxRSS 297,811,589,120 297,706,782,720 -104,806,400 -0.04%
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 36,149 36,149 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumDriverPipePolls 115,660 116,474 814 0.7%
Driver.NumDriverPipeReads 102,016 102,741 725 0.71%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 1,415,056,244,944 1,415,796,598,120 740,353,176 0.05%
Frontend.NumInstructionsExecuted 117,794,456,747,602 117,685,321,917,269 -109,134,830,333 -0.09%
Frontend.NumProcessFailures 0 0 0 0.0%
IRGen.IRGenRequest 34,466 34,466 0 0.0%
IRGen.OptimizedIRRequest 0 0 0 0.0%
IRGen.SymbolObjectCodeRequest 0 0 0 0.0%
IRModule.NumGOTEntries 317,896 317,896 0 0.0%
IRModule.NumIRAliases 264,163 264,163 0 0.0%
IRModule.NumIRBasicBlocks 9,600,389 9,600,389 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 4,770,029 4,770,029 0 0.0%
IRModule.NumIRGlobals 4,870,241 4,870,241 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 117,212,359 117,212,359 0 0.0%
IRModule.NumIRNamedMetaData 174,550 174,550 0 0.0%
IRModule.NumIRValueSymbols 8,851,874 8,851,874 0 0.0%
LLVM.NumLLVMBytesOutput 2,504,089,690 2,504,060,804 -28,886 -0.0%
Parse.CodeCompletionSecondPassRequest 0 0 0 0.0%
Parse.NumFunctionsParsed 374,862 374,862 0 0.0%
Parse.NumIterableDeclContextParsed 856,728 856,728 0 0.0%
Parse.ParseAbstractFunctionBodyRequest 345,117 345,117 0 0.0%
Parse.ParseMembersRequest 772,908 772,908 0 0.0%
Parse.ParseSourceFileRequest 513,615 513,615 0 0.0%
SILGen.ASTLoweringRequest 36,110 36,110 0 0.0%
SILGen.ParseSILModuleRequest 0 0 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 3,022,718 3,022,718 0 0.0%
SILModule.NumSILGenGlobalVariables 87,554 87,554 0 0.0%
SILModule.NumSILGenVtables 40,302 40,302 0 0.0%
SILModule.NumSILGenWitnessTables 180,703 180,703 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 3,875,627 3,875,627 0 0.0%
SILModule.NumSILOptGlobalVariables 89,890 89,890 0 0.0%
SILModule.NumSILOptVtables 40,443 40,443 0 0.0%
SILModule.NumSILOptWitnessTables 243,497 243,497 0 0.0%
SILOptimizer.ExecuteSILPipelineRequest 139,574 139,574 0 0.0%
SILOptimizer.LoweredSILRequest 0 0 0 0.0%
Sema.ABIMembersRequest 34,681 34,681 0 0.0%
Sema.AbstractGenericSignatureRequest 49,079 49,079 0 0.0%
Sema.AccessLevelRequest 18,765,692 18,764,961 -731 -0.0%
Sema.ActorIsolationRequest 1,088,027 1,088,027 0 0.0%
Sema.AllMembersRequest 243,236 243,236 0 0.0%
Sema.AnyObjectLookupRequest 300 300 0 0.0%
Sema.AreAllStoredPropertiesDefaultInitableRequest 28,826 28,826 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 782,086 782,086 0 0.0%
Sema.AttachedPropertyWrappersRequest 3,758,732 3,758,728 -4 -0.0%
Sema.AttachedResultBuilderRequest 953,210 953,210 0 0.0%
Sema.BodyInitKindRequest 65,154 65,154 0 0.0%
Sema.CallerSideDefaultArgExprRequest 124,426 124,426 0 0.0%
Sema.CanBeAsyncHandlerRequest 318,968 318,968 0 0.0%
Sema.CheckInconsistentImplementationOnlyImportsRequest 13,221 13,221 0 0.0%
Sema.CheckRedeclarationRequest 1,346,910 1,346,910 0 0.0%
Sema.ClassAncestryFlagsRequest 141,615 141,615 0 0.0%
Sema.ClosureHasExplicitResultRequest 125,268 125,268 0 0.0%
Sema.CodeCompletionFileRequest 0 0 0 0.0%
Sema.CollectOverriddenDeclsRequest 11,891,091 11,887,261 -3,830 -0.03%
Sema.CompareDeclSpecializationRequest 673,875 673,889 14 0.0%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 1,313 1,313 0 0.0%
Sema.CustomAttrTypeRequest 811 811 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 79,449 79,449 0 0.0%
Sema.DefaultArgumentExprRequest 49,855 49,855 0 0.0%
Sema.DefaultArgumentInitContextRequest 358 358 0 0.0%
Sema.DefaultDefinitionTypeRequest 9,241 9,241 0 0.0%
Sema.DefaultTypeRequest 369,401 369,401 0 0.0%
Sema.DerivativeAttrOriginalDeclRequest 16 16 0 0.0%
Sema.DifferentiableAttributeTypeCheckRequest 0 0 0 0.0%
Sema.DirectLookupRequest 47,824,681 47,824,789 108 0.0%
Sema.DirectOperatorLookupRequest 2,697,217 2,697,303 86 0.0%
Sema.DirectPrecedenceGroupLookupRequest 799,251 799,251 0 0.0%
Sema.DynamicallyReplacedDeclRequest 1,512,958 1,512,958 0 0.0%
Sema.EnumRawTypeRequest 33,688 33,688 0 0.0%
Sema.EnumRawValuesRequest 15,057 15,057 0 0.0%
Sema.ExistentialConformsToSelfRequest 24,643 24,641 -2 -0.01%
Sema.ExistentialTypeSupportedRequest 21,654 21,654 0 0.0%
Sema.ExtendedNominalRequest 855,547 855,547 0 0.0%
Sema.ExtendedTypeRequest 105,638 105,638 0 0.0%
Sema.FragileFunctionKindRequest 2,104,229 2,104,229 0 0.0%
Sema.FunctionOperatorRequest 83,709 83,709 0 0.0%
Sema.GenericParamListRequest 6,403,065 6,402,794 -271 -0.0%
Sema.GenericSignatureRequest 3,476,089 3,475,918 -171 -0.0%
Sema.GetDestructorRequest 34,602 34,602 0 0.0%
Sema.GlobalActorAttributeRequest 1,204,483 1,204,483 0 0.0%
Sema.GlobalActorInstanceRequest 214 214 0 0.0%
Sema.HasCircularInheritedProtocolsRequest 13,378 13,378 0 0.0%
Sema.HasCircularRawValueRequest 12,977 12,977 0 0.0%
Sema.HasDefaultInitRequest 73,440 73,440 0 0.0%
Sema.HasDynamicCallableAttributeRequest 0 0 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 783,156 783,196 40 0.01%
Sema.HasImplementationOnlyImportsRequest 510,710 510,710 0 0.0%
Sema.HasMemberwiseInitRequest 30,234 30,234 0 0.0%
Sema.HasMissingDesignatedInitializersRequest 32,544 32,544 0 0.0%
Sema.HasUserDefinedDesignatedInitRequest 73,452 73,452 0 0.0%
Sema.InferredGenericSignatureRequest 213,098 213,098 0 0.0%
Sema.InheritedDeclsReferencedRequest 7,887,563 7,887,034 -529 -0.01%
Sema.InheritedProtocolsRequest 779,478 779,512 34 0.0%
Sema.InheritedTypeRequest 349,160 349,203 43 0.01%
Sema.InheritsSuperclassInitializersRequest 34,154 34,154 0 0.0%
Sema.InitKindRequest 126,651 126,651 0 0.0%
Sema.InterfaceTypeRequest 19,835,571 19,832,651 -2,920 -0.01%
Sema.IsABICompatibleOverrideRequest 185,147 185,147 0 0.0%
Sema.IsAccessorTransparentRequest 442,270 442,270 0 0.0%
Sema.IsActorRequest 366,424 366,316 -108 -0.03%
Sema.IsAsyncHandlerRequest 2,036,711 2,036,691 -20 -0.0%
Sema.IsCallableNominalTypeRequest 3,430 3,430 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDeclRefinementOfRequest 47,722 47,722 0 0.0%
Sema.IsDefaultActorRequest 56,649 56,649 0 0.0%
Sema.IsDynamicRequest 2,400,900 2,400,900 0 0.0%
Sema.IsFinalRequest 3,833,577 3,833,488 -89 -0.0%
Sema.IsGetterMutatingRequest 585,173 585,173 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 3,336,654 3,336,422 -232 -0.01%
Sema.IsObjCRequest 2,136,129 2,136,196 67 0.0%
Sema.IsSetterMutatingRequest 464,695 464,695 0 0.0%
Sema.IsStaticRequest 1,752,318 1,752,175 -143 -0.01%
Sema.LazyStoragePropertyRequest 3,107 3,107 0 0.0%
Sema.LookupAllConformancesInContextRequest 158,312 158,312 0 0.0%
Sema.LookupConformanceInModuleRequest 49,468,195 49,468,929 734 0.0%
Sema.LookupInModuleRequest 9,118,890 9,119,629 739 0.01%
Sema.LookupInfixOperatorRequest 115,983 115,983 0 0.0%
Sema.LookupPostfixOperatorRequest 189 189 0 0.0%
Sema.LookupPrecedenceGroupRequest 34,964 34,964 0 0.0%
Sema.LookupPrefixOperatorRequest 975 975 0 0.0%
Sema.MangleLocalTypeDeclRequest 634 634 0 0.0%
Sema.ModuleImplicitImportsRequest 14,843 14,843 0 0.0%
Sema.ModuleQualifiedLookupRequest 4,256,255 4,257,134 879 0.02%
Sema.NamedLazyMemberLoadSuccessCount 28,227,716 28,226,099 -1,617 -0.01%
Sema.NamingPatternRequest 320,184 320,180 -4 -0.0%
Sema.NeedsNewVTableEntryRequest 943,150 943,150 0 0.0%
Sema.NumAccessorBodiesSynthesized 265,274 265,274 0 0.0%
Sema.NumAccessorsSynthesized 405,380 405,380 0 0.0%
Sema.NumConformancesDeserialized 13,535,242 13,535,324 82 0.0%
Sema.NumConstraintScopes 34,574,364 34,574,486 122 0.0%
Sema.NumConstraintsConsideredForEdgeContraction 98,432,058 98,431,961 -97 -0.0%
Sema.NumCrossImportsChecked 0 0 0 0.0%
Sema.NumCrossImportsFound 0 0 0 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 566 566 0 0.0%
Sema.NumDeclsDeserialized 105,991,177 105,980,678 -10,499 -0.01%
Sema.NumDeclsTypechecked 1,938,397 1,938,397 0 0.0%
Sema.NumGenericSignatureBuilders 1,614,276 1,613,776 -500 -0.03%
Sema.NumLazyIterableDeclContexts 12,116,142 12,114,225 -1,917 -0.02%
Sema.NumLazyRequirementSignatures 1,174,442 1,174,381 -61 -0.01%
Sema.NumLazyRequirementSignaturesLoaded 798,127 798,079 -48 -0.01%
Sema.NumLeafScopes 21,477,167 21,477,270 103 0.0%
Sema.NumTypesDeserialized 32,856,566 32,847,947 -8,619 -0.03%
Sema.NumUnloadedLazyIterableDeclContexts 7,381,334 7,380,080 -1,254 -0.02%
Sema.OpaqueReadOwnershipRequest 386,119 386,119 0 0.0%
Sema.OpaqueResultTypeRequest 425 425 0 0.0%
Sema.OperatorPrecedenceGroupRequest 921 921 0 0.0%
Sema.OverriddenDeclsRequest 3,760,234 3,759,654 -580 -0.02%
Sema.ParamSpecifierRequest 1,693,331 1,693,331 0 0.0%
Sema.PatternBindingEntryRequest 661,344 661,340 -4 -0.0%
Sema.PatternTypeRequest 767,895 767,891 -4 -0.0%
Sema.PreCheckResultBuilderRequest 962 962 0 0.0%
Sema.PrimarySourceFilesRequest 14,843 14,843 0 0.0%
Sema.PropertyWrapperBackingPropertyInfoRequest 773,803 773,803 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 782,086 782,086 0 0.0%
Sema.PropertyWrapperLValuenessRequest 640 640 0 0.0%
Sema.PropertyWrapperMutabilityRequest 817,309 817,309 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 215 215 0 0.0%
Sema.ProtocolRequiresClassRequest 48,731 48,764 33 0.07%
Sema.ProvideDefaultImplForRequest 11,891,091 11,887,261 -3,830 -0.03%
Sema.QualifiedLookupRequest 7,969,991 7,969,982 -9 -0.0%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 133,826 133,826 0 0.0%
Sema.RequirementSignatureRequest 875,079 875,053 -26 -0.0%
Sema.RequiresOpaqueAccessorsRequest 1,745,747 1,745,747 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 368,518 368,518 0 0.0%
Sema.ResolveEffectiveMemberwiseInitRequest 0 0 0 0.0%
Sema.ResolveImplicitMemberRequest 614,233 614,263 30 0.0%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.ResolveTypeEraserTypeRequest 0 0 0 0.0%
Sema.ResolveTypeRequest 4,447,618 4,447,618 0 0.0%
Sema.ResultBuilderTypeRequest 494,393 494,393 0 0.0%
Sema.ResultTypeRequest 912,516 912,517 1 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SPIGroupsRequest 20,864,420 20,860,011 -4,409 -0.02%
Sema.ScopedImportLookupRequest 1,155 1,155 0 0.0%
Sema.SelfAccessKindRequest 917,043 916,948 -95 -0.01%
Sema.SelfBoundsFromWhereClauseRequest 2,230,389 2,230,289 -100 -0.0%
Sema.SetterAccessLevelRequest 207,969 207,969 0 0.0%
Sema.SimpleDidSetRequest 3,570,821 3,569,084 -1,737 -0.05%
Sema.SpecializeAttrTargetDeclRequest 5,310 5,310 0 0.0%
Sema.StorageImplInfoRequest 2,014,849 2,014,849 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 82,244 82,244 0 0.0%
Sema.StoredPropertiesRequest 470,143 470,143 0 0.0%
Sema.StructuralTypeRequest 2,493 2,493 0 0.0%
Sema.SuperclassDeclRequest 602,329 602,385 56 0.01%
Sema.SuperclassTypeRequest 70,621 70,621 0 0.0%
Sema.SynthesizeAccessorRequest 405,380 405,380 0 0.0%
Sema.SynthesizeDefaultInitRequest 7,128 7,128 0 0.0%
Sema.SynthesizeMainFunctionRequest 131,281 131,281 0 0.0%
Sema.SynthesizeMemberwiseInitRequest 5,412 5,412 0 0.0%
Sema.TangentStoredPropertyRequest 0 0 0 0.0%
Sema.TypeCheckASTNodeAtLocRequest 0 0 0 0.0%
Sema.TypeCheckFunctionBodyRequest 710,554 710,554 0 0.0%
Sema.TypeCheckSourceFileRequest 34,910 34,910 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 36,989 36,989 0 0.0%
Sema.TypeEraserHasViableInitRequest 0 0 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.TypeWitnessRequest 11,486 11,486 0 0.0%
Sema.USRGenerationRequest 13,757,829 13,752,763 -5,066 -0.04%
Sema.UnderlyingTypeDeclsReferencedRequest 408,584 408,516 -68 -0.02%
Sema.UnderlyingTypeRequest 49,737 49,736 -1 -0.0%
Sema.UnqualifiedLookupRequest 5,849,619 5,849,477 -142 -0.0%
Sema.ValidatePrecedenceGroupRequest 244,116 244,116 0 0.0%
Sema.ValueWitnessRequest 89,731 89,731 0 0.0%
TBDGen.GenerateTBDRequest 0 0 0 0.0%
TBDGen.PublicSymbolsRequest 34,488 34,488 0 0.0%
TBDGen.SymbolSourceMapRequest 0 0 0 0.0%

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 72,203,957,857,202 72,178,745,919,721 -25,211,937,481 -0.03%
LLVM.NumLLVMBytesOutput 2,447,777,998 2,447,777,450 -548 -0.0%
time.swift-driver.wall 12894.8s 12790.1s -104.7s -0.81%

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) (256)
name old new delta delta_pct
AST.ImportSetCacheHit 1,697,895 1,697,895 0 0.0%
AST.ImportSetCacheMiss 80,649 80,649 0 0.0%
AST.ImportSetFoldHit 35,597 35,597 0 0.0%
AST.ImportSetFoldMiss 45,052 45,052 0 0.0%
AST.ModuleShadowCacheHit 4,586 4,586 0 0.0%
AST.ModuleShadowCacheMiss 1,750 1,750 0 0.0%
AST.ModuleVisibilityCacheHit 31,776 31,776 0 0.0%
AST.ModuleVisibilityCacheMiss 4,407 4,407 0 0.0%
AST.NumASTBytesAllocated 12,837,127,060 12,837,131,280 4,220 0.0%
AST.NumASTScopeExpansions 3,887,357 3,887,357 0 0.0%
AST.NumASTScopeLookups 5,637,951 5,637,951 0 0.0%
AST.NumDecls 191,175 191,175 0 0.0%
AST.NumDependencies 71,525 71,531 6 0.01%
AST.NumIncrementalDependencies 0 0 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 37,027 37,027 0 0.0%
AST.NumLocalTypeDecls 317 317 0 0.0%
AST.NumModuleLookupClassMember 7,886 7,886 0 0.0%
AST.NumModuleLookupValue 37,128,499 37,128,499 0 0.0%
AST.NumObjCMethods 29,395 29,395 0 0.0%
AST.NumOperators 806 806 0 0.0%
AST.NumPrecedenceGroups 132 132 0 0.0%
AST.NumReferencedDynamicNames 0 0 0 0.0%
AST.NumReferencedMemberNames 3,484 3,484 0 0.0%
AST.NumReferencedTopLevelNames 352 352 0 0.0%
AST.NumSourceBuffers 36,729 36,729 0 0.0%
AST.NumSourceLines 6,587,197 6,587,197 0 0.0%
AST.NumSourceLinesPerSecond 440,341 442,457 2,116 0.48%
AST.NumTotalClangImportedEntities 613,292 613,292 0 0.0%
Driver.ChildrenMaxRSS 394,216,628,224 394,009,944,064 -206,684,160 -0.05%
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 1,941 1,941 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumDriverPipePolls 102,959 102,940 -19 -0.02%
Driver.NumDriverPipeReads 101,018 100,999 -19 -0.02%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 261,641,973,512 261,646,425,016 4,451,504 0.0%
Frontend.NumInstructionsExecuted 72,203,957,857,202 72,178,745,919,721 -25,211,937,481 -0.03%
Frontend.NumProcessFailures 0 0 0 0.0%
IRGen.IRGenRequest 12 12 0 0.0%
IRGen.OptimizedIRRequest 0 0 0 0.0%
IRGen.SymbolObjectCodeRequest 0 0 0 0.0%
IRModule.NumGOTEntries 307,071 307,071 0 0.0%
IRModule.NumIRAliases 205,074 205,074 0 0.0%
IRModule.NumIRBasicBlocks 6,437,408 6,437,408 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 3,731,257 3,731,257 0 0.0%
IRModule.NumIRGlobals 4,415,145 4,415,145 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 63,747,895 63,747,895 0 0.0%
IRModule.NumIRNamedMetaData 176,190 176,190 0 0.0%
IRModule.NumIRValueSymbols 7,738,103 7,738,103 0 0.0%
LLVM.NumLLVMBytesOutput 2,447,777,998 2,447,777,450 -548 -0.0%
Parse.CodeCompletionSecondPassRequest 0 0 0 0.0%
Parse.NumFunctionsParsed 378,219 378,219 0 0.0%
Parse.NumIterableDeclContextParsed 126,646 126,646 0 0.0%
Parse.ParseAbstractFunctionBodyRequest 346,500 346,500 0 0.0%
Parse.ParseMembersRequest 426 426 0 0.0%
Parse.ParseSourceFileRequest 35,262 35,262 0 0.0%
SILGen.ASTLoweringRequest 1,665 1,665 0 0.0%
SILGen.ParseSILModuleRequest 0 0 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 1,671,814 1,671,814 0 0.0%
SILModule.NumSILGenGlobalVariables 87,454 87,454 0 0.0%
SILModule.NumSILGenVtables 24,357 24,357 0 0.0%
SILModule.NumSILGenWitnessTables 94,755 94,755 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 1,390,309 1,390,309 0 0.0%
SILModule.NumSILOptGlobalVariables 126,822 126,822 0 0.0%
SILModule.NumSILOptVtables 27,723 27,723 0 0.0%
SILModule.NumSILOptWitnessTables 97,098 97,098 0 0.0%
SILOptimizer.ExecuteSILPipelineRequest 6,648 6,648 0 0.0%
SILOptimizer.LoweredSILRequest 0 0 0 0.0%
Sema.ABIMembersRequest 25,391 25,391 0 0.0%
Sema.AbstractGenericSignatureRequest 35,088 35,088 0 0.0%
Sema.AccessLevelRequest 2,124,312 2,124,312 0 0.0%
Sema.ActorIsolationRequest 678,630 678,630 0 0.0%
Sema.AllMembersRequest 123,269 123,269 0 0.0%
Sema.AnyObjectLookupRequest 300 300 0 0.0%
Sema.AreAllStoredPropertiesDefaultInitableRequest 18,432 18,432 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 517,171 517,171 0 0.0%
Sema.AttachedPropertyWrappersRequest 2,713,188 2,713,188 0 0.0%
Sema.AttachedResultBuilderRequest 919,971 919,971 0 0.0%
Sema.BodyInitKindRequest 63,545 63,545 0 0.0%
Sema.CallerSideDefaultArgExprRequest 123,753 123,753 0 0.0%
Sema.CanBeAsyncHandlerRequest 250,521 250,521 0 0.0%
Sema.CheckInconsistentImplementationOnlyImportsRequest 1,661 1,661 0 0.0%
Sema.CheckRedeclarationRequest 1,363,829 1,363,829 0 0.0%
Sema.ClassAncestryFlagsRequest 64,685 64,685 0 0.0%
Sema.ClosureHasExplicitResultRequest 124,044 124,044 0 0.0%
Sema.CodeCompletionFileRequest 0 0 0 0.0%
Sema.CollectOverriddenDeclsRequest 0 0 0 0.0%
Sema.CompareDeclSpecializationRequest 515,786 515,786 0 0.0%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 461 461 0 0.0%
Sema.CustomAttrTypeRequest 367 367 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 53,923 53,923 0 0.0%
Sema.DefaultArgumentExprRequest 50,102 50,102 0 0.0%
Sema.DefaultArgumentInitContextRequest 126 126 0 0.0%
Sema.DefaultDefinitionTypeRequest 3,936 3,936 0 0.0%
Sema.DefaultTypeRequest 354,094 354,094 0 0.0%
Sema.DerivativeAttrOriginalDeclRequest 8 8 0 0.0%
Sema.DifferentiableAttributeTypeCheckRequest 0 0 0 0.0%
Sema.DirectLookupRequest 41,092,573 41,092,495 -78 -0.0%
Sema.DirectOperatorLookupRequest 1,559,974 1,559,974 0 0.0%
Sema.DirectPrecedenceGroupLookupRequest 749,550 749,550 0 0.0%
Sema.DynamicallyReplacedDeclRequest 1,083,446 1,083,446 0 0.0%
Sema.EnumRawTypeRequest 12,802 12,802 0 0.0%
Sema.EnumRawValuesRequest 13,667 13,667 0 0.0%
Sema.ExistentialConformsToSelfRequest 6,190 6,190 0 0.0%
Sema.ExistentialTypeSupportedRequest 10,720 10,720 0 0.0%
Sema.ExtendedNominalRequest 58,729 58,729 0 0.0%
Sema.ExtendedTypeRequest 58,701 58,701 0 0.0%
Sema.FragileFunctionKindRequest 1,370,362 1,370,362 0 0.0%
Sema.FunctionOperatorRequest 12,225 12,225 0 0.0%
Sema.GenericParamListRequest 1,606,721 1,606,721 0 0.0%
Sema.GenericSignatureRequest 1,365,983 1,365,983 0 0.0%
Sema.GetDestructorRequest 25,382 25,382 0 0.0%
Sema.GlobalActorAttributeRequest 767,650 767,650 0 0.0%
Sema.GlobalActorInstanceRequest 54 54 0 0.0%
Sema.HasCircularInheritedProtocolsRequest 11,041 11,041 0 0.0%
Sema.HasCircularRawValueRequest 12,801 12,801 0 0.0%
Sema.HasDefaultInitRequest 41,494 41,494 0 0.0%
Sema.HasDynamicCallableAttributeRequest 0 0 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 338,183 338,183 0 0.0%
Sema.HasImplementationOnlyImportsRequest 35,117 35,117 0 0.0%
Sema.HasMemberwiseInitRequest 17,145 17,145 0 0.0%
Sema.HasMissingDesignatedInitializersRequest 26,208 26,208 0 0.0%
Sema.HasUserDefinedDesignatedInitRequest 41,494 41,494 0 0.0%
Sema.InferredGenericSignatureRequest 88,278 88,278 0 0.0%
Sema.InheritedDeclsReferencedRequest 1,405,011 1,405,011 0 0.0%
Sema.InheritedProtocolsRequest 126,877 126,877 0 0.0%
Sema.InheritedTypeRequest 201,938 201,938 0 0.0%
Sema.InheritsSuperclassInitializersRequest 18,162 18,162 0 0.0%
Sema.InitKindRequest 78,841 78,841 0 0.0%
Sema.InterfaceTypeRequest 4,315,707 4,315,707 0 0.0%
Sema.IsABICompatibleOverrideRequest 184,021 184,021 0 0.0%
Sema.IsAccessorTransparentRequest 362,203 362,203 0 0.0%
Sema.IsActorRequest 71,797 71,797 0 0.0%
Sema.IsAsyncHandlerRequest 951,679 951,679 0 0.0%
Sema.IsCallableNominalTypeRequest 2,860 2,860 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDeclRefinementOfRequest 29,610 29,610 0 0.0%
Sema.IsDefaultActorRequest 34,709 34,709 0 0.0%
Sema.IsDynamicRequest 1,678,788 1,678,788 0 0.0%
Sema.IsFinalRequest 1,339,672 1,339,672 0 0.0%
Sema.IsGetterMutatingRequest 442,462 442,462 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 2,554,342 2,554,342 0 0.0%
Sema.IsObjCRequest 1,466,738 1,466,738 0 0.0%
Sema.IsSetterMutatingRequest 424,883 424,883 0 0.0%
Sema.IsStaticRequest 754,533 754,533 0 0.0%
Sema.LazyStoragePropertyRequest 850 850 0 0.0%
Sema.LookupAllConformancesInContextRequest 112,980 112,980 0 0.0%
Sema.LookupConformanceInModuleRequest 78,007,879 77,996,641 -11,238 -0.01%
Sema.LookupInModuleRequest 2,966,799 2,966,799 0 0.0%
Sema.LookupInfixOperatorRequest 73,669 73,669 0 0.0%
Sema.LookupPostfixOperatorRequest 47 47 0 0.0%
Sema.LookupPrecedenceGroupRequest 33,897 33,897 0 0.0%
Sema.LookupPrefixOperatorRequest 190 190 0 0.0%
Sema.MangleLocalTypeDeclRequest 337 337 0 0.0%
Sema.ModuleImplicitImportsRequest 1,665 1,665 0 0.0%
Sema.ModuleQualifiedLookupRequest 529,591 529,591 0 0.0%
Sema.NamedLazyMemberLoadSuccessCount 10,952,638 10,952,638 0 0.0%
Sema.NamingPatternRequest 92,124 92,124 0 0.0%
Sema.NeedsNewVTableEntryRequest 737,138 737,138 0 0.0%
Sema.NumAccessorBodiesSynthesized 268,874 268,874 0 0.0%
Sema.NumAccessorsSynthesized 273,237 273,237 0 0.0%
Sema.NumConformancesDeserialized 3,936,462 3,936,462 0 0.0%
Sema.NumConstraintScopes 33,296,004 33,296,004 0 0.0%
Sema.NumConstraintsConsideredForEdgeContraction 97,382,392 97,382,392 0 0.0%
Sema.NumCrossImportsChecked 0 0 0 0.0%
Sema.NumCrossImportsFound 0 0 0 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 566 566 0 0.0%
Sema.NumDeclsDeserialized 14,938,083 14,938,083 0 0.0%
Sema.NumDeclsTypechecked 1,961,726 1,961,726 0 0.0%
Sema.NumGenericSignatureBuilders 298,662 298,662 0 0.0%
Sema.NumLazyIterableDeclContexts 1,792,610 1,792,610 0 0.0%
Sema.NumLazyRequirementSignatures 152,659 152,659 0 0.0%
Sema.NumLazyRequirementSignaturesLoaded 116,483 116,483 0 0.0%
Sema.NumLeafScopes 20,487,891 20,487,891 0 0.0%
Sema.NumTypesDeserialized 6,744,405 6,744,405 0 0.0%
Sema.NumUnloadedLazyIterableDeclContexts 1,151,306 1,151,306 0 0.0%
Sema.OpaqueReadOwnershipRequest 252,396 252,396 0 0.0%
Sema.OpaqueResultTypeRequest 356 356 0 0.0%
Sema.OperatorPrecedenceGroupRequest 716 716 0 0.0%
Sema.OverriddenDeclsRequest 1,363,044 1,363,044 0 0.0%
Sema.ParamSpecifierRequest 1,044,436 1,044,436 0 0.0%
Sema.PatternBindingEntryRequest 414,947 414,947 0 0.0%
Sema.PatternTypeRequest 519,028 519,028 0 0.0%
Sema.PreCheckResultBuilderRequest 888 888 0 0.0%
Sema.PrimarySourceFilesRequest 1,665 1,665 0 0.0%
Sema.PropertyWrapperBackingPropertyInfoRequest 512,345 512,345 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 517,171 517,171 0 0.0%
Sema.PropertyWrapperLValuenessRequest 640 640 0 0.0%
Sema.PropertyWrapperMutabilityRequest 670,661 670,661 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 53 53 0 0.0%
Sema.ProtocolRequiresClassRequest 11,623 11,623 0 0.0%
Sema.ProvideDefaultImplForRequest 0 0 0 0.0%
Sema.QualifiedLookupRequest 5,123,872 5,123,872 0 0.0%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 88,084 88,084 0 0.0%
Sema.RequirementSignatureRequest 130,109 130,109 0 0.0%
Sema.RequiresOpaqueAccessorsRequest 1,539,067 1,539,067 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 248,739 248,739 0 0.0%
Sema.ResolveEffectiveMemberwiseInitRequest 0 0 0 0.0%
Sema.ResolveImplicitMemberRequest 459,227 459,227 0 0.0%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.ResolveTypeEraserTypeRequest 0 0 0 0.0%
Sema.ResolveTypeRequest 2,485,150 2,485,150 0 0.0%
Sema.ResultBuilderTypeRequest 456,950 456,950 0 0.0%
Sema.ResultTypeRequest 551,448 551,448 0 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SPIGroupsRequest 2,686,909 2,686,909 0 0.0%
Sema.ScopedImportLookupRequest 1,247 1,247 0 0.0%
Sema.SelfAccessKindRequest 430,062 430,062 0 0.0%
Sema.SelfBoundsFromWhereClauseRequest 572,904 572,904 0 0.0%
Sema.SetterAccessLevelRequest 173,882 173,882 0 0.0%
Sema.SimpleDidSetRequest 450,976 450,976 0 0.0%
Sema.SpecializeAttrTargetDeclRequest 2,869 2,869 0 0.0%
Sema.StorageImplInfoRequest 1,684,786 1,684,786 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 55,501 55,501 0 0.0%
Sema.StoredPropertiesRequest 190,884 190,884 0 0.0%
Sema.StructuralTypeRequest 682 682 0 0.0%
Sema.SuperclassDeclRequest 130,681 130,681 0 0.0%
Sema.SuperclassTypeRequest 32,962 32,962 0 0.0%
Sema.SynthesizeAccessorRequest 273,237 273,237 0 0.0%
Sema.SynthesizeDefaultInitRequest 4,011 4,011 0 0.0%
Sema.SynthesizeMainFunctionRequest 123,249 123,249 0 0.0%
Sema.SynthesizeMemberwiseInitRequest 3,488 3,488 0 0.0%
Sema.TangentStoredPropertyRequest 0 0 0 0.0%
Sema.TypeCheckASTNodeAtLocRequest 0 0 0 0.0%
Sema.TypeCheckFunctionBodyRequest 716,202 716,202 0 0.0%
Sema.TypeCheckSourceFileRequest 35,238 35,238 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 27,833 27,833 0 0.0%
Sema.TypeEraserHasViableInitRequest 0 0 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.TypeWitnessRequest 4,768 4,768 0 0.0%
Sema.USRGenerationRequest 505,914 505,914 0 0.0%
Sema.UnderlyingTypeDeclsReferencedRequest 72,164 72,164 0 0.0%
Sema.UnderlyingTypeRequest 24,978 24,978 0 0.0%
Sema.UnqualifiedLookupRequest 2,937,292 2,937,292 0 0.0%
Sema.ValidatePrecedenceGroupRequest 242,537 242,537 0 0.0%
Sema.ValueWitnessRequest 45,222 45,222 0 0.0%
TBDGen.GenerateTBDRequest 0 0 0 0.0%
TBDGen.PublicSymbolsRequest 1,661 1,661 0 0.0%
TBDGen.SymbolSourceMapRequest 0 0 0 0.0%

@gottesmm
Copy link
Member Author

I talked with @varungandhi-apple. They are fine with us doing post-commit review on this since there wasn't a perf change at all.

@gottesmm gottesmm merged commit 6e61279 into apple:main Jan 27, 2021
@gottesmm gottesmm deleted the pr-5db2d0b093c814bacaaf559563926c5dec16acc3 branch January 27, 2021 18:13
Comment on lines +697 to +704
} else if (A->getOption().matches(OPT_disable_ast_verifier)) {
Opts.ASTVerifierOverride = ASTVerifierOverrideKind::DisableVerifier;
} else {
// This is an assert since getLastArg should not have let us get here if
// we did not have one of enable/disable specified.
llvm_unreachable(
"Should have found one of enable/disable ast verifier?!");
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: it would be slightly simpler to change this to:

      } else {
        assert(A->getOption().matches(OPT_disable_ast_verifier) &&
               "<message>");
        Opts.ASTVerifierOverride = ASTVerifierOverrideKind::DisableVerifier
      }

Copy link
Contributor

@varungandhi-apple varungandhi-apple left a comment

Choose a reason for hiding this comment

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

LGTM mostly. Left a couple of minor comments on simplifying a branch and updating the help text.

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

3 participants