Rollup of 12 pull requests#157095
Conversation
This patch updates the compiler and std code to match recent libc updates affecting AIX targets. In particular: - Fix `libc::loadquery` to use `*mut c_void` instead of `*mut u8`, which is aligned with the expected FFI signature. - Replace `st_*time` stat fields with the newer `st_atim`, `st_mtim`, `st_ctim` fields across AIX-specific filesystem code.
`generics_of` interns some strings unnecessarily, because the resulting symbols are never used. This commit uses `sym::empty` instead.
This seems like it was an oversight. It will be necessary in a future PR to serialize MaybeLtoModules as necessary to move LTO to the link phase.
This would be useful for codegen backends that don't support LTO, yet do want to implement WriteBackendMethods.
This used to be a FCW emitted along the way. But it's a hard error now, so we should handle it like other cast errors.
Turns out these were all making `OperandValue::Immediate`s already -- the intrinsic always returns a primitive scalar -- so pretty easy to handle. While I was looking at it, I also "rustified" the intrinsic signature a bit: returning a `bool` and taking a generic pointee and `unsafe fn`s cleans up the call in `std` a bit without making the implementation in the backend any harder.
It was useful initially when bootstrapping the minicore test infra to keep an close eye on how well it was working and if it ran into problems. The ping now has outlived its usefulness.
…nwind, r=dianqk Stop needing an alloca for `catch_unwind` Turns out these were all making `OperandValue::Immediate`s already -- the intrinsic always returns a primitive scalar -- so pretty easy to handle. cc rust-lang#153250 rust-lang/compiler-team#970 While I was looking at it, I also "rustified" the intrinsic signature a bit: returning a `bool` and taking a generic pointee and `unsafe fn`s cleans up the call in `std` a bit without making the implementation in the backend any harder. r? dianqk
Couple of changes to help with moving LTO to the link phase Part of rust-lang/compiler-team#908
add inline to copy_within In [lz4_flex](https://github.com/PSeitz/lz4_flex) a fixed size parameter is used to `copy_within` to avoid calls to libc memmove. However, I can see in the call stack still see calls to libc. I think it's because of the missing `inline`. It's using the equivalent of this: [https://godbolt.org/z/cKqYYvKbT](https://godbolt.org/z/cKqYYvKbT) (in this example `copy_within` is getting inlined)
…RalfJung
Add splitting caveats to `{read,write}_volatile`
It sounds like we don't actually have guarantees right now ([#t-opsem > Defining volatile splitting @ 💬](https://rust-lang.zulipchat.com/#narrow/channel/136281-t-opsem/topic/Defining.20volatile.20splitting/near/597476292)) so let's document that. I think this doesn't need an FCP since it's not actually guaranteeing anything.
…hercote Add frame pointer annotations to the module While working on rust-lang#156973 I found llvm/llvm-project#188234 which points out that the frame pointer annotation is also missing.
…, r=JohnTitor [AIX] Sync compiler and std with libc changes This patch updates the compiler and std code to match recent libc updates affecting AIX targets. In particular: - Fix `libc::loadquery` to use `*mut c_void` instead of `*mut u8`, which is aligned with the expected FFI signature. - Replace `st_*time` stat fields with the newer `st_atim`, `st_mtim`, `st_ctim` fields across AIX-specific filesystem code.
…r=adwinwhite Avoid some symbol interning `generics_of` interns some strings unnecessarily, because the resulting symbols are never used. This commit uses `sym::empty` instead. r? @adwinwhite
…ubilee android: implement file locking by calling flock Fixes rust-lang#148325
…r=yotamofek Fix `cfg` typo in rustdoc book Fixes typo spotted by @yotamofek [here](rust-lang#157039 (comment)). r? @yotamofek
Fix typo in Rustdoc release notes
…r=JohnTitor Clean up error reporting for impl Drop enum casts This used to be a FCW emitted along the way. But it's a hard error now, so we should handle it like other cast errors.
…core-ping, r=jieyouxu Remove minicore ping for myself It was useful initially when bootstrapping the minicore test infra to keep an close eye on how well it was working and if it ran into problems. The ping now has outlived its usefulness. (To improve my ping/notif SNR.) r? ghost
|
💔 Test for 8cac4fc failed: CI. Failed job:
|
|
@bors retry |
|
@bors treeclosed=1 |
|
Tree closed for PRs with priority less than 1. |
This comment has been minimized.
This comment has been minimized.
|
@bors treeopen |
|
Tree is now open for merging. |
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 dc375db (parent) -> b5d1746 (this PR) Test differencesShow 186 test diffs186 doctest diffs were found. These are ignored, as they are noisy. Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard b5d1746e7d25465729706ac5a0004b035e219d01 --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 |
|
📌 Perf builds for each rolled up PR:
previous master: dc375db7d8 In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (b5d1746): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@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 -0.9%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.1%, secondary 3.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.2%, secondary -0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 510.27s -> 510.23s (-0.01%) |
Successful merges:
catch_unwind#156867 (Stop needing an alloca forcatch_unwind){read,write}_volatile#156931 (Add splitting caveats to{read,write}_volatile)cfgtypo in rustdoc book #157071 (Fixcfgtypo in rustdoc book)r? @ghost
Create a similar rollup