Skip to content

Reinstate while loop in deaggregator pass #38265

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 12, 2016

Conversation

bluss
Copy link
Member

@bluss bluss commented Dec 9, 2016

A previous commit must have removed the while let loop here by
mistake; for each basic block, it should find and deaggregate multiple
statements in their index order, and the curr index tracks the
progress through the block.

This fixes both the case of deaggregating statements in separate
basic blocks (preserving curr could prevent that) as well
as multiple times in the same block (missing loop prevented that).

The loop was lost in commit bda46c2.

@rust-highfive
Copy link
Contributor

r? @nrc

(rust_highfive has picked a reviewer for you, use r? to override)

@bluss
Copy link
Member Author

bluss commented Dec 9, 2016

The diff is very small when ignoring whitespace: https://github.com/rust-lang/rust/pull/38265/files?w=1

cc @scottcarr as previous author of the pass.

@bluss
Copy link
Member Author

bluss commented Dec 9, 2016

Note: This is just fixing logic errors for a pass that is (so far) disabled by default. This was like the first step to be able to work on other things close to this pass.

@nagisa
Copy link
Member

nagisa commented Dec 9, 2016

This looks correct to me. r+.

@bluss
Copy link
Member Author

bluss commented Dec 9, 2016

@bors r=nagisa

@bors
Copy link
Collaborator

bors commented Dec 9, 2016

📌 Commit e3526af has been approved by nagisa

A previous commit must have removed the `while let` loop here by
mistake; for each basic block, it should find and deaggregate multiple
statements in their index order, and the `curr` index tracks the
progress through the block.

This fixes both the case of deaggregating statements in separate
basic blocks (preserving `curr` could prevent that) as well
as multiple times in the same block (missing loop prevented that).
@bluss bluss force-pushed the mir-deaggregator-loop branch from e3526af to fbc3f11 Compare December 9, 2016 17:16
@bluss
Copy link
Member Author

bluss commented Dec 9, 2016

Amended to fix a tidy failure (line longer than 100)

@bluss
Copy link
Member Author

bluss commented Dec 9, 2016

@bors r=nagisa

@bors
Copy link
Collaborator

bors commented Dec 9, 2016

📌 Commit fbc3f11 has been approved by nagisa

@bors
Copy link
Collaborator

bors commented Dec 11, 2016

⌛ Testing commit fbc3f11 with merge 8f66e55...

@bors
Copy link
Collaborator

bors commented Dec 11, 2016

💔 Test failed - auto-linux-32-opt

@bluss
Copy link
Member Author

bluss commented Dec 11, 2016

@bors retry

That was spurious failure issue #36238

@bors
Copy link
Collaborator

bors commented Dec 11, 2016

⌛ Testing commit fbc3f11 with merge 3db197a...

bors added a commit that referenced this pull request Dec 11, 2016
Reinstate while loop in deaggregator pass

A previous commit must have removed the `while let` loop here by
mistake; for each basic block, it should find and deaggregate multiple
statements in their index order, and the `curr` index tracks the
progress through the block.

This fixes both the case of deaggregating statements in separate
basic blocks (preserving `curr` could prevent that) as well
as multiple times in the same block (missing loop prevented that).

The loop was lost in commit bda46c2.
@bors bors merged commit fbc3f11 into rust-lang:master Dec 12, 2016
@bluss bluss deleted the mir-deaggregator-loop branch December 12, 2016 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants