| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2020-04-21 | sccs are computed in dependency order | Niko Matsakis | -0/+5 | |
| We don't need the `scc_dependency_order` vector, `all_sccs` is already in dependency order. | ||||
| 2020-03-12 | remove lifetimes that can be elided (clippy::needless_lifetimes) | Matthias Krüger | -1/+1 | |
| 2019-12-22 | Format the world | Mark Rousskov | -99/+49 | |
| 2019-09-29 | remove indexed_vec re-export from rustc_data_structures | csmoe | -1/+1 | |
| 2019-08-02 | librustc_data_structures: Unconfigure tests during normal build | Vadim Petrochenkov | -4/+3 | |
| 2019-07-02 | introduce a `VecGraph` abstraction that cheaply stores graphs | Niko Matsakis | -1/+20 | |
| 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-02 | implement the graph traits for SCC | Niko Matsakis | -1/+26 | |
| 2019-02-10 | rustc: doc comments | Alexander Regueiro | -1/+1 | |
| 2019-02-09 | librustc_data_structures => 2018 | Taiki Endo | -5/+5 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -20/+0 | |
| 2018-11-13 | fix various typos in doc comments | Andy Russell | -1/+1 | |
| 2018-07-13 | nit: fix `all_sccs` comment | Niko Matsakis | -1/+1 | |
| 2018-07-13 | nit: tweak comment order | Niko Matsakis | -21/+23 | |
| 2018-07-13 | nit: improve SCC comments | Niko Matsakis | -4/+19 | |
| 2018-07-13 | nit: clarify "keep it around" comment | Niko Matsakis | -2/+2 | |
| 2018-07-13 | nit: s/successor/successors/ | Niko Matsakis | -2/+2 | |
| 2018-07-13 | compute region values using SCCs not iterative flow | Niko Matsakis | -0/+5 | |
| The strategy is this: - we compute SCCs once all outlives constraints are known - we allocate a set of values **per region** for storing liveness - we allocate a set of values **per SCC** for storing the final values - when we add a liveness constraint to the region R, we also add it to the final value of the SCC to which R belongs - then we can apply the constraints by just walking the DAG for the SCCs and union'ing the children (which have their liveness constraints within) There are a few intermediate refactorings that I really ought to have broken out into their own commits: - reverse the constraint graph so that `R1: R2` means `R1 -> R2` and not `R2 -> R1`. This fits better with the SCC computation and new style of inference (`->` now means "take value from" and not "push value into") - this does affect some of the UI tests, since they traverse the graph, but mostly the artificial ones and they don't necessarily seem worse - put some things (constraint set, etc) into `Rc`. This lets us root them to permit mutation and iteration. It also guarantees they don't change, which is critical to the correctness of the algorithm. - Generalize various helpers that previously operated only on points to work on any sort of region element. | ||||
| 2018-07-12 | introduce a generic SCC computation | Niko Matsakis | -0/+519 | |
