about summary refs log tree commit diff
path: root/src/librustc_index/bit_set.rs
AgeCommit message (Collapse)AuthorLines
2020-08-30mv compiler to compiler/mark-1164/+0
2020-08-14Rework `rustc_serialize`Matthew Jasper-3/+5
- Move the type parameter from `encode` and `decode` methods to the trait. - Remove `UseSpecialized(En|De)codable` traits. - Remove blanket impls for references. - Add `RefDecodable` trait to allow deserializing to arena-allocated references safely. - Remove ability to (de)serialize HIR. - Create proc-macros `(Ty)?(En|De)codable` to help implement these new traits.
2020-08-04mir: use `FiniteBitSet<u32>` in polymorphizationDavid Wood-0/+24
This commit changes polymorphization to return a `FiniteBitSet<u32>` rather than a `FiniteBitSet<u64>` because most functions do not use anywhere near sixty-four generic parameters so keeping a `u64` around is unnecessary in most cases. Signed-off-by: David Wood <david@davidtw.co>
2020-07-21Auto merge of #69749 - davidtwco:issue-46477-polymorphization, r=eddybbors-0/+135
Polymorphization This PR implements an analysis to detect when functions could remain polymorphic during code generation. Fixes #46477 r? @eddyb cc @rust-lang/wg-mir-opt @nikomatsakis @pnkfelix
2020-07-20index: introduce and use `FiniteBitSet`David Wood-0/+135
This commit introduces a `FiniteBitSet` type which replaces the manual bit manipulation which was being performed in polymorphization. Signed-off-by: David Wood <david@davidtw.co>
2020-07-20Auto merge of #74010 - pierwill:pierwill-o-notation, r=GuillaumeGomezbors-1/+1
Use italics for O notation In documentation, I think it makes sense to italicize O notation (*O(n)*) as opposed to using back-ticks (`O(n)`). Visually, back-ticks focus the reader on the literal characters being used, making them ideal for representing code. Using italics, as far I can tell, more closely follows typographic conventions in mathematics and computer science. Just a suggestion, of course! đŸ˜‡
2020-07-19Use italics for O notationpierwill-1/+1
Co-authored-by: Guillaume Gomez <guillaume1.gomez@gmail.com>
2020-07-14Use `ArrayVec` in `SparseBitSet`.Nicholas Nethercote-6/+5
Instead of `SmallVec`, because the maximum size is known.
2020-06-24Improve GeneratorLayout debug outputTyler Mandry-1/+17
2020-04-07Use assoc integer constants in librustc_*Linus Färnstrand-1/+1
2019-12-22Format the worldMark Rousskov-41/+21
2019-10-18doc: make BitSet intro more shortTshepang Lekhonkhobe-2/+5
Also, add a link to the growable type
2019-10-16Optimize `BitSet` iteration.Nicholas Nethercote-13/+31
This commit removes an `Option` check in `BitIter::next()`, avoids calling `trailing_zeros()` when it's not necessary, and avoids the need for `enumerate()`. This gives a tiny (0.2%) instruction count win on a couple of benchmarks. The commit also adds some comments, which is good because this iteration code is moderately complex.
2019-10-16Add `BitIter::new()`.Nicholas Nethercote-10/+13
This factors out some duplicated code.
2019-10-01Fix clippy warningsYuki Okushi-1/+1
2019-09-29remove indexed_vec re-export from rustc_data_structurescsmoe-1/+1
2019-09-29move bit_set into rustc_indexcsmoe-0/+984