[Swift CI] Build Failure: 2. Swift Source Compatibility Suite (master) #1014

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

···

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break? I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

thanks,
vedant

···

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Mark

···

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com> wrote:

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

···

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

···

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

I think so, I should have it done tonight. If it's looking unlikely, I can finish up the revert of #13597. Is that ok?

vedant

···

On Jan 3, 2018, at 7:34 PM, Mark Lacey <mark.lacey@apple.com> wrote:

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

To follow up on this thread, I reverted #13597 (the profiling refactor) because I couldn't get a clean run of the source compat suite.

It looks like there's an issue unrelated to #13597 causing a few failures: https://ci.swift.org/view/Source%20Compatibility/job/swift-master-source-compat-suite/1017/
ld: warning: unable to create link snapshot directory: /tmp/AsyncNinja-2018-00-04-030527.ld-snapshot
ld: snapshot not created in 'l_protocol_conformances' from /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/AsyncNinja/build/Build/Intermediates.noindex/AsyncNinja.build/Release-iphoneos/AsyncNinja.build/Objects-normal/arm64/iOS.o for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
vedant

···

On Jan 3, 2018, at 7:34 PM, Mark Lacey <mark.lacey@apple.com> wrote:

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

I think so, I should have it done tonight. If it's looking unlikely, I can finish up the revert of #13597. Is that ok?

vedant

Why don’t you just temporarily disable the assertion?

Slava

···

On Jan 3, 2018, at 7:36 PM, Vedant Kumar <vsk@apple.com> wrote:

On Jan 3, 2018, at 7:34 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

To follow up on this thread, I reverted #13597 (the profiling refactor) because I couldn't get a clean run of the source compat suite.

It looks like there's an issue unrelated to #13597 causing a few failures: https://ci.swift.org/view/Source%20Compatibility/job/swift-master-source-compat-suite/1017/
ld: warning: unable to create link snapshot directory: /tmp/AsyncNinja-2018-00-04-030527.ld-snapshot
ld: snapshot not created in 'l_protocol_conformances' from /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/AsyncNinja/build/Build/Intermediates.noindex/AsyncNinja.build/Release-iphoneos/AsyncNinja.build/Objects-normal/arm64/iOS.o for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

This is probably mine. Trying to reproduce now.

  - Doug

···

On Jan 4, 2018, at 11:14 AM, Vedant Kumar <vsk@apple.com> wrote:

vedant

On Jan 3, 2018, at 7:34 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp

This is a bit surprising, since I wouldn't expect this suite of tests to stress the code coverage logic.

How were you able to determine that the #13597 caused the break?

I’m seeing this in the failing builds:

Assertion failed: (std::all_of(Mappings.begin(), Mappings.end(), (const SILCoverageMap &M) { return M.hasSymtabEntry(); }) && "Missing symtab entry for coverage mapping"), function emitCoverageMapping, file /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/swift/lib/IRGen/GenCoverage.cpp, line 53.

I added this assert as a debugging tool, with plans on making it a defensive measure. I.e, we'd use the check to avoid emitting broken coverage mapping data. Instead of reverting, it might be easier to finish that up. Wdyt?

Is that something you can do quickly?

I think so, I should have it done tonight. If it's looking unlikely, I can finish up the revert of #13597. Is that ok?

vedant

Why don’t you just temporarily disable the assertion?

I thought it'd be simpler to finish up the planned work. I've got the patch ready: https://github.com/apple/swift/pull/13711\. If it'd be better to have a smaller change, I'm open to disable the assert.

vedant

···

On Jan 3, 2018, at 7:46 PM, Slava Pestov <spestov@apple.com> wrote:

On Jan 3, 2018, at 7:36 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:34 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:31 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

On Jan 3, 2018, at 7:23 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

On Jan 3, 2018, at 7:18 PM, Vedant Kumar <vsk@apple.com <mailto:vsk@apple.com>> wrote:

Slava

It’s blocking PR testing for source compatibility, which means we get no coverage for people that want to run those tests until this is fixed or reverted.

Mark

I'm having a hard time understanding what the logs mean. For example, I see this failure, but I'm not sure how my change relates to it:

It’s non-obvious, but the easiest thing to do is download the build artifacts via a couple clicks from https://ci.swift.org/job/swift-master-source-compat-suite/1014/, and then look at the logs named FAIL_*.

Thanks, I see the failures now.

