| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-01-22 | Remove uses of HybridBitSet. | Camille GILLOT | -2/+2 | |
| 2024-01-06 | Auto merge of #119499 - cjgillot:dtm-opt, r=nnethercote | bors | -11/+5 | |
| Two small bitset optimisations | ||||
| 2024-01-02 | Reuse `bitwise` in BitMatrix. | Camille GILLOT | -11/+5 | |
| 2023-12-31 | Avoid specialization for the Span Encodable and Decodable impls | bjorn3 | -4/+4 | |
| 2023-12-23 | Mention the relevant tracking issue next to my `bit_set` hack | Nadrieril | -0/+2 | |
| 2023-12-15 | Make `rustc_index::bit_set` available on stable | Nadrieril | -11/+37 | |
| 2023-11-13 | Remove `impl FiniteBitSetTy for {u64,u128}`. | Nicholas Nethercote | -48/+0 | |
| Only the impl for `u32` is used. These can be reinstated easily if needed in the future. | ||||
| 2023-11-13 | Remove `BitSet::to_hybrid`. | Nicholas Nethercote | -6/+0 | |
| 2023-11-13 | Remove `BitSet::words`. | Nicholas Nethercote | -9/+4 | |
| 2023-10-06 | Preserve DebugInfo in DeadStoreElimination. | Camille GILLOT | -1/+7 | |
| 2023-07-12 | Re-format let-else per rustfmt update | Mark Rousskov | -3/+1 | |
| 2023-05-24 | Use `Option::is_some_and` and `Result::is_ok_and` in the compiler | Maybe Waffle | -2/+2 | |
| 2023-04-24 | Split `{Idx, IndexVec, IndexSlice}` into their own modules | Maybe Waffle | -3/+5 | |
| 2023-04-09 | Fix some clippy::complexity | Nilstrieb | -1/+1 | |
| 2023-03-21 | Use `SmallVec` in bitsets | Nilstrieb | -5/+7 | |
| This doesn't increase their size and means that we don't have to heap allocate for small sets. | ||||
| 2023-03-03 | Match unmatched backticks in compiler/ that are part of rustdoc | est31 | -1/+1 | |
| 2023-01-05 | Fix `uninlined_format_args` for some compiler crates | nils | -1/+1 | |
| Convert all the crates that have had their diagnostic migration completed (except save_analysis because that will be deleted soon and apfloat because of the licensing problem). | ||||
| 2022-12-12 | minor code cleanups | Matthias Krüger | -1/+1 | |
| 2022-07-08 | Fix cloning from a BitSet with a different domain size | Tomasz Miąsko | -6/+2 | |
| The previous implementation incorrectly assumed that the number of words in a bit set is equal to the domain size. The new implementation delegates to `Vec::clone_from` which is specialized for `Copy` elements. | ||||
| 2022-07-04 | Use a bitset instead of a hash map in HIR ID validator | Jakub Beránek | -0/+10 | |
| 2022-06-21 | Auto merge of #95576 - DrMeepster:box_erasure, r=oli-obk | bors | -0/+12 | |
| Remove dereferencing of Box from codegen Through #94043, #94414, #94873, and #95328, I've been fixing issues caused by Box being treated like a pointer when it is not a pointer. However, these PRs just introduced special cases for Box. This PR removes those special cases and instead transforms a deref of Box into a deref of the pointer it contains. Hopefully, this is the end of the Box<T, A> ICEs. | ||||
| 2022-06-15 | add From impls for BitSet and GrowableBitSet | DrMeepster | -0/+12 | |
| 2022-06-14 | `BitSet` perf improvements | Jakob Degen | -5/+78 | |
| This commit makes two changes: 1. Changes `MaybeLiveLocals` to use `ChunkedBitSet` 2. Overrides the `fold` method for the iterator for `ChunkedBitSet` | ||||
| 2022-04-30 | Add element iterator for ChunkedBitSet | Tomasz Miąsko | -0/+48 | |
| 2022-04-27 | tut tut tut | Ellen | -1/+1 | |
| 2022-03-30 | Spellchecking compiler comments | Yuri Astrakhan | -1/+1 | |
| This PR cleans up the rest of the spelling mistakes in the compiler comments. This PR does not change any literal or code spelling issues. | ||||
| 2022-03-15 | Fix small typo in FIXME | Martin Gammelsæter | -2/+2 | |
| 2022-03-07 | Add comment linking to closed PR for future optimizers | Martin Gammelsæter | -4/+8 | |
| While optimizing these operations proved unfruitful w.r.t. improving compiler performance right now, faster versions might be needed at a later time. | ||||
| 2022-02-23 | Introduce `ChunkedBitSet` and use it for some dataflow analyses. | Nicholas Nethercote | -27/+471 | |
| This reduces peak memory usage significantly for some programs with very large functions, such as: - `keccak`, `unicode_normalization`, and `match-stress-enum`, from the `rustc-perf` benchmark suite; - `http-0.2.6` from crates.io. The new type is used in the analyses where the bitsets can get huge (e.g. 10s of thousands of bits): `MaybeInitializedPlaces`, `MaybeUninitializedPlaces`, and `EverInitializedPlaces`. Some refactoring was required in `rustc_mir_dataflow`. All existing analysis domains are either `BitSet` or a trivial wrapper around `BitSet`, and access in a few places is done via `Borrow<BitSet>` or `BorrowMut<BitSet>`. Now that some of these domains are `ClusterBitSet`, that no longer works. So this commit replaces the `Borrow`/`BorrowMut` usage with a new trait `BitSetExt` containing the needed bitset operations. The impls just forward these to the underlying bitset type. This required fiddling with trait bounds in a few places. The commit also: - Moves `static_assert_size` from `rustc_data_structures` to `rustc_index` so it can be used in the latter; the former now re-exports it so existing users are unaffected. - Factors out some common "clear excess bits in the final word" functionality in `bit_set.rs`. - Uses `fill` in a few places instead of loops. | ||||
| 2022-02-16 | Adopt let_else in even more places | est31 | -5/+1 | |
| 2022-02-01 | implement lint for suspicious auto trait impls | lcnr | -0/+6 | |
| 2021-12-22 | Require Ord for rustc_index::SparseBitSet::last_set_in | pierwill | -3/+8 | |
| 2021-12-22 | Remove `PartialOrd` and `Ord` from `LocalDefId` | pierwill | -1/+1 | |
| Implement `Ord`, `PartialOrd` for SpanData | ||||
| 2021-12-18 | Derive hash for BitSet and BitMatrix | Tomasz Miąsko | -2/+2 | |
| 2021-11-03 | Optimize live point computation | Mark Rousskov | -1/+141 | |
| This is just replicating the previous algorithm, but taking advantage of the bitset structures to optimize into tighter and better optimized loops. Particularly advantageous on enormous MIR blocks, which are relatively rare in practice. | ||||
| 2021-10-15 | Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, ↵ | Matthias Krüger | -3/+4 | |
| r=petrochenkov" The PR had some unforseen perf regressions that are not as easy to find. Revert the PR for now. This reverts commit 6ae8912a3e7d2c4c775024f58a7ba4b1aedc4073, reversing changes made to 86d6d2b7389fe1b339402c1798edae8b695fc9ef. | ||||
| 2021-10-12 | Use Option::map_or instead of open coding it | LingMan | -1/+1 | |
| 2021-10-11 | Remove unnecessary variable | Clemens Wasser | -2/+1 | |
| 2021-10-10 | Apply clippy suggestions | Clemens Wasser | -3/+3 | |
| 2021-09-22 | rustc_index: Add some map-like APIs to `IndexVec` | Vadim Petrochenkov | -6/+2 | |
| 2021-08-27 | Suggested changes | Will Crichton | -2/+2 | |
| 2021-08-27 | Addd missing domain size assertions | Will Crichton | -1/+3 | |
| 2021-08-26 | Add comments and unit tests for new SparseBitMatrix methods | Will Crichton | -0/+19 | |
| 2021-08-26 | Typo | Will Crichton | -2/+2 | |
| 2021-08-26 | Add remaining impl for hybrid X dense | Will Crichton | -21/+51 | |
| 2021-08-26 | Formatting | Will Crichton | -2/+2 | |
| 2021-08-26 | Add comments | Will Crichton | -0/+12 | |
| 2021-08-26 | Fix sparse intersect bug, add more sparse / dense tests | Will Crichton | -1/+1 | |
| 2021-08-25 | Small fixes | Will Crichton | -3/+6 | |
| 2021-08-25 | Add optimized sparse-hybrid / dense-hybrid intersect | Will Crichton | -6/+21 | |
