| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2021-11-24 | Auto merge of #90491 - Mark-Simulacrum:push-pred-faster, r=matthewjasper | bors | -1/+238 | |
| Optimize live point computation This refactors the live-point computation to lower per-MIR-instruction costs by operating on a largely per-block level. This doesn't fundamentally change the number of operations necessary, but it greatly improves the practical performance by aggregating bit manipulation into ranges rather than single-bit; this scales much better with larger blocks. On the benchmark provided in #90445, with 100,000 array elements, walltime for a check build is improved from 143 seconds to 15. I consider the tiny losses here acceptable given the many small wins on real world benchmarks and large wins on stress tests. The new code scales much better, but on some subset of inputs the slightly higher constant overheads decrease performance somewhat. Overall though, this is expected to be a big win for pathological cases (as illustrated by the test case motivating this work) and largely not material for non-pathological cases. I consider the new code somewhat easier to follow, too. | ||||
| 2021-11-13 | Generate documentation in rustc `rustc_index::newtype_index` macro | pierwill | -1/+23 | |
| The macro now documents all generated items. Documentation notes possible panics and unsafety. | ||||
| 2021-11-03 | Optimize live point computation | Mark Rousskov | -1/+238 | |
| 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-23 | update cfg(bootstrap) | Pietro Albini | -6/+0 | |
| 2021-10-15 | Revert "Auto merge of #89709 - clemenswasser:apply_clippy_suggestions_2, ↵ | Matthias Krüger | -7/+11 | |
| 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 | Rollup merge of #89643 - cjgillot:overlap, r=matthewjasper | Matthias Krüger | -0/+6 | |
| Fix inherent impl overlap check. The current implementation of the overlap check was slightly buggy, and unified the wrong connected component in the `ids.len() <= 1` case. This became visible in another PR which changed the iteration order of items. r? ``@matthewjasper`` since you reviewed the other PR. | ||||
| 2021-10-11 | Remove unnecessary variable | Clemens Wasser | -2/+1 | |
| 2021-10-10 | Apply clippy suggestions | Clemens Wasser | -10/+7 | |
| 2021-10-07 | Fix inherent impl overlap check. | Camille GILLOT | -0/+6 | |
| 2021-10-04 | Rollup merge of #89508 - jhpratt:stabilize-const_panic, r=joshtriplett | Jubilee | -2/+6 | |
| Stabilize `const_panic` Closes #51999 FCP completed in #89006 ```@rustbot``` label +A-const-eval +A-const-fn +T-lang cc ```@oli-obk``` for review (not `r?`'ing as not on lang team) | ||||
| 2021-10-04 | Stabilize `const_panic` | Jacob Pratt | -2/+6 | |
| 2021-10-03 | Replace Fn impls with RPIT impls in rustc_index | bjorn3 | -45/+17 | |
| This is cleaner and removes an unstable feature usage | ||||
| 2021-10-02 | Swap out unboxed_closures feature gate for min_specialization | bjorn3 | -1/+1 | |
| For some reason unboxed_closures supresses the feature gate for min_specialization when implementing TrustedStep. min_specialization is the true feature that is used. | ||||
| 2021-09-22 | rustc_index: Add some map-like APIs to `IndexVec` | Vadim Petrochenkov | -6/+17 | |
| 2021-08-27 | Suggested changes | Will Crichton | -2/+2 | |
| 2021-08-27 | Addd missing domain size assertions | Will Crichton | -1/+3 | |
| 2021-08-26 | Formatting | Will Crichton | -6/+6 | |
| 2021-08-26 | Fix failing test | Will Crichton | -7/+7 | |
| 2021-08-26 | Add comments and unit tests for new SparseBitMatrix methods | Will Crichton | -0/+85 | |
| 2021-08-26 | Compile failure | Will Crichton | -1/+1 | |
| 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 | Compilation failure in tests | Will Crichton | -6/+6 | |
| 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 | -2/+13 | |
| 2021-08-25 | Add unit tests for BitSet intersect/subtract | Will Crichton | -1/+12 | |
| 2021-08-25 | Small fixes | Will Crichton | -3/+6 | |
| 2021-08-25 | Add optimized sparse-hybrid / dense-hybrid intersect | Will Crichton | -6/+21 | |
| 2021-08-25 | Remove BitRelations impls for SparseBitSet, add optimizations | Will Crichton | -63/+29 | |
| 2021-08-24 | Fix HybridBitSet port issue | Will Crichton | -3/+16 | |
| 2021-08-24 | Refactor BitSet relational methods into trait with parameterized | Will Crichton | -122/+231 | |
| right-hand side | ||||
| 2021-08-23 | Make SparseBitMatrix::ensure_row public to enable general mutation of rows | Will Crichton | -1/+1 | |
| 2021-05-31 | Remove unused feature gates | bjorn3 | -1/+0 | |
| 2021-05-31 | Use allow_internal_unstable more in rustc_index | bjorn3 | -2/+1 | |
| 2021-05-26 | Unify feature flags as `step_trait` | Jacob Pratt | -1/+1 | |
| While stdlib implementations of the unchecked methods require unchecked math, there is no reason to gate it behind this for external users. The reasoning for a separate `step_trait_ext` feature is unclear, and as such has been merged as well. | ||||
| 2021-05-26 | Specialize implementations | Jacob Pratt | -0/+4 | |
| Implementations in stdlib are now optimized as they were before. | ||||
| 2021-05-26 | Make Range implementation safe | Jacob Pratt | -1/+1 | |
| 2021-05-04 | Change bitwise operator to more easily keep data in vector registers | Mark Rousskov | -3/+7 | |
| 2021-04-25 | fix sanitizer tests | Ralf Jung | -1/+0 | |
| 2021-04-25 | move core::hint::black_box under its own feature gate | Ralf Jung | -0/+2 | |
| 2021-04-24 | Auto merge of #84310 - RalfJung:const-fn-feature-flags, r=oli-obk | bors | -1/+0 | |
| further split up const_fn feature flag This continues the work on splitting up `const_fn` into separate feature flags: * `const_fn_trait_bound` for `const fn` with trait bounds * `const_fn_unsize` for unsizing coercions in `const fn` (looks like only `dyn` unsizing is still guarded here) I don't know if there are even any things left that `const_fn` guards... at least libcore and liballoc do not need it any more. `@oli-obk` are you currently able to do reviews? | ||||
| 2021-04-21 | Use arrayvec 0.7, drop smallvec 0.6 | Jubilee Young | -1/+1 | |
| With the arrival of min const generics, many alt-vec libraries have updated to use it in some way and arrayvec is no exception. Use the latest with minor refactoring. Also, rustc_workspace_hack is the only user of smallvec 0.6 in the entire tree, so drop it. | ||||
| 2021-04-18 | fix feature use in rustc libs | Ralf Jung | -1/+0 | |
| 2021-04-03 | Add fixme comment to revert change once const_panic is stable | Wilco Kusee | -0/+2 | |
| 2021-04-03 | Remove nightly features in rustc_type_ir | Wilco Kusee | -2/+2 | |
| 2021-03-26 | Use iter::zip in compiler/ | Josh Stone | -3/+4 | |
| 2021-03-09 | Remove useless Clone bound in IndexVec. | Camille GILLOT | -7/+7 | |
| 2021-02-26 | Miscellaneous inlining improvements | Tomasz Miąsko | -0/+1 | |
| Inline a few small and hot functions. | ||||
