| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-05-08 | Remove `extern crate tracing`. | Nicholas Nethercote | -0/+3 | |
| `use` is a nicer way of doing things. | ||||
| 2024-04-18 | Add tests for predecessor-aware `VecGraph` mode | Maybe Waffle | -0/+33 | |
| 2024-04-15 | Add `graph::depth_first_search_as_undirected` | Maybe Waffle | -0/+26 | |
| 2024-04-15 | Make `graph::DepthFirstSearch` accept `G` by value | Maybe Waffle | -13/+13 | |
| It's required for the next commit. Note that you can still have `G = &H`, since there are implementations of all the graph traits for references. | ||||
| 2024-04-15 | Add an opt-in to store incoming edges in `VecGraph` + some docs | Maybe Waffle | -56/+192 | |
| 2024-04-15 | Rollup merge of #123934 - WaffleLapkin:graph-mini-refactor, r=fmease | 许杰友 Jieyou Xu (Joe) | -126/+59 | |
| `rustc_data_structures::graph` mini refactor Who doesn't love to breathe dust from the ancient times? | ||||
| 2024-04-15 | Use RPITIT for `Successors` and `Predecessors` traits | Maybe Waffle | -30/+8 | |
| Now with RPITIT instead of GAT! | ||||
| 2024-04-14 | Make `depth_first_search` into a standalone function | Maybe Waffle | -5/+10 | |
| Does not necessarily change much, but we never overwrite it, so I see no reason for it to be in the `Successors` trait. (+we already have a similar `is_cyclic`) | ||||
| 2024-04-14 | Document `ControlFlowGraph` | Maybe Waffle | -4/+2 | |
| 2024-04-14 | Rename `WithNumEdges` => `NumEdges` and `WithStartNode` => `StartNode` | Maybe Waffle | -16/+16 | |
| 2024-04-14 | Merge `{With,Graph}{Successors,Predecessors}` into `{Successors,Predecessors}` | Maybe Waffle | -88/+53 | |
| Now with GAT! | ||||
| 2024-04-14 | Merge `WithNumNodes` into DirectedGraph | Maybe Waffle | -40/+27 | |
| 2024-04-03 | rustc_index: Add a `ZERO` constant to index types | Vadim Petrochenkov | -4/+4 | |
| It is commonly used. | ||||
| 2023-12-31 | Inline dominator check. | Camille GILLOT | -0/+1 | |
| 2023-12-10 | remove redundant imports | surechen | -1/+0 | |
| detects redundant imports that can be eliminated. for #117772 : In order to facilitate review and modification, split the checking code and removing redundant imports code into two PR. | ||||
| 2023-11-28 | Avoid an unnecessary `by_ref`. | Nicholas Nethercote | -1/+1 | |
| 2023-11-22 | Replace `no_ord_impl` with `orderable`. | Nicholas Nethercote | -0/+1 | |
| Similar to the previous commit, this replaces `newtype_index`'s opt-out `no_ord_impl` attribute with the opt-in `orderable` attribute. | ||||
| 2023-10-10 | Remove unused dominator iterator | Tomasz Miąsko | -26/+1 | |
| 2023-10-05 | Optimize dominators for small path graphs | Tomasz Miąsko | -10/+65 | |
| Generalizes the small dominators approach from #107449. | ||||
| 2023-10-05 | Remove redundant Dominators::start_node field | Tomasz Miąsko | -3/+2 | |
| 2023-10-05 | Test immediate dominators using public API | Tomasz Miąsko | -24/+21 | |
| 2023-09-18 | coverage: Simplify sorting of coverage spans extracted from MIR | Zalathar | -3/+3 | |
| Switching to `Ordering::then_with` makes control-flow less complicated, and there is no need to use `partial_cmp` here. | ||||
| 2023-08-28 | don't use SnapshotVec in Graph implementation, as it looks unused; use Vec ↵ | klensy | -19/+4 | |
| instead | ||||
| 2023-07-12 | Re-format let-else per rustfmt update | Mark Rousskov | -3/+1 | |
| 2023-05-24 | Auto merge of #111673 - cjgillot:dominator-preprocess, r=cjgillot,tmiasko | bors | -10/+85 | |
| Preprocess and cache dominator tree Preprocessing dominators has a very strong effect for https://github.com/rust-lang/rust/pull/111344. That pass checks that assignments dominate their uses repeatedly. Using the unprocessed dominator tree caused a quadratic runtime (number of bbs x depth of the dominator tree). This PR also caches the dominator tree and the pre-processed dominators in the MIR cfg cache. Rebase of https://github.com/rust-lang/rust/pull/107157 cc `@tmiasko` | ||||
| 2023-05-18 | Revert spurious changes. | Camille GILLOT | -9/+9 | |
| 2023-05-17 | Merge DominatorTree and Dominators. | Camille GILLOT | -36/+30 | |
| 2023-05-17 | Typo. | Camille GILLOT | -1/+1 | |
| 2023-05-17 | Remove outdated comment. | Camille GILLOT | -2/+0 | |
| 2023-05-17 | Preprocess dominator tree to answer queries in O(1) | Tomasz Miąsko | -22/+105 | |
| 2023-05-15 | Process current bucket instead of parent's bucket when starting loop for ↵ | Camille GILLOT | -8/+35 | |
| dominators. | ||||
| 2023-05-14 | Start node has no immediate dominator | Tomasz Miąsko | -14/+22 | |
| Change the immediate_dominator return type to Option, and use None to indicate that node has no immediate dominator. Also fix the issue where the start node would be returned as its own immediate dominator. | ||||
| 2023-04-24 | Split `{Idx, IndexVec, IndexSlice}` into their own modules | Maybe Waffle | -5/+6 | |
| 2023-04-09 | Fix some clippy::complexity | Nilstrieb | -8/+2 | |
| 2023-04-02 | Use `&IndexSlice` instead of `&IndexVec` where possible | Scott McMurray | -12/+12 | |
| All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*. | ||||
| 2023-03-21 | Add `-Z time-passes-format` to allow specifying a JSON output for `-Z ↵ | John Kåre Alsaker | -6/+6 | |
| time-passes` | ||||
| 2023-02-21 | address review | b-naber | -4/+20 | |
| 2023-02-19 | sccs info | b-naber | -5/+5 | |
| 2023-01-24 | Improve efficiency of has_back_edge(...) | Bryan Garza | -0/+7 | |
| 2023-01-23 | Add comment on cause of panic in dominators algorithm | Bryan Garza | -1/+41 | |
| 2023-01-23 | Rollup merge of #107153 - tmiasko:dominates, r=oli-obk | Yuki Okushi | -1/+1 | |
| Consistently use dominates instead of is_dominated_by There is a number of APIs that answer dominance queries. Previously they were named either "dominates" or "is_dominated_by". Consistently use the "dominates" form. No functional changes. | ||||
| 2023-01-21 | Consistently use dominates instead of is_dominated_by | Tomasz Miąsko | -1/+1 | |
| There is a number of APIs that answer dominance queries. Previously they were named either "dominates" or "is_dominated_by". Consistently use the "dominates" form. No functional changes. | ||||
| 2023-01-21 | Auto merge of #106976 - tmiasko:borrowck-lazy-dominators, r=cjgillot | bors | -4/+0 | |
| Lazy dominator tree construction in borrowck Motivated by the observation that sometimes constructed dominator tree was never queried. | ||||
| 2023-01-20 | Auto merge of #106090 - WaffleLapkin:dereffffffffff, r=Nilstrieb | bors | -4/+4 | |
| Remove some `ref` patterns from the compiler Previous PR: https://github.com/rust-lang/rust/pull/105368 r? `@Nilstrieb` | ||||
| 2023-01-19 | Rollup merge of #107037 - tmiasko:rank, r=oli-obk | Guillaume Gomez | -1/+1 | |
| Fix Dominators::rank_partial_cmp to match documentation The only use site is also updated accordingly and there is no change in end-to-end behaviour. | ||||
| 2023-01-18 | Fix Dominators::rank_partial_cmp to match documentation | Tomasz Miąsko | -1/+1 | |
| The only use site is also updated accordingly and there is no change in end-to-end behaviour. | ||||
| 2023-01-17 | Stop using `BREAK` & `CONTINUE` in compiler | Scott McMurray | -4/+4 | |
| Switching them to `Break(())` and `Continue(())` instead. libs-api would like to remove these constants, so stop using them in compiler to make the removal PR later smaller. | ||||
| 2023-01-17 | Lazy dominator tree construction in borrowck | Tomasz Miąsko | -4/+0 | |
| Motivated by the observation that sometimes constructed dominator tree was never queried. | ||||
| 2023-01-17 | Rollup merge of #104505 - WaffleLapkin:no-double-spaces-in-comments, r=jackh726 | Matthias Krüger | -1/+1 | |
| Remove double spaces after dots in comments Most of the comments do not have double spaces, so I assume these are typos. | ||||
| 2023-01-17 | Remove double spaces after dots in comments | Maybe Waffle | -1/+1 | |
