about summary refs log tree commit diff
path: root/src/librustc_data_structures/graph
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-1851/+0
2020-07-03Rollup merge of #73984 - pierwill:pierwill-tarjan, r=jonas-schievinkManish Goregaokar-4/+6
Edit docs for rustc_data_structures::graph::scc - Add newline to provide concise module summary - Add wikipedia link - Italicize O notation
2020-07-03Edit docs for rustc_data_structures::graph::sccpierwill-4/+6
- Add newline to provide concise module summary - Add wikipedia link - Italicize O notation
2020-07-02Standardize bibliographic citations in rustc API docspierwill-5/+6
2020-04-21sccs are computed in dependency orderNiko Matsakis-0/+5
We don't need the `scc_dependency_order` vector, `all_sccs` is already in dependency order.
2020-04-09Use tri-color search for unconditional recursion lintDylan MacKenzie-3/+10
2020-04-05Stop importing int/float modules in librustc_*Linus Färnstrand-1/+0
2020-03-20remove redundant returns (clippy::needless_return)Matthias Krüger-2/+2
2020-03-12remove lifetimes that can be elided (clippy::needless_lifetimes)Matthias Krüger-2/+2
2020-03-06fix various typosMatthias Krüger-1/+1
2019-12-26Convert collapsed to shortcut reference linksMatthew Kraai-5/+5
2019-12-22Format the worldMark Rousskov-222/+107
2019-12-02Undo minor changes that weren't needed, fix one lifetime typoPaul Daniel Faria-0/+1
2019-12-02Account for new maybe_sideeffect helper that requires predecessorsPaul Daniel Faria-34/+3
2019-12-02Move predecessor cache outside of Body, use wrapper types to manage Cache ↵Paul Daniel Faria-11/+42
and Body (WIP, amend this commit)
2019-10-23Rollup merge of #65648 - nnethercote:rm-intersect_opt, r=nikomatsakisMazdak Farrokhzad-21/+6
Eliminate `intersect_opt`. Its fourth argument is always `Some(pred)`, so the pattern matching is unnecessary. This commit inlines and removes it. r? @nikomatsakis
2019-10-21Remove many unnecessary trait derivations.Nicholas Nethercote-2/+2
2019-10-21Eliminate `intersect_opt`.Nicholas Nethercote-21/+6
Its fourth argument is always `Some(pred)`, so the pattern matching is unnecessary. This commit inlines and removes it.
2019-10-01Fix clippy warningsYuki Okushi-2/+2
2019-09-29remove indexed_vec re-export from rustc_data_structurescsmoe-5/+5
2019-09-29remove bit_set re-export from rustc_data_structurescsmoe-2/+2
2019-09-23Add cycle detection for graphsDylan MacKenzie-1/+224
2019-08-02Remove some more `cfg(test)`sVadim Petrochenkov-9/+4
2019-08-02librustc_data_structures: Unconfigure tests during normal buildVadim Petrochenkov-10/+9
2019-07-28Deny `unused_lifetimes` through rustbuildVadim Petrochenkov-0/+2
2019-07-03Add missing lifetime specifierJeremy Stucki-1/+1
2019-07-03Remove needless lifetimesJeremy Stucki-3/+3
2019-07-03Remove needless lifetimesJeremy Stucki-14/+14
2019-07-02more centril nitsNiko Matsakis-1/+1
2019-07-02address nits by mattewjasperNiko Matsakis-2/+1
2019-07-02pacify the mercilous tidyNiko Matsakis-1/+0
long lines, trailing newlines
2019-07-02add a `depth_first_search` helper functionNiko Matsakis-1/+49
2019-07-02introduce a `VecGraph` abstraction that cheaply stores graphsNiko Matsakis-1/+184
This is perhaps better than the linked list approach I was using before. Lower memory overhead, Theta(N+E) storage. Does require a sort. =)
2019-07-02implement the graph traits for SCCNiko Matsakis-1/+26
2019-04-09Kill dead code dominator code.Edd Barrett-47/+0
2019-02-10rustc: doc commentsAlexander Regueiro-3/+3
2019-02-09librustc_data_structures => 2018Taiki Endo-26/+22
2018-12-25Remove licensesMark Rousskov-110/+0
2018-11-13fix various typos in doc commentsAndy Russell-1/+1
2018-09-18Merge indexed_set.rs into bitvec.rs, and rename it bit_set.rs.Nicholas Nethercote-4/+4
Currently we have two files implementing bitsets (and 2D bit matrices). This commit combines them into one, taking the best features from each. This involves renaming a lot of things. The high level changes are as follows. - bitvec.rs --> bit_set.rs - indexed_set.rs --> (removed) - BitArray + IdxSet --> BitSet (merged, see below) - BitVector --> GrowableBitSet - {,Sparse,Hybrid}IdxSet --> {,Sparse,Hybrid}BitSet - BitMatrix --> BitMatrix - SparseBitMatrix --> SparseBitMatrix The changes within the bitset types themselves are as follows. ``` OLD OLD NEW BitArray<C> IdxSet<T> BitSet<T> -------- ------ ------ grow - grow new - (remove) new_empty new_empty new_empty new_filled new_filled new_filled - to_hybrid to_hybrid clear clear clear set_up_to set_up_to set_up_to clear_above - clear_above count - count contains(T) contains(&T) contains(T) contains_all - superset is_empty - is_empty insert(T) add(&T) insert(T) insert_all - insert_all() remove(T) remove(&T) remove(T) words words words words_mut words_mut words_mut - overwrite overwrite merge union union - subtract subtract - intersect intersect iter iter iter ``` In general, when choosing names I went with: - names that are more obvious (e.g. `BitSet` over `IdxSet`). - names that are more like the Rust libraries (e.g. `T` over `C`, `insert` over `add`); - names that are more set-like (e.g. `union` over `merge`, `superset` over `contains_all`, `domain_size` over `num_bits`). Also, using `T` for index arguments seems more sensible than `&T` -- even though the latter is standard in Rust collection types -- because indices are always copyable. It also results in fewer `&` and `*` sigils in practice.
2018-08-28Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc.Eduard-Mihai Burtescu-5/+5
2018-08-27micro-optimize dominator codeNiko Matsakis-2/+2
2018-08-18Use the new Entry::or_default method where possible.Eduard-Mihai Burtescu-4/+4
2018-08-09A few cleanups for rustc_data_structuresljedrz-5/+6
2018-08-01Split out growth functionality into BitVector typeMark Rousskov-4/+4
2018-07-25parameterize `BitVector` and `BitMatrix` by their index typesNiko Matsakis-1/+1
2018-07-13nit: fix `all_sccs` commentNiko Matsakis-1/+1
2018-07-13nit: tweak comment orderNiko Matsakis-21/+23
2018-07-13nit: improve SCC commentsNiko Matsakis-4/+19
2018-07-13nit: clarify "keep it around" commentNiko Matsakis-2/+2