| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2018-08-01 | Split out growth functionality into BitVector type | Mark Rousskov | -55/+73 | |
| 2018-07-26 | fix `sparse_matrix_iter` unit test | Niko Matsakis | -1/+1 | |
| 2018-07-26 | add type parameters to `BitMatrix` and `SparseBitMatrix` unit tests | Niko Matsakis | -3/+3 | |
| 2018-07-26 | convert tests of `BitVector` to use `BitVector<usize>` | Niko Matsakis | -5/+5 | |
| 2018-07-25 | SparseBitMatrix: add `insert_all` and `add_all` methods | Niko Matsakis | -0/+13 | |
| 2018-07-25 | SparseBitMatrix: add `ensure_row` helper fn | Niko Matsakis | -9/+9 | |
| 2018-07-25 | split into two matrices | Niko Matsakis | -0/+61 | |
| 2018-07-25 | parameterize `BitVector` and `BitMatrix` by their index types | Niko Matsakis | -39/+50 | |
| 2018-07-20 | Speed up `SparseBitMatrix`. | Nicholas Nethercote | -208/+28 | |
| Using a `BTreeMap` to represent rows in the bit matrix is really slow. This patch changes things so that each row is represented by a `BitVector`. This is a less sparse representation, but a much faster one. As a result, `SparseBitSet` and `SparseChunk` can be removed. Other minor changes in this patch. - It renames `BitVector::insert()` as `merge()`, which matches the terminology in the other classes in bitvec.rs. - It removes `SparseBitMatrix::is_subset()`, which is unused. - It reinstates `RegionValueElements::num_elements()`, which #52190 had removed. - It removes a low-value `debug!` call in `SparseBitMatrix::add()`. | ||||
| 2018-07-16 | Generate region values directly to reduce memory usage. | David Wood | -9/+47 | |
| Also modify `SparseBitMatrix` so that it does not require knowing the dimensions in advance, but instead grows on demand. | ||||
| 2018-05-09 | ignore the point where the outlives requirement was added | Niko Matsakis | -1/+1 | |
| 2018-05-09 | use chunks api for SparseBitMatrix and add a `subset` fn | Niko Matsakis | -5/+32 | |
| 2018-03-20 | Implement some trivial size_hints for various iterators | Phlosioneer | -0/+5 | |
| This also implements ExactSizeIterator where applicable. Addresses most of the Iterator traits mentioned in #23708. | ||||
| 2018-02-22 | Run rustfmt over bitvec.rs and region_infer/values.rs | Santiago Pastorino | -32/+44 | |
| 2018-02-22 | Fix typo otherwies -> otherwise | Santiago Pastorino | -1/+1 | |
| 2018-02-22 | Use Sparse bitsets instead of dense ones for NLL results | Santiago Pastorino | -0/+197 | |
| Fixes #48170 | ||||
| 2018-02-22 | Move word type and word size usage to constants & make it of 128 bits | Santiago Pastorino | -23/+26 | |
| 2018-01-26 | Make region inference use a dirty list | Santiago Pastorino | -0/+11 | |
| Fixes #47602 | ||||
| 2017-11-02 | add/fix various comments to `BitMatrix` | Niko Matsakis | -15/+21 | |
| Notably, the (hitherto unused) `less_than` method was not at all what it purported to be. It in fact computes the opposite. | ||||
| 2017-09-24 | Point at parameter type on E0301 | Esteban Küber | -1/+1 | |
| On "the parameter type `T` may not live long enough" error, point to the parameter type suggesting lifetime bindings: ``` error[E0310]: the parameter type `T` may not live long enough --> $DIR/lifetime-doesnt-live-long-enough.rs:28:5 | 27 | struct Foo<T> { | - help: consider adding an explicit lifetime bound `T: 'static`... 28 | foo: &'static T | ^^^^^^^^^^^^^^^ | note: ...so that the reference type `&'static T` does not outlive the data it points at --> $DIR/lifetime-doesnt-live-long-enough.rs:28:5 | 28 | foo: &'static T | ^^^^^^^^^^^^^^^ ``` | ||||
| 2017-08-15 | use field init shorthand EVERYWHERE | Zack M. Davis | -1/+1 | |
| Like #43008 (f668999), but _much more aggressive_. | ||||
| 2017-08-01 | Fixed all unnecessary muts in language core | Isaac van Bakel | -1/+1 | |
| 2017-02-10 | SwitchInt over Switch | Simonas Kazlauskas | -0/+4 | |
| This removes another special case of Switch by replacing it with the more general SwitchInt. While this is more clunky currently, there’s no reason we can’t make it nice (and efficient) to use. | ||||
| 2017-01-12 | Mark some BitVector methods with #[inline] | Michael Woerister | -0/+9 | |
| 2016-08-09 | generalize BitMatrix to be NxM and not just NxN | Niko Matsakis | -16/+67 | |
| 2016-08-09 | isolate predecessor computation | Niko Matsakis | -0/+6 | |
| The new `Predecessors` type computes a set of interesting targets and their HIR predecessors, and discards everything in between. | ||||
| 2016-06-11 | remove redundant test case | Srinivas Reddy Thatiparthy | -15/+1 | |
| 2016-06-01 | switch to BitVector, simplify target_block logic | Scott A Carr | -1/+1 | |
| clarify comments and panic message | ||||
| 2016-04-28 | Make the codegen unit partitioner also emit item declarations. | Michael Woerister | -11/+22 | |
| 2016-04-03 | Use a BitVector instead of Vec<bool> for recording cleanup blocks | James Miller | -1/+26 | |
| Also adds a FromIterator impl for BitVector to allow construction of a BitVector from an iterator yeilding bools. | ||||
| 2016-03-30 | Add some standard traversal iterators for MIR | James Miller | -0/+1 | |
| Adds Preorder, Postorder and Reverse Postorder traversal iterators. Also makes trans/mir use Reverse Postorder traversal for blocks. | ||||
| 2016-03-05 | apply rustfmt to librustc_data_structures, correcting ↵ | Niko Matsakis | -15/+21 | |
| rust-lang-nursery/rustfmt#836 | ||||
| 2016-02-23 | [MIR] Change SimplifyCfg pass to use bitvec | Simonas Kazlauskas | -0/+79 | |
| BitVector is much more space efficient. | ||||
| 2016-01-21 | [MIR] Promote temps to alloca on multi-assignment | Simonas Kazlauskas | -2/+4 | |
| Fixes #31002 | ||||
| 2015-08-21 | nits from pnkfelix | Niko Matsakis | -23/+30 | |
| 2015-08-18 | generalize bitvector code into a bitmatrix; write some unit tests, but | Niko Matsakis | -9/+176 | |
| probably not enough. This code is so simple, what could possibly go wrong? | ||||
| 2015-07-09 | Use vec![elt; n] where possible | Ulrik Sverdrup | -3/+1 | |
| The common pattern `iter::repeat(elt).take(n).collect::<Vec<_>>()` is exactly equivalent to `vec![elt; n]`, do this replacement in the whole tree. (Actually, vec![] is smart enough to only call clone n - 1 times, while the former solution would call clone n times, and this fact is virtually irrelevant in practice.) | ||||
| 2015-04-17 | Add licenses. | Niko Matsakis | -0/+10 | |
| 2015-04-17 | Port to using the newer graph, which offers iterators instead of the | Niko Matsakis | -0/+32 | |
| older `each` method, but is otherwise identical. | ||||
