Skip to content

[ConstraintSystem] Detect and fix invalid refs in dynamic key path me… #24454

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 1 commit into from
May 3, 2019

Conversation

xedin
Copy link
Contributor

@xedin xedin commented May 2, 2019

…mber lookup

KeyPath dynamic member lookup is limited to what key path itself
could do, so let's detect and diagnose invalid references just
like we do for regular key path expressions.

Resolves: rdar://problem/50376224

…mber lookup

KeyPath dynamic member lookup is limited to what key path itself
could do, so let's detect and diagnose invalid references just
like we do for regular key path expressions.

Resolves: rdar://problem/50376224
@xedin xedin requested a review from DougGregor May 2, 2019 23:13
@xedin
Copy link
Contributor Author

xedin commented May 2, 2019

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented May 2, 2019

@swift-ci please smoke test compiler performance

@xedin
Copy link
Contributor Author

xedin commented May 2, 2019

@swift-ci please test source compatibility

Copy link
Member

@DougGregor DougGregor left a comment

Choose a reason for hiding this comment

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

Looks great!

@swift-ci
Copy link
Contributor

swift-ci commented May 3, 2019

Summary for master smoketest

Unexpected test results, excluded stats for ReactiveCocoa

No regressions above thresholds

Debug

debug 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 100,793,255,029 100,954,960,530 161,705,501 0.16%
LLVM.NumLLVMBytesOutput 6,151,488 6,151,488 0 0.0%
time.swift-driver.wall 13.3s 13.4s 27.0ms 0.2%

debug 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) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,028 1,028 0 0.0%
AST.NumLoadedModules 828 828 0 0.0%
AST.NumTotalClangImportedEntities 4,282 4,282 0 0.0%
IRModule.NumIRBasicBlocks 18,032 18,032 0 0.0%
IRModule.NumIRFunctions 10,542 10,542 0 0.0%
IRModule.NumIRGlobals 8,019 8,019 0 0.0%
IRModule.NumIRInsts 313,099 313,099 0 0.0%
IRModule.NumIRValueSymbols 17,622 17,622 0 0.0%
LLVM.NumLLVMBytesOutput 6,151,488 6,151,488 0 0.0%
SILModule.NumSILGenFunctions 5,370 5,370 0 0.0%
SILModule.NumSILOptFunctions 7,016 7,016 0 0.0%
Sema.NumConformancesDeserialized 15,769 15,769 0 0.0%
Sema.NumConstraintScopes 39,756 39,756 0 0.0%
Sema.NumDeclsDeserialized 136,226 136,226 0 0.0%
Sema.NumDeclsValidated 11,208 11,208 0 0.0%
Sema.NumFunctionsTypechecked 2,516 2,516 0 0.0%
Sema.NumGenericSignatureBuilders 4,792 4,792 0 0.0%
Sema.NumLazyGenericEnvironments 30,541 30,541 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 2,012 2,012 0 0.0%
Sema.NumLazyIterableDeclContexts 24,366 24,366 0 0.0%
Sema.NumTypesDeserialized 61,133 61,133 0 0.0%
Sema.NumTypesValidated 11,858 11,858 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 142,743,857,936 142,835,718,024 91,860,088 0.06%
LLVM.NumLLVMBytesOutput 7,156,192 7,156,100 -92 -0.0%
time.swift-driver.wall 23.6s 23.6s 17.3ms 0.07%

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) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 398 398 0 0.0%
AST.NumLoadedModules 76 76 0 0.0%
AST.NumTotalClangImportedEntities 2,196 2,196 0 0.0%
IRModule.NumIRBasicBlocks 21,084 21,084 0 0.0%
IRModule.NumIRFunctions 10,011 10,011 0 0.0%
IRModule.NumIRGlobals 8,031 8,031 0 0.0%
IRModule.NumIRInsts 223,919 223,919 0 0.0%
IRModule.NumIRValueSymbols 17,214 17,214 0 0.0%
LLVM.NumLLVMBytesOutput 7,156,192 7,156,100 -92 -0.0%
SILModule.NumSILGenFunctions 4,176 4,176 0 0.0%
SILModule.NumSILOptFunctions 5,844 5,844 0 0.0%
Sema.NumConformancesDeserialized 12,469 12,469 0 0.0%
Sema.NumConstraintScopes 38,826 38,826 0 0.0%
Sema.NumDeclsDeserialized 32,709 32,709 0 0.0%
Sema.NumDeclsValidated 7,874 7,874 0 0.0%
Sema.NumFunctionsTypechecked 2,204 2,204 0 0.0%
Sema.NumGenericSignatureBuilders 1,726 1,726 0 0.0%
Sema.NumLazyGenericEnvironments 6,891 6,891 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 130 130 0 0.0%
Sema.NumLazyIterableDeclContexts 4,375 4,375 0 0.0%
Sema.NumTypesDeserialized 18,197 18,197 0 0.0%
Sema.NumTypesValidated 6,942 6,942 0 0.0%

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