Commits

Doug Gregor committed a815ab7386a
Don't eagerly check protocol conformances for Clang-imported AST nodes. The Clang importer introduces a number of synthesized conformances for imported enums (normal, NS_ENUMS, or NS_OPTIONS-based all have the same issue) that aren't used in most translation units. Rather than go through the effort of fully checking these conformances and generating SIL for them always, rely on semantic analysis to force them to be fully checked when the conformance is required. This cuts down on the amount of work we need to do for imported enumeration types considerably. For a simple program consisting of only: import Foundation var str = NSString() My not-entirely-scientific measurements show that: * Time to parse + type-check is reduced by 34% * Time to generate SIL is reduced by 50% * Time to generate IR is reduced by 47% * SIL output size is reduced by 66% Fixes rdar://problem/20047340. Swift SVN r27946