{"action":"created","comment":{"url":"https://api.github.com/repos/apple/swift/pulls/comments/71069970","id":71069970,"diff_hunk":"@@ -598,6 +625,19 @@ SILFunction *SILDeserializer::readSILFunction(DeclID FID,\n   if (fn->empty() && errorIfEmptyBody)\n     return nullptr;\n \n+  // Check that there are no unresolved forward definitions of opened\n+  // archetypes.\n+  for (auto &KV : OpenedArchetypesTracker.getOpenedArchetypeDefs()) {\n+    if (isa<GlobalAddrInst>(KV.getSecond())) {\n+      llvm::dbgs() << \"The following opened archetype is not resolved: \" << KV.getFirst() << \"\\n\";","path":"lib/Serialization/DeserializeSIL.cpp","position":49,"original_position":49,"commit_id":"8690c4ca674c320d7481f2ab1887f49d451beb73","original_commit_id":"8690c4ca674c320d7481f2ab1887f49d451beb73","user":{"login":"swiftix","id":15327066,"avatar_url":"https://avatars.githubusercontent.com/u/15327066?v=3","gravatar_id":"","url":"https://api.github.com/users/swiftix","html_url":"https://github.com/swiftix","followers_url":"https://api.github.com/users/swiftix/followers","following_url":"https://api.github.com/users/swiftix/following{/other_user}","gists_url":"https://api.github.com/users/swiftix/gists{/gist_id}","starred_url":"https://api.github.com/users/swiftix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swiftix/subscriptions","organizations_url":"https://api.github.com/users/swiftix/orgs","repos_url":"https://api.github.com/users/swiftix/repos","events_url":"https://api.github.com/users/swiftix/events{/privacy}","received_events_url":"https://api.github.com/users/swiftix/received_events","type":"User","site_admin":false},"body":"It is actually a debug code that sneaked into a commit. I'll remove it.","created_at":"2016-07-16T18:31:16Z","updated_at":"2016-07-16T18:31:16Z","html_url":"https://github.com/apple/swift/pull/3546#discussion_r71069970","pull_request_url":"https://api.github.com/repos/apple/swift/pulls/3546","_links":{"self":{"href":"https://api.github.com/repos/apple/swift/pulls/comments/71069970"},"html":{"href":"https://github.com/apple/swift/pull/3546#discussion_r71069970"},"pull_request":{"href":"https://api.github.com/repos/apple/swift/pulls/3546"}}},"pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/3546","id":77712561,"html_url":"https://github.com/apple/swift/pull/3546","diff_url":"https://github.com/apple/swift/pull/3546.diff","patch_url":"https://github.com/apple/swift/pull/3546.patch","issue_url":"https://api.github.com/repos/apple/swift/issues/3546","number":3546,"state":"open","locked":false,"title":"[sil-serializer] Do not use RPOT order for serializing SIL basic blocks","user":{"login":"swiftix","id":15327066,"avatar_url":"https://avatars.githubusercontent.com/u/15327066?v=3","gravatar_id":"","url":"https://api.github.com/users/swiftix","html_url":"https://github.com/swiftix","followers_url":"https://api.github.com/users/swiftix/followers","following_url":"https://api.github.com/users/swiftix/following{/other_user}","gists_url":"https://api.github.com/users/swiftix/gists{/gist_id}","starred_url":"https://api.github.com/users/swiftix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swiftix/subscriptions","organizations_url":"https://api.github.com/users/swiftix/orgs","repos_url":"https://api.github.com/users/swiftix/repos","events_url":"https://api.github.com/users/swiftix/events{/privacy}","received_events_url":"https://api.github.com/users/swiftix/received_events","type":"User","site_admin":false},"body":"<!-- Please complete this template before creating the pull request. -->\r\n#### What's in this pull request?\r\n<!-- Description about pull request. -->\r\n\r\n#### Resolved bug number: ([SR-](https://bugs.swift.org/browse/SR-))\r\n<!-- If this pull request resolves any bugs from Swift bug tracker -->\r\n\r\n* * * *\r\n\r\n<!-- This selection should only be completed by Swift admin -->\r\nBefore merging this pull request to apple/swift repository:\r\n- [x] Test pull request on Swift continuous integration.\r\n\r\n<details>\r\n  <summary>Triggering Swift CI</summary>\r\n\r\nThe swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:\r\n\r\n**Smoke Testing**\r\n\r\n        Platform     | Comment\r\n        ------------ | -------------\r\n        All supported platforms     | @swift-ci Please smoke test\r\n        All supported platforms     | @swift-ci Please smoke test and merge\r\n        OS X platform               | @swift-ci Please smoke test OS X platform\r\n        Linux platform              | @swift-ci Please smoke test Linux platform\r\n\r\n**Validation Testing**\r\n\r\n        Platform     | Comment\r\n        ------------ | -------------\r\n        All supported platforms     | @swift-ci Please test\r\n        All supported platforms     | @swift-ci Please test and merge\r\n        OS X platform               | @swift-ci Please test OS X platform\r\n        OS X platform               | @swift-ci Please benchmark\r\n        Linux platform              | @swift-ci Please test Linux platform\r\n\r\n\r\n**Lint Testing**\r\n\r\n        Language     | Comment\r\n        ------------ | -------------\r\n        Python       | @swift-ci Please Python lint\r\n\r\nNote: Only members of the Apple organization can trigger swift-ci.\r\n</details>\r\n<!-- Thank you for your contribution to Swift! -->\r\n\r\nMy earlier patch started serializing SIL basic blocks using the RPOT order. While it works, changing the existing order of BBs during the serialization may be very surprising for users. After all, serialization is not supposed to transform the code.\r\n\r\nTherefore, this patch follows a different approach. It uses the existing order of BBs during the serialization. When it deserializes SIL and detects a use of an opened archetype before its definition, it basically introduced a forward definition of this opened archetype. Later on, when the actual definition of the opened archetype is found, it replaces the forward definition. There is a correctness check at the end of a SIL function deserialization, which verifies that there are no forward definitions of opened archetypes left unresoved.","created_at":"2016-07-16T15:48:28Z","updated_at":"2016-07-16T18:31:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bba753ac1ada83614a15d577c34d34a7fc6adb45","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/apple/swift/pulls/3546/commits","review_comments_url":"https://api.github.com/repos/apple/swift/pulls/3546/comments","review_comment_url":"https://api.github.com/repos/apple/swift/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apple/swift/issues/3546/comments","statuses_url":"https://api.github.com/repos/apple/swift/statuses/8690c4ca674c320d7481f2ab1887f49d451beb73","head":{"label":"swiftix:cse-of-open-existentials","ref":"cse-of-open-existentials","sha":"8690c4ca674c320d7481f2ab1887f49d451beb73","user":{"login":"swiftix","id":15327066,"avatar_url":"https://avatars.githubusercontent.com/u/15327066?v=3","gravatar_id":"","url":"https://api.github.com/users/swiftix","html_url":"https://github.com/swiftix","followers_url":"https://api.github.com/users/swiftix/followers","following_url":"https://api.github.com/users/swiftix/following{/other_user}","gists_url":"https://api.github.com/users/swiftix/gists{/gist_id}","starred_url":"https://api.github.com/users/swiftix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swiftix/subscriptions","organizations_url":"https://api.github.com/users/swiftix/orgs","repos_url":"https://api.github.com/users/swiftix/repos","events_url":"https://api.github.com/users/swiftix/events{/privacy}","received_events_url":"https://api.github.com/users/swiftix/received_events","type":"User","site_admin":false},"repo":{"id":47780480,"name":"swift","full_name":"swiftix/swift","owner":{"login":"swiftix","id":15327066,"avatar_url":"https://avatars.githubusercontent.com/u/15327066?v=3","gravatar_id":"","url":"https://api.github.com/users/swiftix","html_url":"https://github.com/swiftix","followers_url":"https://api.github.com/users/swiftix/followers","following_url":"https://api.github.com/users/swiftix/following{/other_user}","gists_url":"https://api.github.com/users/swiftix/gists{/gist_id}","starred_url":"https://api.github.com/users/swiftix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swiftix/subscriptions","organizations_url":"https://api.github.com/users/swiftix/orgs","repos_url":"https://api.github.com/users/swiftix/repos","events_url":"https://api.github.com/users/swiftix/events{/privacy}","received_events_url":"https://api.github.com/users/swiftix/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/swiftix/swift","description":"The Swift Programming Language","fork":true,"url":"https://api.github.com/repos/swiftix/swift","forks_url":"https://api.github.com/repos/swiftix/swift/forks","keys_url":"https://api.github.com/repos/swiftix/swift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/swiftix/swift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/swiftix/swift/teams","hooks_url":"https://api.github.com/repos/swiftix/swift/hooks","issue_events_url":"https://api.github.com/repos/swiftix/swift/issues/events{/number}","events_url":"https://api.github.com/repos/swiftix/swift/events","assignees_url":"https://api.github.com/repos/swiftix/swift/assignees{/user}","branches_url":"https://api.github.com/repos/swiftix/swift/branches{/branch}","tags_url":"https://api.github.com/repos/swiftix/swift/tags","blobs_url":"https://api.github.com/repos/swiftix/swift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/swiftix/swift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/swiftix/swift/git/refs{/sha}","trees_url":"https://api.github.com/repos/swiftix/swift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/swiftix/swift/statuses/{sha}","languages_url":"https://api.github.com/repos/swiftix/swift/languages","stargazers_url":"https://api.github.com/repos/swiftix/swift/stargazers","contributors_url":"https://api.github.com/repos/swiftix/swift/contributors","subscribers_url":"https://api.github.com/repos/swiftix/swift/subscribers","subscription_url":"https://api.github.com/repos/swiftix/swift/subscription","commits_url":"https://api.github.com/repos/swiftix/swift/commits{/sha}","git_commits_url":"https://api.github.com/repos/swiftix/swift/git/commits{/sha}","comments_url":"https://api.github.com/repos/swiftix/swift/comments{/number}","issue_comment_url":"https://api.github.com/repos/swiftix/swift/issues/comments{/number}","contents_url":"https://api.github.com/repos/swiftix/swift/contents/{+path}","compare_url":"https://api.github.com/repos/swiftix/swift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/swiftix/swift/merges","archive_url":"https://api.github.com/repos/swiftix/swift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/swiftix/swift/downloads","issues_url":"https://api.github.com/repos/swiftix/swift/issues{/number}","pulls_url":"https://api.github.com/repos/swiftix/swift/pulls{/number}","milestones_url":"https://api.github.com/repos/swiftix/swift/milestones{/number}","notifications_url":"https://api.github.com/repos/swiftix/swift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/swiftix/swift/labels{/name}","releases_url":"https://api.github.com/repos/swiftix/swift/releases{/id}","deployments_url":"https://api.github.com/repos/swiftix/swift/deployments","created_at":"2015-12-10T18:41:01Z","updated_at":"2016-02-27T06:09:30Z","pushed_at":"2016-07-16T16:24:20Z","git_url":"git://github.com/swiftix/swift.git","ssh_url":"git@github.com:swiftix/swift.git","clone_url":"https://github.com/swiftix/swift.git","svn_url":"https://github.com/swiftix/swift","homepage":"","size":103067,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apple:master","ref":"master","sha":"840c0d9fd46b9d6b3b3e8e3b95f487756d3ff9ca","user":{"login":"apple","id":10639145,"avatar_url":"https://avatars.githubusercontent.com/u/10639145?v=3","gravatar_id":"","url":"https://api.github.com/users/apple","html_url":"https://github.com/apple","followers_url":"https://api.github.com/users/apple/followers","following_url":"https://api.github.com/users/apple/following{/other_user}","gists_url":"https://api.github.com/users/apple/gists{/gist_id}","starred_url":"https://api.github.com/users/apple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apple/subscriptions","organizations_url":"https://api.github.com/users/apple/orgs","repos_url":"https://api.github.com/users/apple/repos","events_url":"https://api.github.com/users/apple/events{/privacy}","received_events_url":"https://api.github.com/users/apple/received_events","type":"Organization","site_admin":false},"repo":{"id":44838949,"name":"swift","full_name":"apple/swift","owner":{"login":"apple","id":10639145,"avatar_url":"https://avatars.githubusercontent.com/u/10639145?v=3","gravatar_id":"","url":"https://api.github.com/users/apple","html_url":"https://github.com/apple","followers_url":"https://api.github.com/users/apple/followers","following_url":"https://api.github.com/users/apple/following{/other_user}","gists_url":"https://api.github.com/users/apple/gists{/gist_id}","starred_url":"https://api.github.com/users/apple/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apple/subscriptions","organizations_url":"https://api.github.com/users/apple/orgs","repos_url":"https://api.github.com/users/apple/repos","events_url":"https://api.github.com/users/apple/events{/privacy}","received_events_url":"https://api.github.com/users/apple/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apple/swift","description":"The Swift Programming Language","fork":false,"url":"https://api.github.com/repos/apple/swift","forks_url":"https://api.github.com/repos/apple/swift/forks","keys_url":"https://api.github.com/repos/apple/swift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apple/swift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apple/swift/teams","hooks_url":"https://api.github.com/repos/apple/swift/hooks","issue_events_url":"https://api.github.com/repos/apple/swift/issues/events{/number}","events_url":"https://api.github.com/repos/apple/swift/events","assignees_url":"https://api.github.com/repos/apple/swift/assignees{/user}","branches_url":"https://api.github.com/repos/apple/swift/branches{/branch}","tags_url":"https://api.github.com/repos/apple/swift/tags","blobs_url":"https://api.github.com/repos/apple/swift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apple/swift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apple/swift/git/refs{/sha}","trees_url":"https://api.github.com/repos/apple/swift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apple/swift/statuses/{sha}","languages_url":"https://api.github.com/repos/apple/swift/languages","stargazers_url":"https://api.github.com/repos/apple/swift/stargazers","contributors_url":"https://api.github.com/repos/apple/swift/contributors","subscribers_url":"https://api.github.com/repos/apple/swift/subscribers","subscription_url":"https://api.github.com/repos/apple/swift/subscription","commits_url":"https://api.github.com/repos/apple/swift/commits{/sha}","git_commits_url":"https://api.github.com/repos/apple/swift/git/commits{/sha}","comments_url":"https://api.github.com/repos/apple/swift/comments{/number}","issue_comment_url":"https://api.github.com/repos/apple/swift/issues/comments{/number}","contents_url":"https://api.github.com/repos/apple/swift/contents/{+path}","compare_url":"https://api.github.com/repos/apple/swift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apple/swift/merges","archive_url":"https://api.github.com/repos/apple/swift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apple/swift/downloads","issues_url":"https://api.github.com/repos/apple/swift/issues{/number}","pulls_url":"https://api.github.com/repos/apple/swift/pulls{/number}","milestones_url":"https://api.github.com/repos/apple/swift/milestones{/number}","notifications_url":"https://api.github.com/repos/apple/swift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apple/swift/labels{/name}","releases_url":"https://api.github.com/repos/apple/swift/releases{/id}","deployments_url":"https://api.github.com/repos/apple/swift/deployments","created_at":"2015-10-23T21:15:07Z","updated_at":"2016-07-16T18:04:52Z","pushed_at":"2016-07-16T18:27:22Z","git_url":"git://github.com/apple/swift.git","ssh_url":"git@github.com:apple/swift.git","clone_url":"https://github.com/apple/swift.git","svn_url":"https://github.com/apple/swift","homepage":"https://swift.org/","size":161320,"stargazers_count":32366,"watchers_count":32366,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4497,"mirror_url":null,"open_issues_count":92,"forks":4497,"open_issues":92,"watchers":32366,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apple/swift/pulls/3546"},"html":{"href":"https://github.com/apple/swift/pull/3546"},"issue":{"href":"https://api.github.com/repos/apple/swift/issues/3546"},"comments":{"href":"https://api.github.com/repos/apple/swift/issues/3546/comments"},"review_comments":{"href":"https://api.github.com/repos/apple/swift/pulls/3546/comments"},"review_comment":{"href":"https://api.github.com/repos/apple/swift/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apple/swift/pulls/3546/commits"},"statuses":{"href":"https://api.github.com/repos/apple/swift/statuses/8690c4ca674c320d7481f2ab1887f49d451beb73"}}}}
{"actor":{"display_login":"swiftix"}}