-
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
Driver improvements #85810
Driver improvements #85810
Conversation
Some changes occured to rustc_codegen_cranelift cc @bjorn3 |
r? @varkor (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
cd842fd
to
341504d
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
9cae7dc
to
6e0097e
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
c6e8b4b
to
3753457
Compare
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 3753457cfed654d730a9f6c9e8fceaba295b668f with merge f484bc0cdcc82a00541b6f91df1f07c698a37931... |
☀️ Try build successful - checks-actions |
Queued f484bc0cdcc82a00541b6f91df1f07c698a37931 with parent 5957990, future comparison URL. |
Finished benchmarking try commit (f484bc0cdcc82a00541b6f91df1f07c698a37931): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
This is a slight improvement with only a few small regressions. |
Rebased on d209114. |
Both cg_llvm and cg_clif don't override it. cg_spirv does override it, so it needs to be preserved.
For extern providers, both provide and provide_extern are called. wasm_import_module_map is already provided in provide, so it doesn't need to be provided in provide_extern.
This reduces the amount of unsafe code in get_codegen_backend
3753457
to
435b540
Compare
@bors r+ |
📌 Commit 435b540 has been approved by |
☀️ Test successful - checks-actions |
Don't use a generator for BoxedResolver The generator is non-trivial and requires unsafe code anyway. Using regular unsafe code without a generator is much easier to follow. Based on rust-lang#85810 as it touches rustc_interface too.
Driver improvements This PR contains a couple of cleanups for the driver and a few small improvements for the custom codegen backend interface. It also implements `--version` and `-Cpasses=list` support for custom codegen backends.
…illot Avoid a branch on key being local for queries that use the same local and extern providers Currently based on rust-lang#85810 as it slightly conflicts with it. Only the last two commits are new.
This PR contains a couple of cleanups for the driver and a few small improvements for the custom codegen backend interface. It also implements
--version
and-Cpasses=list
support for custom codegen backends.