Skip to content

Distribute rustc_codegen_cranelift for Windows #128939

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Sep 9, 2024

Conversation

bjorn3
Copy link
Member

@bjorn3 bjorn3 commented Aug 10, 2024

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in #81746 (comment) are fixed now.

@rustbot
Copy link
Collaborator

rustbot commented Aug 10, 2024

r? @albertlarsan68

rustbot has assigned @albertlarsan68.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Aug 10, 2024
@bjorn3
Copy link
Member Author

bjorn3 commented Aug 10, 2024

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 10, 2024
…<try>

[WIP] Distribute rustc_codegen_cranelift for Windows

try-job: dist-x86_64-msvc
try-job: dist-i686-msvc
try-job: dist-i686-mingw
try-job: dist-x86_64-mingw
@bors
Copy link
Collaborator

bors commented Aug 10, 2024

⌛ Trying commit 8a8896d with merge d3b4306...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Aug 10, 2024

☀️ Try build successful - checks-actions
Build commit: d3b4306 (d3b4306976392198298d7ef958db7a4c9b0610c5)

@bjorn3 bjorn3 force-pushed the windows_cg_clif_component branch from 8a8896d to 2dbc976 Compare August 10, 2024 21:17
@bjorn3
Copy link
Member Author

bjorn3 commented Aug 10, 2024

If someone on Windows could check if the above try build produced a toolchain with working cg_clif, that would be appreciated.

@lqd
Copy link
Member

lqd commented Aug 10, 2024

A reboot later.

I was expecting to install it like the following:

> rustup-toolchain-install-master d3b4306976392198298d7ef958db7a4c9b0610c5 --component rustc-codegen-cranelift-preview
error: missing component `rustc-codegen-cranelift-preview` on toolchain `d3b4306976392198298d7ef958db7a4c9b0610c5` on channel `nightly` for target `x86_64-pc-windows-msvc`

With luck I tried with the component named as rustc-codegen-cranelift though, and the toolchain installed successfully!

This is how a helloworld looks:

$ cargo clean -q && CARGO_PROFILE_DEV_CODEGEN_BACKEND=cranelift cargo +d3b4306976392198298d7ef958db7a4c9b0610c5 run -Zcodegen-backend -q
Hello, world!

I'm not sure if there's a way to ensure cg_clif was used, but I'd assume so.

@bjorn3
Copy link
Member Author

bjorn3 commented Aug 11, 2024

Thanks for checking!

@bjorn3 bjorn3 changed the title [WIP] Distribute rustc_codegen_cranelift for Windows Distribute rustc_codegen_cranelift for Windows Aug 11, 2024
@bjorn3 bjorn3 marked this pull request as ready for review August 11, 2024 08:27
@bjorn3 bjorn3 added A-cranelift Things relevant to the [future] cranelift backend and removed A-testsuite Area: The testsuite used to check the correctness of rustc labels Aug 11, 2024
@albertlarsan68
Copy link
Member

(sorry for the slow review, I needed time off)

Thanks for the PR!
@bors r+

@bors
Copy link
Collaborator

bors commented Sep 4, 2024

📌 Commit 2dbc976 has been approved by albertlarsan68

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 4, 2024
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Sep 6, 2024
…r=albertlarsan68

Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in rust-lang#81746 (comment) are fixed now.
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 6, 2024
…llaumeGomez

Rollup of 7 pull requests

Successful merges:

 - rust-lang#119229 (Update mingw-w64 + GNU toolchain)
 - rust-lang#128871 (bypass linker configuration and cross target check for specific commands)
 - rust-lang#128939 (Distribute rustc_codegen_cranelift for Windows)
 - rust-lang#129529 (Add test to build crates used by r-a on stable)
 - rust-lang#129624 (Adjust `memchr` pinning and run `cargo update`)
 - rust-lang#129835 (enable const-float-classify test, and test_next_up/down on 32bit x86)
 - rust-lang#130009 (rustdoc-search: allow trailing `Foo ->` arg search)

r? `@ghost`
`@rustbot` modify labels: rollup
@GuillaumeGomez
Copy link
Member

I wonder if this the one which failed in #130027...

@lqd
Copy link
Member

lqd commented Sep 6, 2024

Doesn't look like it, windows CI's just on fire at the moment, but you can rollup=never if that'd make you feel better :)

