Skip to content

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Aug 7, 2017

We used to propagate bits in node-id order, which sometimes caused an
excessive number of iterations, especially when macros were present. As
everyone knows, visiting the CFG in RPO bounds the number of iterators
by 1 plus the depth of the most deeply nested loop (times the height of
the lattice, which is 1).

I have no idea how this affects borrowck perf in the non-worst-case, so it's probably a good idea to not roll this up so we can see the effects.

Fixes #43704.

r? @eddyb

We used to propagate bits in node-id order, which sometimes caused an
excessive number of iterations, especially when macros were present. As
everyone knows, visiting the CFG in RPO bounds the number of iterators
by 1 plus the depth of the most deeply nested loop (times the height of
the lattice, which is 1).

Fixes rust-lang#43704.
@eddyb
Copy link
Member

eddyb commented Aug 7, 2017

@bors r+

@bors
Copy link
Collaborator

bors commented Aug 7, 2017

📌 Commit 4e3a0b6 has been approved by eddyb

@bors
Copy link
Collaborator

bors commented Aug 7, 2017

⌛ Testing commit 4e3a0b6 with merge 2bb6d3d...

bors added a commit that referenced this pull request Aug 7, 2017
rustc::middle::dataflow - visit the CFG in RPO

We used to propagate bits in node-id order, which sometimes caused an
excessive number of iterations, especially when macros were present. As
everyone knows, visiting the CFG in RPO bounds the number of iterators
by 1 plus the depth of the most deeply nested loop (times the height of
the lattice, which is 1).

I have no idea how this affects borrowck perf in the non-worst-case, so it's probably a good idea to not roll this up so we can see the effects.

Fixes #43704.

r? @eddyb
@bors
Copy link
Collaborator

bors commented Aug 7, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: eddyb
Pushing 2bb6d3d to master...

@bors bors merged commit 4e3a0b6 into rust-lang:master Aug 7, 2017
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.

3 participants