2021-09-21 Triage Log

A nice week: more improvements than regressions.

Triage done by @pnkfelix. Revision range: 9f85cd6f2ab2769c16e89dcdddb3e11d9736b351..7743c9fadd64886d537966ba224b9c20e6014a59

2 Regressions, 4 Improvements, 8 Mixed; ??? of them in rollups 44 comparisons made in total

Regressions

Point at argument instead of call for their obligations #88719

Rollup of 10 pull requests #89047

  • Large regression in instruction counts (up to 1.9% on incr-unchanged builds of webrender-wrench)

Improvements

Avoid unnecessary formatting when trace log level is disabled #88934

Fast reject for NeedsNonConstDrop #88965

Avoid codegen for Result::into_ok in lang_start #88988

  • Very large improvement in instruction counts (up to -4.4% on incr-full builds of helloworld)

Don't inline OnceCell initialization closures #89031

Mixed

Const drop #88558

  • Large improvement in instruction counts (up to -1.7% on full builds of externs)
  • Large regression in instruction counts (up to 2.7% on full builds of html5ever)
  • Regression addressed by followup PRs #88965 (which has landed) and #88963 (which has not yet landed).

Introduce a fast path that avoids the debug_tuple abstraction when deriving Debug for unit-like enum variants. #88832

  • Very large improvement in instruction counts (up to -4.5% on full builds of stm32f4)
  • Large regression in instruction counts (up to 1.3% on incr-unchanged builds of ctfe-stress-4)
  • Already triaged by simulacrum, noting that the instruction count regressions are justified because the same benchmarks do not regress in cycles.

Remove concept of ‘completion’ from the projection cache #88945

  • Small improvement in instruction counts (up to -0.3% on incr-unchanged builds of helloworld)
  • Moderate regression in instruction counts (up to 0.8% on full builds of wg-grammar)
  • Wrote comment noting that scope of regression was limited but might still be worth investigating, at least briefly.

Simplify lazy DefPathHash decoding by using an on-disk hash table. #82183

  • Very large improvement in instruction counts (up to -7.7% on incr-unchanged builds of deeply-nested)
  • Small regression in instruction counts (up to 1.9% on incr-full builds of coercions)
  • Triaged: the wins here massively outweigh the few slight losses.

Gather module items after lowering. #88703

Querify FnAbi::of_{fn_ptr,instance} as fn_abi_of_{fn_ptr,instance}. #88575

  • Moderate improvement in instruction counts (up to -1.0% on full builds of regression-31157)
  • Large regression in instruction counts (up to 1.4% on incr-unchanged builds of regression-31157)
  • Left comment that didn't even bother to take time to be wishy-washy.

Use <[T; N]>::map in Sharded instead of SmallVec and unsafe code #89069

  • Small improvement in instruction counts (up to -0.3% on incr-unchanged builds of ucd)
  • Moderate regression in instruction counts (up to 2.8% on incr-full builds of ctfe-stress-4)
  • Left comment; the estimated effect looks pretty different from when the PR was filed vs when it landed, but either way it is probably noise.

Lower only one HIR owner at a time #87234

Untriaged Pull Requests