-
Notifications
You must be signed in to change notification settings - Fork 537
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
Give overview of MIR dataflow framework #583
Conversation
I will work on this after some form of rust-lang/rust#71006 lands, since that PR requires changing a lot of the terminology used by the dataflow framework, both in the public API and the implementation. |
Ping @ecstatic-morse is there a different PR blocking this now? |
Just blocked on me finding the time, unfortunately. |
Friendly ping @ecstatic-morse :) I know you're busy -- just wanted to make sure this is still on your radar. |
0fb8992
to
72507c4
Compare
This is not as complete as I would like it to be, but it's much better than nothing and has been updated to include the "arbitrary lattice" extension to the dataflow framework. Sorry I didn't complete this in time for @mark-i-m to review it, although I would still welcome their feedback. Maybe @JohnTitor or @jyn514 could take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me!
Fixed the broken link and did some line-editing for clarity. Should be good to go now. |
Sounds good to me, further improvements can go in follow-ups :) Thanks so much for writing this up! |
Resolves #564.
I'm a few PRs away from transitioning all existing dataflow analyses in the compiler to the new framework, which can handle gen-kill problems as well as more general ones. When this is finished, we'll want to have an overview of the new framework in the guide.
This is a rough draft, and most of the links don't work since the module structure will change when the old framework is removed. For now, it exists mostly to prove that I've not forgotten about doing this 😄.