FAIL: JSQDataSourcesKit, 3.0, b764e3, JSQDataSourcesKit-iOS, generic/platform=iOS, ExecuteCommandFailure(command="sandbox-exec -f /Users/buildnode/jenkins/workspace-private/swift-source-compat-suite-sandbox/sandbox_xcodebuild.sb xcodebuild clean build -project /Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/JSQDataSourcesKit.xcodeproj -target JSQDataSourcesKit-iOS -destination generic/platform=iOS SYMROOT=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/project_cache/JSQDataSourcesKit/build -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO ENABLE_BITCODE=NO INDEX_ENABLE_DATA_STORE=NO GCC_TREAT_WARNINGS_AS_ERRORS=NO SWIFT_TREAT_WARNINGS_AS_ERRORS=NO 'OTHER_SWIFT_FLAGS=$(OTHER_SWIFT_FLAGS) -swift-version 3' -configuration Release SWIFT_EXEC=/Users/buildnode/jenkins/workspace-private/swift-master-source-compat-suite/build/compat_macos/install/toolchain/usr/bin/swiftc SWIFT_VERSION=3", returncode=65)
Can I reproduce the issue with `build-script -t`?

You should be able to reproduce by building and then following the instructions here to run a single project build: https://github.com/apple/swift-source-compat-suite/blob/master/README.md

Thanks.

vedant

Mark

thanks,
vedant

On Jan 3, 2018, at 7:10 PM, Mark Lacey <mark.lacey@apple.com <mailto:mark.lacey@apple.com>> wrote:

Vedant, this appears to be a result of your changes.

I’ve opened Revert "[Coverage] Clean up a few classes, NFC" by rudkx · Pull Request #13709 · apple/swift · GitHub to revert the later clean-up change which appears to be required before it will be possible to revert the change below.

Mark

On Jan 3, 2018, at 6:06 PM, swift-ci@swift.org <mailto:swift-ci@swift.org> wrote:

