{"action":"opened","number":532,"pull_request":{"url":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532","id":108043578,"html_url":"https://github.com/ucb-bar/chisel3/pull/532","diff_url":"https://github.com/ucb-bar/chisel3/pull/532.diff","patch_url":"https://github.com/ucb-bar/chisel3/pull/532.patch","issue_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/532","number":532,"state":"open","locked":false,"title":"For transforms that require order, allow setting order via firrtl execution options","user":{"login":"shunshou","id":6607638,"avatar_url":"https://avatars.githubusercontent.com/u/6607638?v=3","gravatar_id":"","url":"https://api.github.com/users/shunshou","html_url":"https://github.com/shunshou","followers_url":"https://api.github.com/users/shunshou/followers","following_url":"https://api.github.com/users/shunshou/following{/other_user}","gists_url":"https://api.github.com/users/shunshou/gists{/gist_id}","starred_url":"https://api.github.com/users/shunshou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shunshou/subscriptions","organizations_url":"https://api.github.com/users/shunshou/orgs","repos_url":"https://api.github.com/users/shunshou/repos","events_url":"https://api.github.com/users/shunshou/events{/privacy}","received_events_url":"https://api.github.com/users/shunshou/received_events","type":"User","site_admin":false},"body":"So it looks like transforms are added to the transform list via circuit annotations here. The problem is, the original method didn't allow you flexibility as to how the transforms were ordered (beside being high, middle, low form). I changed the code so that you can specify a list of ordered transforms (via firrtlOptions.customTransforms). If I do a distinct, since customTransforms occurs before the annotation-derived transforms, the order specified by customTransforms should be used. \r\n\r\nI'm not 100% sure this works, b/c for whatever reason, BlackBoxSourceHelpers seems to still be run twice... (Maybe it's injected into the transform list elsewhere???)\r\n\r\nThis is getting to be somewhat urgent.\r\n\r\n```\r\nFinished ***LowFirrtlOptimization***\r\n***LowFirrtlOptimization*** took 2.9 ms\r\n\r\nStarting ***BlackBoxSourceHelper***\r\nFinished ***BlackBoxSourceHelper***\r\n***BlackBoxSourceHelper*** took 0.4 ms\r\n\r\nStarting ***AddIOPadsTransform***\r\nStarting Legalize\r\nFinished Legalize\r\nLegalize took 0.2 ms\r\n\r\nStarting Resolve Genders\r\nFinished Resolve Genders\r\nResolve Genders took 0.2 ms\r\n\r\nStarting Infer Types\r\nFinished Infer Types\r\nInfer Types took 1.0 ms\r\n\r\nStarting Add Padframe\r\nFinished Add Padframe\r\nAdd Padframe took 1.1 ms\r\n\r\nStarting Remove Empty Statements\r\nFinished Remove Empty Statements\r\nRemove Empty Statements took 0.1 ms\r\n\r\nStarting Check Initialization\r\nFinished Check Initialization\r\nCheck Initialization took 0.4 ms\r\n\r\nStarting Infer Types\r\nFinished Infer Types\r\nInfer Types took 1.9 ms\r\n\r\nStarting Uniquify Identifiers\r\nFinished Uniquify Identifiers\r\nUniquify Identifiers took 2.5 ms\r\n\r\nStarting Resolve Kinds\r\nFinished Resolve Kinds\r\nResolve Kinds took 0.9 ms\r\n\r\nStarting Resolve Genders\r\nFinished Resolve Genders\r\nResolve Genders took 0.6 ms\r\n\r\nFinished ***AddIOPadsTransform***\r\n***AddIOPadsTransform*** took 60.5 ms\r\n\r\nStarting ***BlackBoxSourceHelper***\r\nFinished ***BlackBoxSourceHelper***\r\n***BlackBoxSourceHelper*** took 1.3 ms\r\n\r\nStarting Add temporary nodes with verilog widths for modulus\r\nFinished Add temporary nodes with verilog widths for modulus\r\nAdd temporary nodes with verilog widths for modulus took 0.3 ms\r\n\r\nStarting Verilog Wrap\r\nFinished Verilog Wrap\r\nVerilog Wrap took 0.5 ms\r\n\r\nStarting Verilog Rename\r\nFinished Verilog Rename\r\nVerilog Rename took 1.0 ms\r\n\r\nStarting Verilog Prep\r\nFinished Verilog Prep\r\nVerilog Prep took 1.9 ms\r\n```","created_at":"2017-02-27T04:02:41Z","updated_at":"2017-02-27T04:02:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532/commits","review_comments_url":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532/comments","review_comment_url":"https://api.github.com/repos/ucb-bar/chisel3/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/532/comments","statuses_url":"https://api.github.com/repos/ucb-bar/chisel3/statuses/834e78462d7cf6d2f71a24ce5ef22224edab0c3e","head":{"label":"ucb-bar:fix_transform_order","ref":"fix_transform_order","sha":"834e78462d7cf6d2f71a24ce5ef22224edab0c3e","user":{"login":"ucb-bar","id":998197,"avatar_url":"https://avatars.githubusercontent.com/u/998197?v=3","gravatar_id":"","url":"https://api.github.com/users/ucb-bar","html_url":"https://github.com/ucb-bar","followers_url":"https://api.github.com/users/ucb-bar/followers","following_url":"https://api.github.com/users/ucb-bar/following{/other_user}","gists_url":"https://api.github.com/users/ucb-bar/gists{/gist_id}","starred_url":"https://api.github.com/users/ucb-bar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ucb-bar/subscriptions","organizations_url":"https://api.github.com/users/ucb-bar/orgs","repos_url":"https://api.github.com/users/ucb-bar/repos","events_url":"https://api.github.com/users/ucb-bar/events{/privacy}","received_events_url":"https://api.github.com/users/ucb-bar/received_events","type":"Organization","site_admin":false},"repo":{"id":34695562,"name":"chisel3","full_name":"ucb-bar/chisel3","owner":{"login":"ucb-bar","id":998197,"avatar_url":"https://avatars.githubusercontent.com/u/998197?v=3","gravatar_id":"","url":"https://api.github.com/users/ucb-bar","html_url":"https://github.com/ucb-bar","followers_url":"https://api.github.com/users/ucb-bar/followers","following_url":"https://api.github.com/users/ucb-bar/following{/other_user}","gists_url":"https://api.github.com/users/ucb-bar/gists{/gist_id}","starred_url":"https://api.github.com/users/ucb-bar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ucb-bar/subscriptions","organizations_url":"https://api.github.com/users/ucb-bar/orgs","repos_url":"https://api.github.com/users/ucb-bar/repos","events_url":"https://api.github.com/users/ucb-bar/events{/privacy}","received_events_url":"https://api.github.com/users/ucb-bar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ucb-bar/chisel3","description":"Chisel 3","fork":false,"url":"https://api.github.com/repos/ucb-bar/chisel3","forks_url":"https://api.github.com/repos/ucb-bar/chisel3/forks","keys_url":"https://api.github.com/repos/ucb-bar/chisel3/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ucb-bar/chisel3/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ucb-bar/chisel3/teams","hooks_url":"https://api.github.com/repos/ucb-bar/chisel3/hooks","issue_events_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/events{/number}","events_url":"https://api.github.com/repos/ucb-bar/chisel3/events","assignees_url":"https://api.github.com/repos/ucb-bar/chisel3/assignees{/user}","branches_url":"https://api.github.com/repos/ucb-bar/chisel3/branches{/branch}","tags_url":"https://api.github.com/repos/ucb-bar/chisel3/tags","blobs_url":"https://api.github.com/repos/ucb-bar/chisel3/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ucb-bar/chisel3/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ucb-bar/chisel3/git/refs{/sha}","trees_url":"https://api.github.com/repos/ucb-bar/chisel3/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ucb-bar/chisel3/statuses/{sha}","languages_url":"https://api.github.com/repos/ucb-bar/chisel3/languages","stargazers_url":"https://api.github.com/repos/ucb-bar/chisel3/stargazers","contributors_url":"https://api.github.com/repos/ucb-bar/chisel3/contributors","subscribers_url":"https://api.github.com/repos/ucb-bar/chisel3/subscribers","subscription_url":"https://api.github.com/repos/ucb-bar/chisel3/subscription","commits_url":"https://api.github.com/repos/ucb-bar/chisel3/commits{/sha}","git_commits_url":"https://api.github.com/repos/ucb-bar/chisel3/git/commits{/sha}","comments_url":"https://api.github.com/repos/ucb-bar/chisel3/comments{/number}","issue_comment_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/comments{/number}","contents_url":"https://api.github.com/repos/ucb-bar/chisel3/contents/{+path}","compare_url":"https://api.github.com/repos/ucb-bar/chisel3/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ucb-bar/chisel3/merges","archive_url":"https://api.github.com/repos/ucb-bar/chisel3/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ucb-bar/chisel3/downloads","issues_url":"https://api.github.com/repos/ucb-bar/chisel3/issues{/number}","pulls_url":"https://api.github.com/repos/ucb-bar/chisel3/pulls{/number}","milestones_url":"https://api.github.com/repos/ucb-bar/chisel3/milestones{/number}","notifications_url":"https://api.github.com/repos/ucb-bar/chisel3/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ucb-bar/chisel3/labels{/name}","releases_url":"https://api.github.com/repos/ucb-bar/chisel3/releases{/id}","deployments_url":"https://api.github.com/repos/ucb-bar/chisel3/deployments","created_at":"2015-04-27T22:55:56Z","updated_at":"2017-02-24T03:51:17Z","pushed_at":"2017-02-27T03:55:41Z","git_url":"git://github.com/ucb-bar/chisel3.git","ssh_url":"git@github.com:ucb-bar/chisel3.git","clone_url":"https://github.com/ucb-bar/chisel3.git","svn_url":"https://github.com/ucb-bar/chisel3","homepage":"https://chisel.eecs.berkeley.edu/","size":1808,"stargazers_count":76,"watchers_count":76,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":37,"mirror_url":null,"open_issues_count":69,"forks":37,"open_issues":69,"watchers":76,"default_branch":"master"}},"base":{"label":"ucb-bar:master","ref":"master","sha":"d7d658d856f47e0b82ad99120631536f7652bf09","user":{"login":"ucb-bar","id":998197,"avatar_url":"https://avatars.githubusercontent.com/u/998197?v=3","gravatar_id":"","url":"https://api.github.com/users/ucb-bar","html_url":"https://github.com/ucb-bar","followers_url":"https://api.github.com/users/ucb-bar/followers","following_url":"https://api.github.com/users/ucb-bar/following{/other_user}","gists_url":"https://api.github.com/users/ucb-bar/gists{/gist_id}","starred_url":"https://api.github.com/users/ucb-bar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ucb-bar/subscriptions","organizations_url":"https://api.github.com/users/ucb-bar/orgs","repos_url":"https://api.github.com/users/ucb-bar/repos","events_url":"https://api.github.com/users/ucb-bar/events{/privacy}","received_events_url":"https://api.github.com/users/ucb-bar/received_events","type":"Organization","site_admin":false},"repo":{"id":34695562,"name":"chisel3","full_name":"ucb-bar/chisel3","owner":{"login":"ucb-bar","id":998197,"avatar_url":"https://avatars.githubusercontent.com/u/998197?v=3","gravatar_id":"","url":"https://api.github.com/users/ucb-bar","html_url":"https://github.com/ucb-bar","followers_url":"https://api.github.com/users/ucb-bar/followers","following_url":"https://api.github.com/users/ucb-bar/following{/other_user}","gists_url":"https://api.github.com/users/ucb-bar/gists{/gist_id}","starred_url":"https://api.github.com/users/ucb-bar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ucb-bar/subscriptions","organizations_url":"https://api.github.com/users/ucb-bar/orgs","repos_url":"https://api.github.com/users/ucb-bar/repos","events_url":"https://api.github.com/users/ucb-bar/events{/privacy}","received_events_url":"https://api.github.com/users/ucb-bar/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ucb-bar/chisel3","description":"Chisel 3","fork":false,"url":"https://api.github.com/repos/ucb-bar/chisel3","forks_url":"https://api.github.com/repos/ucb-bar/chisel3/forks","keys_url":"https://api.github.com/repos/ucb-bar/chisel3/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ucb-bar/chisel3/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ucb-bar/chisel3/teams","hooks_url":"https://api.github.com/repos/ucb-bar/chisel3/hooks","issue_events_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/events{/number}","events_url":"https://api.github.com/repos/ucb-bar/chisel3/events","assignees_url":"https://api.github.com/repos/ucb-bar/chisel3/assignees{/user}","branches_url":"https://api.github.com/repos/ucb-bar/chisel3/branches{/branch}","tags_url":"https://api.github.com/repos/ucb-bar/chisel3/tags","blobs_url":"https://api.github.com/repos/ucb-bar/chisel3/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ucb-bar/chisel3/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ucb-bar/chisel3/git/refs{/sha}","trees_url":"https://api.github.com/repos/ucb-bar/chisel3/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ucb-bar/chisel3/statuses/{sha}","languages_url":"https://api.github.com/repos/ucb-bar/chisel3/languages","stargazers_url":"https://api.github.com/repos/ucb-bar/chisel3/stargazers","contributors_url":"https://api.github.com/repos/ucb-bar/chisel3/contributors","subscribers_url":"https://api.github.com/repos/ucb-bar/chisel3/subscribers","subscription_url":"https://api.github.com/repos/ucb-bar/chisel3/subscription","commits_url":"https://api.github.com/repos/ucb-bar/chisel3/commits{/sha}","git_commits_url":"https://api.github.com/repos/ucb-bar/chisel3/git/commits{/sha}","comments_url":"https://api.github.com/repos/ucb-bar/chisel3/comments{/number}","issue_comment_url":"https://api.github.com/repos/ucb-bar/chisel3/issues/comments{/number}","contents_url":"https://api.github.com/repos/ucb-bar/chisel3/contents/{+path}","compare_url":"https://api.github.com/repos/ucb-bar/chisel3/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ucb-bar/chisel3/merges","archive_url":"https://api.github.com/repos/ucb-bar/chisel3/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ucb-bar/chisel3/downloads","issues_url":"https://api.github.com/repos/ucb-bar/chisel3/issues{/number}","pulls_url":"https://api.github.com/repos/ucb-bar/chisel3/pulls{/number}","milestones_url":"https://api.github.com/repos/ucb-bar/chisel3/milestones{/number}","notifications_url":"https://api.github.com/repos/ucb-bar/chisel3/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ucb-bar/chisel3/labels{/name}","releases_url":"https://api.github.com/repos/ucb-bar/chisel3/releases{/id}","deployments_url":"https://api.github.com/repos/ucb-bar/chisel3/deployments","created_at":"2015-04-27T22:55:56Z","updated_at":"2017-02-24T03:51:17Z","pushed_at":"2017-02-27T03:55:41Z","git_url":"git://github.com/ucb-bar/chisel3.git","ssh_url":"git@github.com:ucb-bar/chisel3.git","clone_url":"https://github.com/ucb-bar/chisel3.git","svn_url":"https://github.com/ucb-bar/chisel3","homepage":"https://chisel.eecs.berkeley.edu/","size":1808,"stargazers_count":76,"watchers_count":76,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":37,"mirror_url":null,"open_issues_count":69,"forks":37,"open_issues":69,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532"},"html":{"href":"https://github.com/ucb-bar/chisel3/pull/532"},"issue":{"href":"https://api.github.com/repos/ucb-bar/chisel3/issues/532"},"comments":{"href":"https://api.github.com/repos/ucb-bar/chisel3/issues/532/comments"},"review_comments":{"href":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532/comments"},"review_comment":{"href":"https://api.github.com/repos/ucb-bar/chisel3/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ucb-bar/chisel3/pulls/532/commits"},"statuses":{"href":"https://api.github.com/repos/ucb-bar/chisel3/statuses/834e78462d7cf6d2f71a24ce5ef22224edab0c3e"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":5,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"shunshou"}}