-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Fixes to mir dataflow #33667
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
+2,464
−837
Merged
Fixes to mir dataflow #33667
Changes from 15 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
cd81b60
fix bug in `debug!` output from `rustc::middle::dataflow`
pnkfelix bfe789c
fixes to `librustc_borrowck::bitslice::bits_to_string`, used for grap…
pnkfelix 306ca4c
`rustc_mir::pretty`: factor out scope entry/exit annotation computation.
pnkfelix 90b7a86
`rustc_mir::pretty` refactoring: break `fn write_fn_intro` into two r…
pnkfelix 4446e79
Expose pretty print routines that accept just `mir` (no need for a `N…
pnkfelix 129b371
One-line doc clarification for representation of unit type `()`.
pnkfelix b4972b0
Add helper method for getting the dataflow results at exit from a bas…
pnkfelix 79ab855
Remove `&self` parameter from `DataflowOperator::initial_value`.
pnkfelix d03b341
Unit struct defns for 3 dataflow analyses for `borrowck::mir::dataflow`.
pnkfelix 6c72c5f
`borrowck::mir::gather_moves`: create MovePaths for lvalues even if u…
pnkfelix c73f351
Revised mir-dataflow.
pnkfelix 3bb5984
Adding magic `rustc_peek` intrinsic that other code can repurpose to
pnkfelix 5839e6b
Add ability to unit-test dataflow results via `rustc_peek` intrinsic.
pnkfelix 8956789
Little unit tests for MIR dataflow analysis.
pnkfelix ee44f7e
`DefinitelyInitializedLvals` dataflow op (goal: move away from `Maybe…
pnkfelix cd71b0d
core::intrinsics: fix typo noted during review.
pnkfelix b0b1f4d
Fix comments in `mir::dataflow::sanity_check`.
pnkfelix 90a6526
Escape asterix in markdown file to side-step it being interpreted as …
pnkfelix 8999e87
`mir::dataflow::sanity_check`: removed hackish `tmp = val` propagatio…
pnkfelix 582f060
markdown fix suggested during review.
pnkfelix aaad8a2
`mir::dataflow::sanity_check`: Factor out `fn is_rustc_peek` helper r…
pnkfelix 9fcbe2a
fix comment in `impl DataflowOperator for MaybeUninitializedLvals`.
pnkfelix 011c37d
`borrowck::mir`: alpha-renamed DropFlagState variant names.
pnkfelix 9c468f4
Added comment pointing out somewhat subtle initialization in `fn star…
pnkfelix a7e3204
`mir::dataflow` arielb1 review feedback
pnkfelix 5811950
Review feedback.
pnkfelix 59008cb
review feedback: fix some index-mismatch bugs pointed out by arielb1.
pnkfelix f18bafd
Refactor `bitslice`: distinguish `usize` for indexing vs word type be…
pnkfelix 0796ee7
add `indexed_set` mod for typed wrappers around bitarrays representin…
pnkfelix 71af40b
revised mir-dataflow so bitvectors carry a phantom type for their ind…
pnkfelix c48650d
bug fix to `borrowck::indexed_set`: wanted bit-count not byte-count.
pnkfelix b8c6d1c
Fix comment within sanity_check.
pnkfelix ede2958
`mir::dataflow::sanity_check`: extract an `fn each_block` to simplify…
pnkfelix ae09c5e
Moved the four impls of `BitDenotation` to their own module, `mod imp…
pnkfelix 221cce9
move the `tcx` and `mir` parts of associated `Ctxt` onto each `BitDen…
pnkfelix 0cf5f10
Replaced use of `interpret` method in `mir::dataflow::graphviz` with …
pnkfelix fdf80bc
Removed `type Bit` and `fn interpret` items from `trait BitDenotation`.
pnkfelix ad1294d
threaded a `ty::ParameterEnvironment` for the current node id via the…
pnkfelix a82676e
placate tidy in `mir::dataflow::graphviz`.
pnkfelix ac6ea44
placate tidy in `mir::dataflow`.
pnkfelix fe49b41
placate tidy in `mir::gather_moves`.
pnkfelix 4412c7a
placate tidy in compile-fail test.
pnkfelix d9680f5
Fix some comments.
pnkfelix 25f37fd
Add notes that data-structures should potentially move to different c…
pnkfelix 58f1a49
remove unnecessary use of `indexed_set::Indexed` trait.
pnkfelix a28771c
remove `indexed_set::Indexed` trait.
pnkfelix ad0e6ad
fixes to `indexed_set`: add comments and fix `PhantomData` def'n.
pnkfelix df5c116
Alpha rename `OwnIdxSet` to `IdxSetBuf`.
pnkfelix File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Typo: oeek.