[FAILURE] swift-master-source-compat-suite [#1014]

Build URL: https://ci.swift.org/job/swift-master-source-compat-suite/1014/
Project: swift-master-source-compat-suite
Date of build: Wed, 03 Jan 2018 16:40:37 -0600
Build duration: 3 hr 26 min

Changes

Commit 5307f5d2ecdbcab62ae203ef21d2e1b95e2723f7 by dgregor:
[Runtime] Add "reserved" protocol conformance kind and ignore it.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h

Commit 8c668ba524969856496f2b96f6efca188a36c2f6 by dgregor:
[Runtime] Rename the segment for protocol conformance records.

edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.h
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: lib/IRGen/GenDecl.cpp

Commit 314d705f417b357d03c99e9153cf819d13df595e by mark.lacey:
Sema: Look through inout when mapping IUOs to Optionals.

edit: lib/AST/Decl.cpp
edit: test/decl/overload.swift

Commit 7e6f52308d4db11ef6e560f63235e5cfa4346c6d by dgregor:
[Runtime] Move conformance kind into low bits of witness table

edit: include/swift/Basic/RelativePointer.h
edit: docs/ABI/TypeMetadata.rst
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 32ab89b0cc149a86cde206cca67bfeb27bd42521 by dgregor:
[Runtime] Reference ObjC class objects indirectly in conformance

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: test/IRGen/objc_bridged_generic_conformance.swift

Commit e3d6a2b9a2b3bbc80a1ccf5079a76751ff6a05ec by spestov:
IRGen: Correctly set class metadata base offset variable

edit: test/IRGen/class_resilience.swift
edit: lib/IRGen/GenMeta.cpp
edit: lib/IRGen/MetadataLayout.cpp
edit: lib/IRGen/MetadataLayout.h

Commit 22f08f7f472dee57ffb1e7d9678411bcd87fc4a8 by spestov:
Runtime: Set metadata size when allocating runtime-sized class metadata

edit: stdlib/public/runtime/Metadata.cpp

Commit c1782d8cc01e5b7e5da6643c946c2c618575ec1b by dgregor:
[Runtime] Eliminate the UniqueDirectClass metadata record kind.

edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: lib/IRGen/GenDecl.cpp
edit: test/IRGen/protocol_conformance_records.swift
edit: include/swift/Runtime/Metadata.h

Commit fea92a0214aaf7f61a676d6dd3b9efdf695ed848 by spestov:
Runtime: Add support for resilient superclasses

edit: include/swift/Runtime/Metadata.h
edit: include/swift/Remote/MetadataReader.h
edit: stdlib/public/runtime/Metadata.cpp
edit: stdlib/public/runtime/Demangle.cpp

Commit b25dc440691e07c4f9e34ba388fd91e0bf1d2abd by dgregor:
[Runtime] Cast to the correct type.

edit: include/swift/Runtime/Metadata.h

Commit d64592264ed02e9181c847b3ec6bf3bd5ce61aab by dgregor:
[Runtime] Use nominal type descriptor references for non-foreign types.

edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: stdlib/public/runtime/MetadataLookup.cpp
edit: include/swift/ABI/MetadataValues.h
edit: lib/IRGen/GenDecl.cpp
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenClass.cpp
edit: test/IRGen/protocol_conformance_records.swift

Commit 66ba75cef7009c8916cbad63266fe29187756b49 by spestov:
IRGen: Update super.sil test to use -enable-class-resilience

edit: test/IRGen/super.sil

Commit 6af8d18a008915f6b905e59e0adc6ae7b6c71ad6 by spestov:
IRGen: Remove -enable-class-resilience staging flag

edit: include/swift/Basic/LangOptions.h
edit: lib/IRGen/GenClass.cpp
edit: lib/Frontend/CompilerInvocation.cpp
edit: lib/IRGen/ClassMetadataVisitor.h
edit: lib/IRGen/MetadataLayout.cpp
edit: test/IRGen/super.sil
edit: test/IRGen/class_resilience.swift
edit: include/swift/Option/FrontendOptions.td

Commit 6347112a04eb1532a0f0cee1a9b5ea8b4bcd331d by mark.lacey:
Downgrade from error to warning for overloading by kind of optional.

edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp
edit: include/swift/AST/DiagnosticsSema.def

Commit 77a29c9551df516707b7b046699f51c8655f9270 by dave:
[AST] Perf: Improve getDesugaredType() efficiency

edit: include/swift/AST/Types.h
edit: include/swift/Basic/InlineBitfield.h
edit: include/swift/AST/TypeNodes.def
edit: lib/AST/Type.cpp
edit: include/swift/SIL/SILNode.h

Commit aee0c681e40d89442c2f9f3da496779b0942d2c4 by dgregor:
[Runtime] Pack TypeMetadataRecordKind into spare bits of protocol

edit: test/IRGen/protocol_conformance_records.swift
edit: test/IRGen/protocol_conformance_records_objc.swift
edit: include/swift/Runtime/Metadata.h
edit: include/swift/ABI/MetadataValues.h
edit: include/swift/Basic/RelativePointer.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp

Commit e5a0c968ab65467b167978d743b5d959c8c708bc by mark.lacey:
Fix inout optional overload warning for methods.

edit: include/swift/AST/DiagnosticsSema.def
edit: test/decl/overload.swift
edit: lib/Sema/TypeCheckDecl.cpp

Commit bfd2230c6d93d0d004219bbd1f722a59a0791346 by dgregor:
[Runtime] Eliminate ProtocolConformanceFlags.

edit: test/IRGen/protocol_conformance_records_objc.swift
edit: test/IRGen/protocol_conformance_records.swift
edit: docs/ABI/TypeMetadata.rst
edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp

Commit 310bd6be4854618154edeb4a929c2d14ce3ed988 by dgregor:
[Runtime] Mangle the reference kind in the lower two bits of type

edit: stdlib/public/runtime/ImageInspectionELF.cpp
edit: stdlib/public/runtime/ImageInspectionELF.h
edit: stdlib/public/runtime/SwiftRT-ELF.cpp
edit: stdlib/public/runtime/ImageInspectionCOFF.cpp
edit: lib/IRGen/GenDecl.cpp
edit: lib/IRGen/IRGenModule.cpp
edit: stdlib/public/runtime/ImageInspectionMachO.cpp
edit: include/swift/Runtime/Metadata.h
edit: stdlib/public/runtime/ImageInspectionCOFF.h

Commit aba9d537368ecf186f9c191ddbfbcb7b5230e027 by vsk:
[Coverage] Refactor SIL generation for profiling

edit: lib/SILGen/SILGenFunction.h
edit: lib/SILGen/SILGenDestructor.cpp
edit: lib/SILGen/SILGenConstructor.cpp
edit: include/swift/SIL/SILCoverageMap.h
edit: lib/SIL/SILCoverageMap.cpp
edit: lib/SILGen/SILGenPattern.cpp
edit: lib/SILGen/SILGen.h
edit: lib/SILGen/SILGenExpr.cpp
edit: include/swift/SIL/SILFunction.h
edit: include/swift/SIL/SILModule.h
delete: lib/SILGen/SILGenProfiling.h
delete: lib/SILGen/SILGenProfiling.cpp
edit: lib/SILGen/SILGen.cpp
edit: lib/IRGen/GenCoverage.cpp
edit: test/SILGen/coverage_ternary.swift
add: include/swift/SIL/SILProfiler.h
edit: lib/SILGen/CMakeLists.txt
edit: lib/SILGen/SILGenFunction.cpp
edit: lib/SILGen/SILGenType.cpp
add: lib/SIL/SILProfiler.cpp
edit: lib/SILGen/SILGenStmt.cpp
edit: lib/SIL/CMakeLists.txt

Commit 3219047783988026ecd45e330711e21c0f4a8cca by dgregor:
[Runtime] Clean up TypeMetadataRecordKind and

edit: include/swift/Runtime/Metadata.h
edit: lib/IRGen/GenDecl.cpp
edit: stdlib/public/runtime/ProtocolConformance.cpp
edit: include/swift/ABI/MetadataValues.h

Commit e44eb34cd665e086c7d6cabb240ea6ccb03f15ed by blangmuir:
[code-complete] Don't suggest trailing closure for autoclosure

edit: test/IDE/complete_trailing_closure.swift
edit: lib/IDE/CodeCompletion.cpp