-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
improve compiler&tool documenting and re-enable cranelift on CI #117574
Conversation
(rustbot has picked a reviewer for you, use r? to override) |
Signed-off-by: onur-ozkan <[email protected]>
Signed-off-by: onur-ozkan <[email protected]>
Either generate it with the actual codegen backend dylib or omit it entirely when the cranelift backend is disabled for this build.
self.number_of_times_dry_runs_have_caused_issues += 1;
91d297f
to
451778b
Compare
Signed-off-by: onur-ozkan <[email protected]>
49e5ef5
to
55b4945
Compare
Thanks a lot for working on this! Could you add the following patch? I found this unintended change while I was (unsuccessfully) trying to figure out the doc issue too. Author: bjorn3 <[email protected]>
Date: Sat Nov 4 12:47:05 2023 +0000
Don't disable inline asm usage in compiler-builtins when the cranelift backend is enabled
This was a leftover from when inline asm wasn't universally supported by
the cranelift backend yet. It would cause the optimized inline asm
intrinsics to be avoided for the standard library distributed with
rustup now that we build the cranelift backend by default on nightly for
several tier 1 targets.
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 1eed534150b..8ab0ef61c50 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -413,11 +413,6 @@ pub fn std_cargo(builder: &Builder<'_>, target: TargetSelection, stage: u32, car
let mut features = String::new();
- // Cranelift doesn't support `asm`.
- if stage != 0 && builder.config.default_codegen_backend().unwrap_or_default() == "cranelift" {
- features += " compiler-builtins-no-asm";
- }
-
if builder.no_std(target) == Some(true) {
features += " compiler-builtins-mem";
if !target.starts_with("bpf") { |
2501bb6
to
55b4945
Compare
It gives "fatal: empty ident name (for <>) not allowed" when I try to |
You could try |
…t backend is enabled This was a leftover from when inline asm wasn't universally supported by the cranelift backend yet. It would cause the optimized inline asm intrinsics to be avoided for the standard library distributed with rustup now that we build the cranelift backend by default on nightly for several tier 1 targets.
Seems like rustdoc and rustdoc_json_types docs are also missing. Let's block the PR until I fix them. @rustbot blocked |
In general r=me, but happy to see this build docs in CI (via a try build, likely with a change like this to re-enable docs: 43f592f) before we land it. Happy to re-review with the extra fix you mention (but not strictly needed if similar changes). |
@bors try |
…g, r=<try> re-enable cranelift on CI First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly, allowing us to detect these hard-to-catch bugs on CI. The remaining three commits cherry-picked from rust-lang#117328 to re-enable the Cranelift backend on CI. More info: rust-lang#117430 cc `@bjorn3` `@RalfJung`
💔 Test failed - checks-actions |
@bors try |
…g, r=<try> re-enable cranelift on CI First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly, allowing us to detect these hard-to-catch bugs on CI. Following three commits cherry-picked from rust-lang#117328 to re-enable the Cranelift backend on CI. More info: rust-lang#117430 cc `@bjorn3` `@RalfJung`
💔 Test failed - checks-actions |
a3fe394
to
32946d2
Compare
@bors try |
…g, r=<try> re-enable cranelift on CI First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly, allowing us to detect these hard-to-catch bugs on CI. Following three commits cherry-picked from rust-lang#117328 to re-enable the Cranelift backend on CI. More info: rust-lang#117430 cc `@bjorn3` `@RalfJung`
☀️ Try build successful - checks-actions |
Here the try build that includes compiler docs: https://ci-artifacts.rust-lang.org/rustc-builds/dc8c8311ce31a9e8e92f63c098be23b53f2bfc21/rustc-docs-nightly-x86_64-unknown-linux-gnu.tar.xz. However, it's missing rustdoc pages. I will trigger bors for another try build (I can't debug this build locally, working with a laptop atm) to see if this issue gets resolved. If not, I will continue working on it tonight or early tomorrow on my desktop (so I can debug things faster). EDIT: It seems the last attempt fixed rustdoc problem! |
32946d2
to
43bc2dd
Compare
@bors try |
…g, r=<try> re-enable cranelift on CI First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly, allowing us to detect these hard-to-catch bugs on CI. Following three commits cherry-picked from rust-lang#117328 to re-enable the Cranelift backend on CI. More info: rust-lang#117430 cc `@bjorn3` `@RalfJung`
☀️ Try build successful - checks-actions |
Signed-off-by: onur-ozkan <[email protected]>
43bc2dd
to
b0df821
Compare
No strict changes have been applied. Also, we are able to catch missing-doc problem for compiler and tool crates (like here https://github.com/rust-lang-ci/rust/actions/runs/6760207883/job/18373700086#step:25:28933), so it should be fine to r. @bors r=Mark-Simulacrum rollup=never |
☀️ Test successful - checks-actions |
Finished benchmarking commit (6c7de31): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 635.747s -> 638.861s (0.49%) |
84: Automated pull from upstream `master` r=Dajamante a=github-actions[bot] This PR pulls the following changes from the upstream repository: * rust-lang/rust#117585 * rust-lang/rust#117576 * rust-lang/rust#96979 * rust-lang/rust#117191 * rust-lang/rust#117179 * rust-lang/rust#117574 * rust-lang/rust#117537 * rust-lang/rust#117608 * rust-lang/rust#117596 * rust-lang/rust#117588 * rust-lang/rust#117524 * rust-lang/rust#116017 * rust-lang/rust#117504 * rust-lang/rust#117469 * rust-lang/rust#116218 * rust-lang/rust#117589 * rust-lang/rust#117581 * rust-lang/rust#117503 * rust-lang/rust#117590 * rust-lang/rust#117583 * rust-lang/rust#117570 * rust-lang/rust#117562 * rust-lang/rust#117534 * rust-lang/rust#116894 * rust-lang/rust#110340 * rust-lang/rust#113343 * rust-lang/rust#117579 * rust-lang/rust#117094 * rust-lang/rust#117566 * rust-lang/rust#117564 * rust-lang/rust#117554 * rust-lang/rust#117550 * rust-lang/rust#117343 * rust-lang/rust#115274 * rust-lang/rust#117540 * rust-lang/rust#116412 * rust-lang/rust#115333 * rust-lang/rust#117507 * rust-lang/rust#117538 * rust-lang/rust#117533 * rust-lang/rust#117523 * rust-lang/rust#117520 * rust-lang/rust#117505 * rust-lang/rust#117434 * rust-lang/rust#117535 * rust-lang/rust#117510 * rust-lang/rust#116439 * rust-lang/rust#117508 Co-authored-by: Ben Wiederhake <[email protected]> Co-authored-by: SabrinaJewson <[email protected]> Co-authored-by: J-ZhengLi <[email protected]> Co-authored-by: koka <[email protected]> Co-authored-by: bjorn3 <[email protected]> Co-authored-by: Joshua Liebow-Feeser <[email protected]> Co-authored-by: lengyijun <[email protected]> Co-authored-by: Zalathar <[email protected]> Co-authored-by: Oli Scherer <[email protected]> Co-authored-by: Philipp Krones <[email protected]> Co-authored-by: y21 <[email protected]> Co-authored-by: bors <[email protected]> Co-authored-by: bohan <[email protected]>
First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly (with later commits we added this check for tools as well), allowing us to detect these hard-to-catch bugs on CI. Following three commits cherry-picked from #117328 to re-enable the Cranelift backend on CI.
More info: #117430
cc @bjorn3 @RalfJung