@GuillaumeGomez
Copy link
Member

I was just blindly guessing because no PR seemed to fit the failure and someone commented on the rollup that it's a known flaky bug. So all good here.

workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Sep 9, 2024
…r=albertlarsan68

Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in rust-lang#81746 (comment) are fixed now.
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Sep 9, 2024
…r=albertlarsan68

Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in rust-lang#81746 (comment) are fixed now.
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 9, 2024
…kingjubilee

Rollup of 16 pull requests

Successful merges:

 - rust-lang#119229 (Update mingw-w64 + GNU toolchain)
 - rust-lang#128345 (added support for GNU/Hurd on x86_64)
 - rust-lang#128667 (rustdoc: normalise type/field names)
 - rust-lang#128939 (Distribute rustc_codegen_cranelift for Windows)
 - rust-lang#129529 (Add test to build crates used by r-a on stable)
 - rust-lang#129624 (Adjust `memchr` pinning and run `cargo update`)
 - rust-lang#129876 (Use sysroot crates maximally in `rustc_codegen_gcc`.)
 - rust-lang#130034 ( Fix enabling wasm-component-ld to match other tools )
 - rust-lang#130048 (run-make-support: Add llvm-pdbutil)
 - rust-lang#130068 (Test codegen when setting deployment target)
 - rust-lang#130070 (Rename variant `AddrOfRegion` of `RegionVariableOrigin` to `BorrowRegion`)
 - rust-lang#130087 (remove 'const' from 'Option::iter')
 - rust-lang#130090 (make Result::copied unstably const)
 - rust-lang#130092 (Fixes typo in wasm32-wasip2 doc comment)
 - rust-lang#130107 (const: make ptr.is_null() stop execution on ambiguity)
 - rust-lang#130115 (Remove needless returns detected by clippy in libraries)

r? `@ghost`
`@rustbot` modify labels: rollup
@workingjubilee
Copy link
Member

It's not about you, it's about Windows.

@bors rollup=iffy

bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 9, 2024
…albertlarsan68

Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in rust-lang#81746 (comment) are fixed now.
@bors
Copy link
Collaborator

bors commented Sep 9, 2024

⌛ Testing commit 2dbc976 with merge 3d9d39f...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-msvc-ext2 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] miri test:false 4.409
error: failed to remove file `C:\a\rust\rust\build\x86_64-pc-windows-msvc\stage1-tools\x86_64-pc-windows-msvc\release\miri.exe`

Caused by:
  Access is denied. (os error 5)
Command has failed. Rerun with -v to see more details.
  local time: Mon, Sep  9, 2024  3:14:55 PM
  network time: Mon, 09 Sep 2024 15:14:55 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@bors
Copy link
Collaborator

bors commented Sep 9, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Sep 9, 2024
@ChrisDenton
Copy link
Member

@bors retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Sep 9, 2024
@bors
Copy link
Collaborator

bors commented Sep 9, 2024

⌛ Testing commit 2dbc976 with merge d7522d8...

@bors
Copy link
Collaborator

bors commented Sep 9, 2024

☀️ Test successful - checks-actions
Approved by: albertlarsan68
Pushing d7522d8 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Sep 9, 2024
@bors bors merged commit d7522d8 into rust-lang:master Sep 9, 2024
7 checks passed
@rustbot rustbot added this to the 1.83.0 milestone Sep 9, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d7522d8): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.5% [-0.5%, -0.5%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.1%, secondary 2.8%)

This 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.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.8% [2.6%, 3.0%] 2
Improvements ✅
(primary)
-2.1% [-2.1%, -2.1%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.1% [-2.1%, -2.1%] 1

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 757.15s -> 756.6s (-0.07%)
Artifact size: 341.19 MiB -> 341.19 MiB (-0.00%)

@bjorn3 bjorn3 deleted the windows_cg_clif_component branch September 10, 2024 15:42
bjorn3 pushed a commit to bjorn3/rust that referenced this pull request Sep 22, 2024
…albertlarsan68

Distribute rustc_codegen_cranelift for Windows

With support for raw-dylib recently added to cg_clif, and inline assembly support working on Windows for quite a while now, all blockers for distributing cg_clif on Windows that I mentioned in rust-lang#81746 (comment) are fixed now.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-cranelift Things relevant to the [future] cranelift backend merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants