Commit Graph

103815 Commits

Author SHA1 Message Date
bors
90b957a17c Auto merge of #66821 - eddyb:global-trait-caching, r=nikomatsakis
rustc: allow non-empty ParamEnv's in global trait select/eval caches.

*Based on #66963*

This appears to alleviate the symptoms of #65510 locally (without fixing WF directly), and is potentially easier to validate as sound (since it's a more ad-hoc version of queries we already have).

I'm opening this PR primarily to test the effects on perf.

r? @nikomatsakis cc @rust-lang/wg-traits
2019-12-11 12:29:35 +00:00
bors
033662dfbc Auto merge of #67220 - Centril:rollup-n3u9wd5, r=Centril
Rollup of 6 pull requests

Successful merges:

 - #66881 (Optimize Ord trait implementation for bool)
 - #67015 (Fix constant propagation for scalar pairs)
 - #67074 (Add options to --extern flag.)
 - #67164 (Ensure that panicking in constants eventually errors)
 - #67174 (Remove `checked_add` in `Layout::repeat`)
 - #67205 (Make `publish_toolstate.sh` executable)

Failed merges:

r? @ghost
2019-12-11 09:12:06 +00:00
Mazdak Farrokhzad
f6ceef546b
Rollup merge of #67205 - JohnTitor:fix-sh, r=pietroalbini
Make `publish_toolstate.sh` executable

It causes a failure on master ([log](https://dev.azure.com/rust-lang/rust/_build/results?buildId=15627)).

r? @pietroalbini
CC: @Mark-Simulacrum
2019-12-11 10:10:49 +01:00
Mazdak Farrokhzad
b768328242
Rollup merge of #67174 - kraai:remove-checked_add, r=rkruppe
Remove `checked_add` in `Layout::repeat`
2019-12-11 10:10:47 +01:00
Mazdak Farrokhzad
96b288f593
Rollup merge of #67164 - matthewjasper:never-remove-const, r=oli-obk
Ensure that panicking in constants eventually errors

based on #67134

closes #66975

r? @oli-obk
2019-12-11 10:10:46 +01:00
Mazdak Farrokhzad
4c3e95e84b
Rollup merge of #67074 - ehuss:extern-options, r=petrochenkov
Add options to --extern flag.

This changes the `--extern` flag so that it can take a series of options that changes its behavior. The general syntax is `[opts ':'] name ['=' path]` where `opts` is a comma separated list of options. Two options are supported, `priv` which replaces `--extern-private` and `noprelude` which avoids adding the crate to the extern prelude.

```text
--extern priv:mylib=/path/to/libmylib.rlib
--extern noprelude:alloc=/path/to/liballoc.rlib
```

`noprelude` is to be used by Cargo's build-std feature in order to use `--extern` to reference standard library crates.

This also includes a second commit which adds the `aux-crate` directive to compiletest. I can split this off into a separate PR if desired, but it helps with defining these kinds of tests. It is based on #54020, and can be used in the future to replace and simplify some of the Makefile tests.
2019-12-11 10:10:44 +01:00
Mazdak Farrokhzad
04e0512c7a
Rollup merge of #67015 - osa1:issue66971, r=wesleywiser
Fix constant propagation for scalar pairs

We now only propagate a scalar pair if the Rvalue is a tuple with two scalars. This for example avoids propagating a (u8, u8) value when Rvalue has type `((), u8, u8)` (see the regression test). While this is a correct thing to do, implementation is tricky and will be done later.

Fixes #66971
Fixes #66339
Fixes #67019
2019-12-11 10:10:42 +01:00
Georg Semmler
ab3f4fd709
Apply review suggestions 2019-12-11 10:10:41 +01:00
Mazdak Farrokhzad
830b4ee76a
Rollup merge of #66881 - krishna-veerareddy:issue-66780-bool-ord-optimization, r=sfackler
Optimize Ord trait implementation for bool

Casting the booleans to `i8`s and converting their difference into `Ordering` generates better assembly than casting them to `u8`s and comparing them.

Fixes #66780

#### Comparison([Godbolt link](https://rust.godbolt.org/z/PjBpvF))

##### Old assembly:
```asm
example::boolean_cmp:
        mov     ecx, edi
        xor     ecx, esi
        test    esi, esi
        mov     eax, 255
        cmove   eax, ecx
        test    edi, edi
        cmovne  eax, ecx
        ret
```

##### New assembly:
```asm
example::boolean_cmp:
        mov     eax, edi
        sub     al, sil
        ret
```

##### Old LLVM-MCA statistics:
```
Iterations:        100
Instructions:      800
Total Cycles:      234
Total uOps:        1000

Dispatch Width:    6
uOps Per Cycle:    4.27
IPC:               3.42
Block RThroughput: 1.7
```

##### New LLVM-MCA statistics:
```
Iterations:        100
Instructions:      300
Total Cycles:      110
Total uOps:        500

Dispatch Width:    6
uOps Per Cycle:    4.55
IPC:               2.73
Block RThroughput: 1.0
```
2019-12-11 10:10:41 +01:00
Stephane Raux
cb1cc1181e Fix description based on review 2019-12-10 22:29:25 -08:00
bors
ddca1e09c3 Auto merge of #67202 - JohnTitor:rollup-0xjm5pz, r=JohnTitor
Rollup of 9 pull requests

Successful merges:

 - #66377 (Update RELEASES.md for 1.40.0)
 - #67134 (Ensure that we get a hard error on generic ZST constants if their bod…)
 - #67152 (Sort auto trait and blanket implementations display)
 - #67154 (Fix typos in src/libcore/alloc.rs docs)
 - #67168 (corrected comment in E0478)
 - #67178 (Move non clean impls items)
 - #67180 (doc: Use .copied() instead of .cloned() in Vec example)
 - #67181 (Update hashmap doc)
 - #67193 (In which we start tracking polonius in `-Z self-profile`)

Failed merges:

r? @ghost
2019-12-11 05:31:28 +00:00
Nicholas Nethercote
c681841ca0 Fix -Z print-type-sizes's handling of zero-sized fields.
Currently, the type `struct S { x: u32, y: u32, tag: () }` is
incorrectly described like this:
```
print-type-size type: `S`: 8 bytes, alignment: 4 bytes
print-type-size     field `.x`: 4 bytes
print-type-size     field `.tag`: 0 bytes, offset: 0 bytes, alignment: 1 bytes
print-type-size     padding: 4 bytes
print-type-size     field `.y`: 4 bytes, alignment: 4 bytes
```
Specifically:
- The `padding` line is wrong. (There is no padding.)
- The `offset` and `alignment` on the `.tag` line shouldn't be printed.

The problem is that multiple fields can end up with the same offset, and
the printing code doesn't handle this correctly.

This commit fixes it by adjusting the field sorting so that zero-sized fields
are dealt with before non-zero-sized fields. With that in place, the
printing code works correctly.

The commit also corrects the "something is very wrong" comment.

The new output looks like this:
```
print-type-size type: `S`: 8 bytes, alignment: 4 bytes
print-type-size     field `.tag`: 0 bytes
print-type-size     field `.x`: 4 bytes
print-type-size     field `.y`: 4 bytes
```
2019-12-11 15:09:19 +11:00
bors
a233302359 Auto merge of #67198 - Xanewok:update-rls, r=nikomatsakis
Update RLS and Rustfmt

Fixes #66885

Rustfmt is bumped here to version 1.4.11
~For now we pull two versions of rustfmt in Cargo.toml (RLS uses 1.4.11, rustfmt source only has 1.4.10), so~
1. ~it'd be great to upload the source used to publish rustfmt 1.4.11 @topecongiro~
2. ~I can downgrade the rustfmt used in RLS (it was an oversight on my part when merging https://github.com/rust-lang/rls/pull/1598)~
2019-12-11 02:11:00 +00:00
Nicholas Nethercote
21f35bc26f Change PendingPredicateObligation::stalled_on's type.
From a `Vec<Ty>` to a `Vec<InferTy>`, because that's a more restrictive
type. This is a perf win because the ultra-hot function
`shallow_resolve_changed` has less pattern-matching to do.
2019-12-11 10:03:46 +11:00
Nicholas Nethercote
f5e68ccd09 Optimize shallow_resolve_changed.
It can be made even more specialized.
2019-12-11 10:03:46 +11:00
Krishna Sai Veera Reddy
1f07aa582a Add better documentation for unsafe block 2019-12-10 14:30:06 -07:00
Yuki Okushi
472e7548d8 Make it executable 2019-12-11 05:26:40 +09:00
Yuki Okushi
398ed7fe2e
Rollup merge of #67193 - lqd:measureme_polonius, r=wesleywiser
In which we start tracking polonius in `-Z self-profile`

This PR adds 2 `-Z self-profile` activities:
- "polonius_fact_generation" to track the different places where we convert MIR/NLL data to polonius facts
- "polonius_analysis" to track the time polonius itself takes to do its job: some move/init analysis (and more to come soon), liveness, borrow checking.

cc @albins for the commits slightly refactoring the liveness fact generation (to make it easier to use the `measureme` profiler), what do you think ? I know you've wanted to refactor liveness fact generation in general (even though we'll do broader changes when that happens).  I also hope I haven't missed relations.

cc @rust-lang/wg-polonius in general: like most of `-Z self-profile` + `summarize`, the profiling is done per-session/per-crate (?) and thus here we won't differentiate between functions/`DefId`s either, but (depending on the tool) commonly aggregate the different polonius durations. While we know it'll be needed in the future, and should be relatively easy to track with the profiler, would the profiling information in this PR be worthwhile on its own until then ? (Or would you rather we try to do that now ?). It would seem useful to eventually have both: one view would be high-level (and helpful to compare and track performance over time), and the other fine-grained, knowing exactly what time each `def_id` took, to spot specific problems/outliers (either in rustc/polonius or in user code). Hence, this PR as a first step towards that.

Here are a couple examples (taken on _stage 1_) post-processed with `summarize`:

<details>
<summary>Example output for the polonius smoke-tests</summary>

```
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| Item                               | Self time | % of total time | Item count | Cache hits | Blocked time | Incremental load time |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_register_crate            | 34.10ms   | 27.052          | 14         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_borrowck                       | 27.05ms   | 21.459          | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_decode_entry              | 17.12ms   | 13.583          | 1380       | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_liveness                 | 12.91ms   | 10.244          | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| macro_expand_crate                 | 4.25ms    | 3.375           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_load_macro                | 3.19ms    | 2.533           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_lifetimes                  | 2.96ms    | 2.344           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_analysis                  | 2.65ms    | 2.099           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_tables_of                   | 2.50ms    | 1.985           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| parse_crate                        | 1.61ms    | 1.279           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_built                          | 1.26ms    | 0.996           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_item_well_formed             | 1.03ms    | 0.821           | 9          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| build_hir_map                      | 953.10µs  | 0.756           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_match                        | 913.60µs  | 0.725           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| item_attrs                         | 816.20µs  | 0.647           | 475        | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| analysis                           | 703.80µs  | 0.558           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_of                            | 684.80µs  | 0.543           | 381        | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_impls_of                     | 679.20µs  | 0.539           | 4          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_crate                      | 641.30µs  | 0.509           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_def                            | 588.30µs  | 0.467           | 332        | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| hir_lowering                       | 573.20µs  | 0.455           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| evaluate_obligation                | 521.10µs  | 0.413           | 22         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| region_scope_tree                  | 484.10µs  | 0.384           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| target_features_whitelist          | 445.70µs  | 0.354           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implied_outlives_bounds            | 309.50µs  | 0.246           | 6          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const                          | 289.60µs  | 0.230           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| param_env                          | 288.80µs  | 0.229           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_fact_generation           | 285.80µs  | 0.227           | 191        | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_check_crate                   | 239.80µs  | 0.190           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_validated                      | 210.00µs  | 0.167           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_op_prove_predicate            | 178.10µs  | 0.141           | 5          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| generics_of                        | 174.10µs  | 0.138           | 36         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| collect_mod_item_types             | 163.40µs  | 0.130           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| get_lang_items                     | 157.10µs  | 0.125           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| unsafety_check_result              | 150.50µs  | 0.119           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_fn_attrs                   | 140.60µs  | 0.112           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_of                      | 128.50µs  | 0.102           | 19         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| fn_sig                             | 127.30µs  | 0.101           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_defined_on              | 114.90µs  | 0.091           | 19         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implementations_of_trait           | 113.20µs  | 0.090           | 56         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_attrs                    | 95.30µs   | 0.076           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const_qualif                   | 74.40µs   | 0.059           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_copy_raw                        | 74.00µs   | 0.059           | 11         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_unstable_api_usage       | 71.40µs   | 0.057           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_freeze_raw                      | 69.50µs   | 0.055           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| stability_index                    | 59.00µs   | 0.047           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_trait_ref                     | 57.80µs   | 0.046           | 29         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| layout_raw                         | 57.80µs   | 0.046           | 3          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_loops                    | 56.30µs   | 0.045           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_sized_raw                       | 50.20µs   | 0.040           | 9          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_kind                           | 46.60µs   | 0.037           | 25         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_intrinsics               | 43.30µs   | 0.034           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| explicit_predicates_of             | 42.60µs   | 0.034           | 19         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_item_bodies                 | 37.10µs   | 0.029           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inferred_outlives_of               | 34.90µs   | 0.028           | 19         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lint_levels                        | 32.20µs   | 0.026           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_polarity                      | 29.40µs   | 0.023           | 12         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| defined_lang_items                 | 28.10µs   | 0.022           | 14         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_const_bodies             | 27.80µs   | 0.022           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| entry_fn                           | 25.60µs   | 0.020           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| missing_lang_items                 | 25.10µs   | 0.020           | 14         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| object_lifetime_defaults_map       | 23.60µs   | 0.019           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_late_bound_map                  | 23.10µs   | 0.018           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| needs_drop_raw                     | 20.40µs   | 0.016           | 15         | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_const_fn_raw                    | 18.00µs   | 0.014           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upvars                             | 17.50µs   | 0.014           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_deprecation_entry           | 17.20µs   | 0.014           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| all_crate_nums                     | 16.70µs   | 0.013           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| proc_macro_decls_static            | 16.10µs   | 0.013           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_item_types               | 15.90µs   | 0.013           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| plugin_registrar_fn                | 12.60µs   | 0.010           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_def                          | 11.60µs   | 0.009           | 3          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| used_trait_imports                 | 11.50µs   | 0.009           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_span                           | 10.20µs   | 0.008           | 7          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls               | 10.00µs   | 0.008           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| features_query                     | 9.90µs    | 0.008           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls_overlap_check | 9.80µs    | 0.008           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_impl_wf                  | 7.20µs    | 0.006           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| named_region_map                   | 6.60µs    | 0.005           | 4          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_of_item                      | 5.10µs    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_stability                   | 4.00µs    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| erase_regions_ty                   | 3.00µs    | 0.002           | 2          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| maybe_unused_extern_crates         | 1.50µs    | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
Total cpu time: 126.0543ms

```
</details>

<details>
<summary>Example output for one of the slow tests on the `Naive` variant: ui/dynamically-sized-types/dst-tuple.rs</summary>

```
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| Item                                        | Self time | % of total time | Item count | Cache hits | Blocked time | Incremental load time |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_analysis                           | 55.31s    | 98.090          | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| link_crate                                  | 339.76ms  | 0.603           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_codegen_emit_obj                | 303.58ms  | 0.538           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_decode_entry                       | 73.48ms   | 0.130           | 18662      | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_fact_generation                    | 32.85ms   | 0.058           | 5476       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_tables_of                            | 32.55ms   | 0.058           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_borrowck                                | 29.41ms   | 0.052           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| macro_expand_crate                          | 23.50ms   | 0.042           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_register_crate                     | 21.04ms   | 0.037           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_module                              | 19.84ms   | 0.035           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize_module_passes          | 13.91ms   | 0.025           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_built                                   | 12.72ms   | 0.023           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| evaluate_obligation                         | 9.17ms    | 0.016           | 497        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| specialization_graph_of                     | 7.89ms    | 0.014           | 19         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_of                                     | 7.27ms    | 0.013           | 3736       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize                        | 5.97ms    | 0.011           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| optimized_mir                               | 5.72ms    | 0.010           | 103        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_impls_of                              | 5.37ms    | 0.010           | 35         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| item_children                               | 5.11ms    | 0.009           | 3094       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_trait_ref                              | 5.06ms    | 0.009           | 3134       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_parent                                 | 4.92ms    | 0.009           | 3046       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_crate                               | 4.86ms    | 0.009           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_crate                               | 3.99ms    | 0.007           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_load_macro                         | 3.55ms    | 0.006           | 13         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| analysis                                    | 3.45ms    | 0.006           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| visible_parent_map                          | 3.25ms    | 0.006           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| parse_crate                                 | 3.17ms    | 0.006           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| build_hir_map                               | 3.10ms    | 0.006           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_item_well_formed                      | 2.97ms    | 0.005           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector_graph_walk       | 2.44ms    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| hir_lowering                                | 2.40ms    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| generics_of                                 | 2.37ms    | 0.004           | 1283       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_def                                     | 2.25ms    | 0.004           | 823        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| item_attrs                                  | 2.12ms    | 0.004           | 1167       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_codegen                         | 2.11ms    | 0.004           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_op_prove_predicate                     | 2.05ms    | 0.004           | 92         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| erase_regions_ty                            | 1.80ms    | 0.003           | 807        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| explicit_predicates_of                      | 1.73ms    | 0.003           | 203        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_variances                             | 1.73ms    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| const_eval_raw                              | 1.69ms    | 0.003           | 90         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| layout_raw                                  | 1.59ms    | 0.003           | 390        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| symbol_name                                 | 1.48ms    | 0.003           | 150        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_lifetimes                           | 1.46ms    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| promoted_mir                                | 1.31ms    | 0.002           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_item_types                        | 1.23ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| param_env                                   | 1.17ms    | 0.002           | 102        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| collect_mod_item_types                      | 1.13ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize_function_passes        | 1.12ms    | 0.002           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_fulfill_obligation                  | 1.11ms    | 0.002           | 48         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_check_crate                            | 1.08ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| const_eval                                  | 1.06ms    | 0.002           | 175        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_freeze_raw                               | 1.03ms    | 0.002           | 225        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_sized_raw                                | 1.02ms    | 0.002           | 219        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| super_predicates_of                         | 968.90µs  | 0.002           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_op_ascribe_user_type                   | 891.00µs  | 0.002           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| needs_drop_raw                              | 882.90µs  | 0.002           | 522        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_of                               | 881.30µs  | 0.002           | 203        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_copy_raw                                 | 879.20µs  | 0.002           | 231        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| const_caller_location                       | 871.70µs  | 0.002           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_match                                 | 856.70µs  | 0.002           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const_qualif                            | 848.90µs  | 0.002           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inferred_outlives_of                        | 838.90µs  | 0.001           | 203        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_defined_on                       | 822.40µs  | 0.001           | 203        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implementations_of_trait                    | 805.00µs  | 0.001           | 476        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| unsafety_check_result                       | 804.50µs  | 0.001           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_validated                               | 767.50µs  | 0.001           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_impl_wf                           | 758.20µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_fn_attrs                            | 740.50µs  | 0.001           | 133        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const                                   | 629.80µs  | 0.001           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_privacy                           | 609.90µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_keys                                    | 603.90µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inferred_outlives_crate                     | 586.10µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_kind                                    | 548.20µs  | 0.001           | 308        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lint_mod                                    | 544.50µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| specializes                                 | 541.60µs  | 0.001           | 60         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| associated_item                             | 536.70µs  | 0.001           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_mir_available                            | 515.60µs  | 0.001           | 96         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| variances_of                                | 511.40µs  | 0.001           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| region_scope_tree                           | 459.60µs  | 0.001           | 22         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_private_in_public                     | 458.20µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_place_roots                | 453.00µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_liveness                          | 446.80µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| fn_sig                                      | 445.70µs  | 0.001           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| method_autoderef_steps                      | 427.20µs  | 0.001           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| associated_item_def_ids                     | 412.00µs  | 0.001           | 64         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| coherent_trait                              | 380.40µs  | 0.001           | 9          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_def                                   | 364.60µs  | 0.001           | 32         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| normalize_projection_ty                     | 341.50µs  | 0.001           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| privacy_access_levels                       | 334.50µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_unstable_api_usage                | 304.40µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_span                                    | 272.80µs  | 0.000           | 141        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| collect_and_partition_mono_items            | 262.90µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| vtable_methods                              | 262.90µs  | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_of_item                               | 249.00µs  | 0.000           | 131        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implied_outlives_bounds                     | 231.50µs  | 0.000           | 13         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dropck_outlives                             | 217.70µs  | 0.000           | 18         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_shims                                   | 215.50µs  | 0.000           | 9          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_polarity                               | 202.40µs  | 0.000           | 96         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_impl_item_well_formed                 | 199.70µs  | 0.000           | 5          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_foreign_item                             | 192.40µs  | 0.000           | 107        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_reachable_non_generic                    | 187.30µs  | 0.000           | 101        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| get_lang_items                              | 158.40µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dependency_formats                          | 157.00µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_dtorck_constraint                       | 149.50µs  | 0.000           | 10         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_module_optimize                     | 143.60µs  | 0.000           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning                            | 139.90µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector_root_collections | 118.20µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_attrs                             | 118.00µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| target_features_whitelist                   | 110.50µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_unit                                | 101.00µs  | 0.000           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| reachable_non_generics                      | 98.40µs   | 0.000           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_trait_item_well_formed                | 94.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_sized_constraint                        | 94.30µs   | 0.000           | 27         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lint_levels                                 | 91.20µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| instance_def_size_estimate                  | 89.90µs   | 0.000           | 92         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| stability_index                             | 89.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| normalize_ty_after_erasing_regions          | 88.80µs   | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_loops                             | 88.40µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_intrinsics                        | 83.30µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upstream_monomorphizations_for              | 82.70µs   | 0.000           | 59         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_codegened_item                           | 78.10µs   | 0.000           | 34         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| exported_symbols                            | 78.00µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_deprecation_entry                    | 70.20µs   | 0.000           | 33         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_merge_cgus                 | 65.20µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_panic_runtime                            | 62.00µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upstream_monomorphizations                  | 61.60µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_stability                            | 59.60µs   | 0.000           | 30         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| reachable_set                               | 55.70µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| visibility                                  | 54.60µs   | 0.000           | 26         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| object_lifetime_defaults_map                | 53.80µs   | 0.000           | 23         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_destructor                              | 49.30µs   | 0.000           | 10         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_const_bodies                      | 49.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| static_mutability                           | 48.80µs   | 0.000           | 24         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_place_inline_items         | 46.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| issue33140_self_ty                          | 45.40µs   | 0.000           | 37         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_item_bodies                          | 44.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_internalize_symbols        | 44.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| substitute_normalize_and_test_predicates    | 44.00µs   | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| backend_optimization_level                  | 40.40µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| get_lib_features                            | 36.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_name                                  | 35.00µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_compiler_builtins                        | 33.30µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| native_libraries                            | 32.90µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| missing_extern_crate_item                   | 31.70µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| has_typeck_tables                           | 29.70µs   | 0.000           | 25         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| entry_fn                                    | 29.30µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| defined_lang_items                          | 29.20µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_const_fn_raw                             | 28.30µs   | 0.000           | 13         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_no_builtins                              | 26.40µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_late_bound_map                           | 26.10µs   | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| missing_lang_items                          | 25.30µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_profiler_runtime                         | 25.10µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_sanitizer_runtime                        | 25.10µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls_overlap_check          | 24.30µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| panic_strategy                              | 23.30µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dep_kind                                    | 23.20µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| used_crate_source                           | 22.50µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_disambiguator                         | 21.80µs   | 0.000           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inherent_impls                              | 20.90µs   | 0.000           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| proc_macro_decls_static                     | 19.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| diagnostic_items                            | 18.20µs   | 0.000           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upvars                                      | 17.30µs   | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| all_crate_nums                              | 17.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| module_exports                              | 16.30µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| named_region_map                            | 14.30µs   | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_promotable_const_fn                      | 14.20µs   | 0.000           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| in_scope_traits_map                         | 13.50µs   | 0.000           | 5          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| plugin_registrar_fn                         | 13.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| used_trait_imports                          | 12.30µs   | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_defaultness                            | 12.10µs   | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls                        | 11.40µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| extern_crate                                | 10.80µs   | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| features_query                              | 10.30µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| symbol_mangling_version                     | 9.80µs    | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| original_crate_name                         | 7.60µs    | 0.000           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_hash                                  | 6.90µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| output_filenames                            | 4.00µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector                  | 3.90µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| postorder_cnums                             | 3.70µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| link_args                                   | 2.20µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| maybe_unused_extern_crates                  | 1.50µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
Total cpu time: 56.388711s

```
</details>

<details>
<summary>Example output for one of the slow tests where fact generation is also slow: ui/intrinsics/intrinsics-integer.rs</summary>

```
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| Item                                        | Self time | % of total time | Item count | Cache hits | Blocked time | Incremental load time |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_analysis                           | 74.79s    | 91.839          | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| polonius_fact_generation                    | 3.10s     | 3.806           | 46553      | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| link_crate                                  | 921.59ms  | 1.132           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_codegen_emit_obj                | 596.42ms  | 0.732           | 8          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_borrowck                                | 532.24ms  | 0.654           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_tables_of                            | 296.73ms  | 0.364           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_decode_entry                       | 268.42ms  | 0.330           | 10176      | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_crate                               | 75.22ms   | 0.092           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| analysis                                    | 70.90ms   | 0.087           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| optimized_mir                               | 63.25ms   | 0.078           | 37         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_module                              | 46.51ms   | 0.057           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| macro_expand_crate                          | 40.81ms   | 0.050           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize_module_passes          | 35.78ms   | 0.044           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_built                                   | 29.96ms   | 0.037           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_liveness                          | 29.18ms   | 0.036           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize                        | 21.44ms   | 0.026           | 8          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_register_crate                     | 19.75ms   | 0.024           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| erase_regions_ty                            | 18.45ms   | 0.023           | 7009       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| const_eval_raw                              | 16.70ms   | 0.021           | 708        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| evaluate_obligation                         | 16.23ms   | 0.020           | 303        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| privacy_access_levels                       | 16.04ms   | 0.020           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| param_env                                   | 15.86ms   | 0.019           | 42         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| promoted_mir                                | 14.18ms   | 0.017           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_validated                               | 12.75ms   | 0.016           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| symbol_name                                 | 12.58ms   | 0.015           | 75         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lint_mod                                    | 11.89ms   | 0.015           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_optimize_function_passes        | 10.39ms   | 0.013           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| build_hir_map                               | 9.87ms    | 0.012           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector_graph_walk       | 9.61ms    | 0.012           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_crate                               | 9.11ms    | 0.011           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| hir_lowering                                | 7.58ms    | 0.009           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| collect_and_partition_mono_items            | 7.50ms    | 0.009           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| const_eval                                  | 6.93ms    | 0.009           | 1399       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector_root_collections | 6.89ms    | 0.008           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| layout_raw                                  | 6.25ms    | 0.008           | 293        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_privacy                           | 5.73ms    | 0.007           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| needs_drop_raw                              | 5.52ms    | 0.007           | 4386       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_fulfill_obligation                  | 5.50ms    | 0.007           | 65         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_of                               | 5.48ms    | 0.007           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lint_levels                                 | 5.34ms    | 0.007           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| item_children                               | 5.29ms    | 0.006           | 3094       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| specialization_graph_of                     | 4.60ms    | 0.006           | 5          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_copy_raw                                 | 4.41ms    | 0.005           | 1853       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_reachable_non_generic                    | 4.37ms    | 0.005           | 53         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| visible_parent_map                          | 4.20ms    | 0.005           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| generics_of                                 | 4.14ms    | 0.005           | 169        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_fn_attrs                            | 4.04ms    | 0.005           | 69         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| LLVM_module_codegen                         | 3.97ms    | 0.005           | 8          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| unsafety_check_result                       | 3.62ms    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_match                                 | 3.53ms    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| metadata_load_macro                         | 3.47ms    | 0.004           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_of                                     | 3.46ms    | 0.004           | 1928       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| predicates_defined_on                       | 3.39ms    | 0.004           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| explicit_predicates_of                      | 2.98ms    | 0.004           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_place_roots                | 2.97ms    | 0.004           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| reachable_non_generics                      | 2.84ms    | 0.003           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_impls_of                              | 2.84ms    | 0.003           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_freeze_raw                               | 2.56ms    | 0.003           | 1412       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| vtable_methods                              | 2.53ms    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| normalize_ty_after_erasing_regions          | 2.23ms    | 0.003           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| substitute_normalize_and_test_predicates    | 2.22ms    | 0.003           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const                                   | 2.13ms    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| normalize_projection_ty                     | 2.12ms    | 0.003           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dependency_formats                          | 2.08ms    | 0.003           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| item_attrs                                  | 2.05ms    | 0.003           | 1065       | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upstream_monomorphizations                  | 2.03ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| region_scope_tree                           | 2.01ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_trait_ref                              | 1.75ms    | 0.002           | 911        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_def                                     | 1.69ms    | 0.002           | 782        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| parse_crate                                 | 1.64ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| super_predicates_of                         | 1.61ms    | 0.002           | 4          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_private_in_public                     | 1.60ms    | 0.002           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_parent                                 | 1.57ms    | 0.002           | 832        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_sized_raw                                | 1.33ms    | 0.002           | 144        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| exported_symbols                            | 1.27ms    | 0.002           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| get_lib_features                            | 1.17ms    | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_foreign_item                             | 1.05ms    | 0.001           | 56         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upstream_monomorphizations_for              | 1.04ms    | 0.001           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_kind                                    | 965.70µs  | 0.001           | 175        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| object_lifetime_defaults_map                | 933.70µs  | 0.001           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_shims                                   | 876.50µs  | 0.001           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inferred_outlives_of                        | 820.70µs  | 0.001           | 143        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| module_exports                              | 726.80µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_module_optimize                     | 673.30µs  | 0.001           | 8          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_sized_constraint                        | 667.30µs  | 0.001           | 13         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| has_typeck_tables                           | 666.80µs  | 0.001           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| diagnostic_items                            | 651.50µs  | 0.001           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| codegen_unit                                | 618.00µs  | 0.001           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_op_prove_predicate                     | 617.50µs  | 0.001           | 50         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| target_features_whitelist                   | 538.80µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| original_crate_name                         | 514.30µs  | 0.001           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_unstable_api_usage                | 455.00µs  | 0.001           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implementations_of_trait                    | 452.60µs  | 0.001           | 224        | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_intrinsics                        | 442.60µs  | 0.001           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| static_mutability                           | 428.60µs  | 0.001           | 19         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_panic_runtime                            | 425.40µs  | 0.001           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| resolve_lifetimes                           | 424.10µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_item_well_formed                      | 413.20µs  | 0.001           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning                            | 411.00µs  | 0.001           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| instance_def_size_estimate                  | 398.20µs  | 0.000           | 22         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| def_span                                    | 373.30µs  | 0.000           | 60         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| link_args                                   | 372.80µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_loops                             | 361.80µs  | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| reachable_set                               | 360.50µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| monomorphization_collector                  | 347.60µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_internalize_symbols        | 344.50µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_hash                                  | 324.90µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_def                                   | 320.20µs  | 0.000           | 17         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_disambiguator                         | 316.60µs  | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| missing_extern_crate_item                   | 308.50µs  | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_op_ascribe_user_type                   | 305.00µs  | 0.000           | 11         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| collect_mod_item_types                      | 291.70µs  | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_attrs                             | 288.50µs  | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| fn_sig                                      | 253.80µs  | 0.000           | 73         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| type_check_crate                            | 253.30µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| stability_index                             | 203.60µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| get_lang_items                              | 194.80µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_polarity                               | 173.60µs  | 0.000           | 80         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| implied_outlives_bounds                     | 168.50µs  | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_item_types                        | 148.20µs  | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| associated_item                             | 143.80µs  | 0.000           | 67         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_const_bodies                      | 138.30µs  | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| associated_item_def_ids                     | 128.00µs  | 0.000           | 57         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_dtorck_constraint                       | 115.50µs  | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| trait_of_item                               | 111.80µs  | 0.000           | 44         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dropck_outlives                             | 105.60µs  | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_mir_available                            | 88.40µs   | 0.000           | 36         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_codegened_item                           | 66.00µs   | 0.000           | 48         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| mir_const_qualif                            | 50.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_deprecation_entry                    | 43.40µs   | 0.000           | 21         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| native_libraries                            | 39.90µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_promotable_const_fn                      | 39.60µs   | 0.000           | 9          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_compiler_builtins                        | 34.30µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_name                                  | 33.70µs   | 0.000           | 15         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| visibility                                  | 33.50µs   | 0.000           | 10         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| defined_lang_items                          | 29.20µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| coherent_trait                              | 28.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_merge_cgus                 | 28.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| variances_of                                | 27.50µs   | 0.000           | 7          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_profiler_runtime                         | 27.10µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| panic_strategy                              | 26.70µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| entry_fn                                    | 26.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| missing_lang_items                          | 25.80µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_sanitizer_runtime                        | 25.30µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_no_builtins                              | 25.30µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| lookup_stability                            | 25.10µs   | 0.000           | 16         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| dep_kind                                    | 24.80µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| impl_defaultness                            | 24.50µs   | 0.000           | 6          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| typeck_item_bodies                          | 23.60µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| used_crate_source                           | 23.20µs   | 0.000           | 14         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| cgu_partitioning_place_inline_items         | 20.70µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_const_fn_raw                             | 20.00µs   | 0.000           | 10         | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| proc_macro_decls_static                     | 15.80µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| backend_optimization_level                  | 14.50µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| all_crate_nums                              | 14.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| extern_crate                                | 13.80µs   | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| plugin_registrar_fn                         | 12.60µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls                        | 10.10µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| features_query                              | 10.00µs   | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| inherent_impls                              | 9.70µs    | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| crate_inherent_impls_overlap_check          | 9.70µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| is_late_bound_map                           | 9.20µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| check_mod_impl_wf                           | 8.20µs    | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| symbol_mangling_version                     | 8.00µs    | 0.000           | 2          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| upvars                                      | 7.60µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| used_trait_imports                          | 7.50µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| adt_destructor                              | 7.00µs    | 0.000           | 3          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| output_filenames                            | 6.00µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| named_region_map                            | 4.60µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| postorder_cnums                             | 4.30µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| in_scope_traits_map                         | 4.10µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| maybe_unused_trait_import                   | 1.70µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
| maybe_unused_extern_crates                  | 1.40µs    | 0.000           | 1          | 0          | 0.00ns       | 0.00ns                |
+---------------------------------------------+-----------+-----------------+------------+------------+--------------+-----------------------+
Total cpu time: 81.4315819s

```
</details>

r? @wesleywiser for the profiler usage
2019-12-11 04:33:08 +09:00
Yuki Okushi
b8f8638a77
Rollup merge of #67181 - TheSamsa:update-hashmap-doc, r=Dylan-DPC
Update hashmap doc

Update hint to the used algorithms. Skimmed over the longer description but could not find another mentioning of the old algorithms.

Closes #67093
2019-12-11 04:33:06 +09:00
Yuki Okushi
729c31b312
Rollup merge of #67180 - NieDzejkob:vec-doc-copied, r=Dylan-DPC
doc: Use .copied() instead of .cloned() in Vec example

None
2019-12-11 04:33:05 +09:00
Yuki Okushi
5a2af97e77
Rollup merge of #67178 - GuillaumeGomez:move-non-clean-impls, r=kinnison
Move non clean impls items

This is another (and should be the last for the `clean` module) rustdoc cleanup.

I tried to follow the same commit pattern as the last one to make the review as easy as possible.

r? @kinnison
2019-12-11 04:33:03 +09:00
Yuki Okushi
2af31dafc7
Rollup merge of #67168 - ryanswilson59:master, r=Dylan-DPC
corrected comment in E0478

I believe this fixes the issue that I opened,  https://github.com/rust-lang/rust/issues/67040, about E0478 being contradictory.
2019-12-11 04:33:02 +09:00
Yuki Okushi
9af3eec9a6
Rollup merge of #67154 - kraai:alloc-typos, r=Dylan-DPC
Fix typos in src/libcore/alloc.rs docs
2019-12-11 04:33:00 +09:00
Yuki Okushi
071acdf88e
Rollup merge of #67152 - GuillaumeGomez:sort-auto-impls, r=kinnison
Sort auto trait and blanket implementations display

Fixes #63042

r? @kinnison
2019-12-11 04:32:59 +09:00
Yuki Okushi
a7f930748c
Rollup merge of #67134 - oli-obk:const_prop_zst, r=wesleywiser
Ensure that we get a hard error on generic ZST constants if their bod…

…y causes an error during evaluation

cc #67083 (does not fix because we still need the beta backport)

r? @wesleywiser

cc @RalfJung
2019-12-11 04:32:57 +09:00
Yuki Okushi
9b1b12b94a
Rollup merge of #66377 - XAMPPRocky:relnotes-1.40.0, r=Mark-Simulacrum
Update RELEASES.md for 1.40.0

### [Rendered](https://github.com/XAMPPRocky/rust/blob/relnotes-1.40.0/RELEASES.md)

r? @Mark-Simulacrum
cc @rust-lang/release
2019-12-11 04:32:53 +09:00
Igor Matuszewski
5b091305c5 Update RLS and Rustfmt 2019-12-10 20:01:55 +01:00
bors
7dbfb0a8ca Auto merge of #66681 - Mark-Simulacrum:toolstate-into-bootstrap, r=pietroalbini
Move toolstate checking into bootstrap

This intends no functional changes, merely translates the spread of shell/python into Rust.

One problematic area that I'd like to avoid but wasn't quite able to figure out how is the master branch script which is still in bash/python -- I cared less about that since it is orthogonal to the actual checking that we're doing, though as-is we're duplicating some code across Rust and that script.

r? @kennytm or maybe @pietroalbini
2019-12-10 16:50:45 +00:00
Mark Rousskov
97d936423c Move CI to new builtin check-toolstate 2019-12-10 09:30:09 -05:00
Mark Rousskov
a68d5314fb Add toolstate checking into bootstrap
This is not yet actually used by CI, but implements the logic for
checking that tools are properly building on beta/stable and during beta
cutoff week.

This attempts to mirror the checking functionality in
src/ci/docker/x86_64-gnu-tools/checktools.sh, and called scripts. It
does not attempt to run the relevant steps (that functionality was
originally desired to be moved into bootstrap as well, but doing so
proved more difficult than expected).

This is intended as a way to centralize and make clearer the logic
involved in toolstate checking. In particular, the previous logic was
spread across numerous python and shell scripts in such a way that made
interpretation quite difficult.
2019-12-10 09:26:34 -05:00
Remy Rakic
e0481d1d40 add polonius activities to -Z self-profile
- "polonius_fact_generation" is dedicated to profiling the Polonius fact generation, from the MIR and NLL constraints
- "polonius_analysis" is dedicated to profiling the duration of the Polonius computations themselves: move/init analysis, liveness, borrowck-ing
2019-12-10 11:44:44 +01:00
Remy Rakic
72579c9444 cleanup polonius liveness fact generation: refactor some type names
- singular instead of plurals for a relation
- terminology: use "Path"s instead of "MovePath"s
2019-12-10 11:44:44 +01:00
Remy Rakic
d18bfd647e cleanup polonius liveness fact generation: fix debug! logs 2019-12-10 11:44:44 +01:00
Remy Rakic
cd9ec277c5 cleanup polonius liveness fact generation: mir visitor
have a variable instead of calling a method while constructing the extractor
2019-12-10 11:44:44 +01:00
Remy Rakic
e6d8fbede2 cleanup polonius liveness fact generation
For the var_uses_region and var_drops_region relations:
- check for all facts existence only once
- remove function only used once
- pull var_uses_region with the other access facts instead of on its own
2019-12-10 11:44:44 +01:00
bors
8960acf023 Auto merge of #66277 - peter-wilkins:impl-from-wider-non-zeros, r=SimonSapin
From<NonZero*> impls for wider NonZero types

Closes: https://github.com/rust-lang/rust/issues/66291
2019-12-10 10:11:37 +00:00
Guillaume Gomez
f0babc8be4 Remove tidy comment 2019-12-10 10:42:03 +01:00
Stephane Raux
1a26df7727 Remove trailing whitespace 2019-12-10 00:05:37 -08:00
Stephane Raux
fe6ddd5d15 Specify behavior when passed a null pointer 2019-12-09 23:20:49 -08:00
Stephane Raux
ead1159490 Use Niko's wording 2019-12-09 23:20:49 -08:00
bors
883b6aacba Auto merge of #67039 - xfix:manually-implement-pin-traits, r=nikomatsakis
Use deref target in Pin trait implementations

Using deref target instead of pointer itself avoids providing access to `&Rc<T>` for malicious implementations, which would allow calling `Rc::get_mut`.

This is a breaking change necessary due to unsoundness, however the impact of it should be minimal.

This only fixes the issue with malicious `PartialEq` implementations, other `Pin` soundness issues are still here.

See <https://internals.rust-lang.org/t/unsoundness-in-pin/11311/73> for more details.
2019-12-10 06:52:45 +00:00
bors
975e83a32a Auto merge of #67184 - tmandry:rollup-mzqxtck, r=tmandry
Rollup of 11 pull requests

Successful merges:

 - #66892 (Format libcore with rustfmt (including tests and benches))
 - #67106 (resolve: Resolve visibilities on fields with non-builtin attributes)
 - #67113 (Print the visibility in `print_variant`.)
 - #67115 (Simplify `check_decl_no_pat`.)
 - #67119 (libstd miri tests: avoid warnings)
 - #67125 (Added ExactSizeIterator bound to return types)
 - #67138 (Simplify `Layout::extend_packed`)
 - #67145 (fix miri step debug printing)
 - #67149 (Do not ICE #67123)
 - #67155 (Move `Layout`s instead of binding by reference)
 - #67169 (inline some common methods on OsStr)

Failed merges:

r? @ghost
2019-12-10 02:41:00 +00:00
Tyler Mandry
c255815240
Rollup merge of #67169 - lzutao:inline_osstr, r=nagisa
inline some common methods on OsStr

Closes #67150
2019-12-09 14:33:15 -08:00
Tyler Mandry
196ca9dc94
Rollup merge of #67155 - kraai:move-instead-of-binding-to-reference, r=cramertj
Move `Layout`s instead of binding by reference
2019-12-09 14:33:13 -08:00
Tyler Mandry
c2702e38e4
Rollup merge of #67149 - JohnTitor:fix-ice-1, r=Dylan-DPC
Do not ICE #67123

Fixes #67123

r? @matthewjasper
2019-12-09 14:33:12 -08:00
Tyler Mandry
5ce5464faf
Rollup merge of #67145 - RalfJung:miri-step, r=oli-obk
fix miri step debug printing

r? @oli-obk
2019-12-09 14:33:10 -08:00
Tyler Mandry
6b6b6f3220
Rollup merge of #67138 - kraai:simplify-Layout-extend_packed, r=Amanieu
Simplify `Layout::extend_packed`
2019-12-09 14:33:09 -08:00
Tyler Mandry
28b112f2f4
Rollup merge of #67125 - hashedone:master, r=petrochenkov
Added ExactSizeIterator bound to return types

Fixes #66865
2019-12-09 14:33:08 -08:00
Tyler Mandry
e775820088
Rollup merge of #67119 - RalfJung:miri-test-libstd, r=alexcrichton
libstd miri tests: avoid warnings

Ignore tests in a way that all the code still gets compiled, to get rid of all the "unused" warnings that otherwise show up when running the test suite in Miri.
2019-12-09 14:33:06 -08:00
Tyler Mandry
a0e00f824a
Rollup merge of #67115 - Centril:simplify-check-decl-no-pat, r=davidtwco
Simplify `check_decl_no_pat`.

r? @davidtwco
2019-12-09 14:33:05 -08:00