Rollup of 25 pull requests - #162229
Conversation
Previously, these tests were testing the wrong feature gate, and had unnecessary type errors.
This is done so that we can test whether the location used is at the function call site or the await site.
Co-authored-by: Ralf Jung <post@ralfj.de>
- Rename `generate_*` functions to `emit_*`, since they emit LLVM globals - Consistently use qualified paths in `counter_for_term` - Remove an unnecessary Clone from `llvm_cov::Regions`
One of the key tasks in coverage codegen is to take the source-code spans that were recorded during MIR instrumentation, and resolve them to physical coordinates in their respective files. In rare cases this resolution can fail, which leads to the awkward possibility that a function might lose _all_ of its mappings for a particular file/expansion. If that happens, we need to avoid emitting a covfun file section containing no regions, because doing so would trigger errors in LLVM. The existing code does handle this edge case, but in a way that won't generalise to multiple files/expansions. Having an explicit intermediate resolution step will make it easier to add support for expansion regions in the future.
`suggest_fn_call` only fired when the failing obligation came from `ObligationCauseCode::FunctionArg`, so a fn item or closure used as the iterator of a `for` loop got no structured suggestion to call it. the iterator of a `for` loop is passed to `IntoIterator::into_iter`, so the failing `Iterator` goal is a derived obligation and the cause span carries the loop desugaring, which makes `can_be_used_for_suggestions` return false. carry the `HirId` of the iterator expression in `ObligationCauseCode::ForLoopIterator` and gate the suggestion on the span of that expression instead. rust-lang#161564
dereferencing an uncalled function only said the function type cannot be dereferenced. it now suggests the call, gated on the return type actually being dereferenceable. rust-lang#161564 (comment)
…low` VxWorks' libc defines no `O_NOFOLLOW`, so building std for x86_64-wrs-vxworks stopped compiling once `set_perm_nofollow` was consolidated into `sys/fs/unix.rs` without a vxworks guard. VxWorks also has no way to express a no-follow permission change: its `fchmodat` rejects `AT_SYMLINK_NOFOLLOW` with `ENOTSUP`. Return `Unsupported`, matching the existing Android stub.
Make it also enabled by default just like it is for clang.
Our `LLVMRustVersion*` functions get hard-coded `LLVM_VERSION_*` values when we build `RustWrapper.cpp`, but this could be different than the actual LLVM library at runtime. This should never happen with toolchains from `rustup`, but with external LLVM in a distro build, for example, `rustc` and `LLVM` can be upgraded independently. Most of the time when we check the LLVM version, we're only looking at the major version anyway, and we already assert that these are equal in `configure_llvm`. However, for anything that does check the minor or patch version too, the runtime version is probably more relevant.
This reverts commit 5a5b84a.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing d8df826 (parent) -> c33d8f3 (this PR) Test differencesShow 307 test diffsStage 1
Stage 2
(and 73 additional test diffs) Additionally, 134 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard c33d8f3b5a50b56466998e8c5ed8a077d2caed84 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (c33d8f3): comparison URL. Overall result: ❌ regressions - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.3%, secondary 2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.5%, secondary -2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -4.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 477.112s -> 477.05s (-0.01%) |
|
📌 Perf builds for each rolled up PR:
parent commit: d8df82673d In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
Running triage with 4 benchmarksTriage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
#161694 6357c99 add
|
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
2.4% | [2.4%, 2.4%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#162164 a056d7d Revert "Implement Debug for C-like enums with a concatenated string"
Instruction count
Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
0.4% | [0.2%, 0.7%] | 18 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Max RSS (memory usage)
Results (primary 4.3%, secondary 2.2%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
4.3% | [4.3%, 4.3%] | 1 |
| Regressions ❌ (secondary) |
2.2% | [0.8%, 3.5%] | 2 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 4.3% | [4.3%, 4.3%] | 1 |
Cycles
This perf run didn't have relevant results for this metric.
Binary size
Results (primary 0.4%, secondary -6.5%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
0.4% | [0.2%, 0.6%] | 8 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
-6.5% | [-12.1%, -0.9%] | 12 |
| All ❌✅ (primary) | 0.4% | [0.2%, 0.6%] | 8 |
#160564 0181ab7 volatile: allow accesses to non-AM memory to trap
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#161579 6e36ad0 suggest calling a fn item used as the iterator of a for loop
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
Results (secondary 1.8%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
1.8% | [1.8%, 1.8%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#162044 a88204a coverage: Resolve spans to file-coordinates in a separate step
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
Results (secondary 3.5%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
3.5% | [3.5%, 3.5%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#162120 aab8785 Introduce PerOwnerLoweringState
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162132 6d17148 std: improve safety documentation in UNIX stack overflow code
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162151 f599bb4 Test itanium mangling of f16 and f128
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162162 89bb80f Don't special-case ! in stability checks anymore
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162181 8dcf23a Remove wrong UnusedBraces lint for iterator loop in edition 2024
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162187 e6ec71a Rename thir::ExprKind::Use to ValueExpr
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#158401 3b029aa mgca: Don't ICE when evaluating ValTrees that contain error constants
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#159873 0d43798 fuchsia: Add safestack as a supported sanitizer for x86_64 fuchsia
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#161135 6b98390 Add f16 and f128 inline ASM support for PowerPC
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
Results (primary 4.3%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
4.3% | [4.3%, 4.3%] | 1 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | 4.3% | [4.3%, 4.3%] | 1 |
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#161847 a98e57d Preserve visibility in nested macro import suggestions
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#161972 4f2b81d Improve tests for #[track_caller] in async
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
Results (secondary 2.0%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
2.0% | [2.0%, 2.0%] | 1 |
| Improvements ✅ (primary) |
- | - | 0 |
| Improvements ✅ (secondary) |
- | - | 0 |
| All ❌✅ (primary) | - | - | 0 |
Binary size
This perf run didn't have relevant results for this metric.
#162008 8dc4d92 Render the box pattern removal diagnostic more actionable & remove box expression recovery
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
Results (primary -0.0%, secondary -0.0%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-0.0% | [-0.0%, -0.0%] | 1 |
| Improvements ✅ (secondary) |
-0.0% | [-0.1%, -0.0%] | 11 |
| All ❌✅ (primary) | -0.0% | [-0.0%, -0.0%] | 1 |
#162065 c1f0df6 std: don't reference libc::O_NOFOLLOW on VxWorks in set_perm_nofollow
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162076 fcd65ae docs(num): clarify conditions under which error occurs in impl TryFrom<int> for int
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162111 ffe8942 Update mailmap for Will Crichton and Petr Hosek
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162152 930ad1a Revert "retrieve supported GCC targets from the sysroot"
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162153 8d31877 Prefer LLVMGetVersion for runtime info
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
Results (primary -0.0%, secondary -0.0%)
A less reliable metric. May be of interest, but not used to determine the overall result above.
| mean | range | count | |
|---|---|---|---|
| Regressions ❌ (primary) |
- | - | 0 |
| Regressions ❌ (secondary) |
- | - | 0 |
| Improvements ✅ (primary) |
-0.0% | [-0.0%, -0.0%] | 1 |
| Improvements ✅ (secondary) |
-0.0% | [-0.1%, -0.0%] | 11 |
| All ❌✅ (primary) | -0.0% | [-0.0%, -0.0%] | 1 |
#162168 434df5a fix ICE in project_goals/inherent
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
#162171 7eecd28 Explain LoongArch f16 NaN-boxing in inline asm
Instruction count
This perf run didn't have relevant results for this metric.
Max RSS (memory usage)
This perf run didn't have relevant results for this metric.
Cycles
This perf run didn't have relevant results for this metric.
Binary size
This perf run didn't have relevant results for this metric.
|
#155452 was a small perf improvement and this rollup contains its revert, so it could be involved. I for one hope it’s not caused by the mailmap PR 😅 |
|
Yea, the debug one is certainly one of those, it affects wg-grammar. |
|
FYI I'm triaging on all PRs because we likely want to go to automatically benchmarking all rollup members in the future. This is just a system stress-test, there will probably be more on future rollups :) |
Successful merges:
ComplexABI run-make test #161694 (addComplexABI run-make test)rustdoc-htmltests using--testinto the right folder #162014 (Move morerustdoc-htmltests using--testinto the right folder)forloop #161579 (suggest calling a fn item used as the iterator of aforloop)PerOwnerLoweringState#162120 (IntroducePerOwnerLoweringState)f16andf128#162151 (Test itanium mangling off16andf128)!in stability checks anymore #162162 (Don't special-case!in stability checks anymore)thir::ExprKind::UsetoValueExpr#162187 (Renamethir::ExprKind::UsetoValueExpr)f16andf128inline ASM support for PowerPC #161135 (Addf16andf128inline ASM support for PowerPC)#[track_caller]in async #161972 (Improve tests for#[track_caller]in async)boxpattern removal diagnostic more actionable & removeboxexpression recovery #162008 (Render theboxpattern removal diagnostic more actionable & removeboxexpression recovery)libc::O_NOFOLLOWon VxWorks inset_perm_nofollow#162065 (std: don't referencelibc::O_NOFOLLOWon VxWorks inset_perm_nofollow)impl TryFrom<int> for int#162076 (docs(num): clarify conditions under which error occurs inimpl TryFrom<int> for int)LLVMGetVersionfor runtime info #162153 (PreferLLVMGetVersionfor runtime info)r? @ghost
Create a similar rollup