Skip to content

Sync rustc_codegen_cranelift #85743

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

Merged
merged 53 commits into from
May 28, 2021
Merged

Conversation

bjorn3
Copy link
Member

@bjorn3 bjorn3 commented May 27, 2021

The main highlight this sync is the removal of several dependencies, making compilation of cg_clif itself faster. There have also been a couple of new features like #[link_section] now supporting different segments for Mach-O binaries (thanks @eggyal!) and the imported_main feature, which is currently unstable.

r? @ghost

@rustbot label +A-codegen +A-cranelift +T-compiler

crlf0710 and others added 30 commits April 29, 2021 08:35
Set correct segment from #[link_section] for MachO
This is one step towards separating the linking code from codegen backends
This removes all the byteorder and thiserror dependencies. This results
in no proc macros being necessary anymore.
This commit implements both the native linking modifiers infrastructure
as well as an initial attempt at the individual modifiers from the RFC.
It also introduces a feature flag for the general syntax along with
individual feature flags for each modifier.
Git seems to not be able to handle it in some cases. Thanks to @vramana
for reporting this on Zulip.
rustc_driver cleanup

Best reviewed one commit at a time.
bjorn3 and others added 16 commits May 16, 2021 10:45
This is necessary to support the cpufeatures crate

Fixes rust-lang#1173
Remove CrateNum parameter for queries that only work on local crate

The pervasive `CrateNum` parameter is a remnant of the multi-crate rustc idea.

Using `()` as query key in those cases avoids having to worry about the validity of the query key.
- make Allocation API offset-based (no more Pointer)
- make Memory API higher-level (combine checking for access and getting access into one operation)
@rustbot rustbot added A-codegen Area: Code generation A-cranelift Things relevant to the [future] cranelift backend T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 27, 2021
@bjorn3
Copy link
Member Author

bjorn3 commented May 27, 2021

@bors r+

Subtree sync and removing some no longer existing dependencies from tidy's PERMITTED_CRANELIFT_DEPENDENCIES list.

@bors
Copy link
Collaborator

bors commented May 27, 2021

📌 Commit 6487127 has been approved by bjorn3

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 27, 2021
@bors
Copy link
Collaborator

bors commented May 28, 2021

⌛ Testing commit 6487127 with merge df3d86b...

@bors
Copy link
Collaborator

bors commented May 28, 2021

☀️ Test successful - checks-actions
Approved by: bjorn3
Pushing df3d86b to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 28, 2021
@bors bors merged commit df3d86b into rust-lang:master May 28, 2021
@rustbot rustbot added this to the 1.54.0 milestone May 28, 2021
@bjorn3 bjorn3 deleted the sync_cg_clif-2021-05-27 branch May 28, 2021 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-codegen Area: Code generation 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-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.