-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Move all LLVM externs into the rustc_llvm crate #142897
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
base: master
Are you sure you want to change the base?
Conversation
Some changes occurred in compiler/rustc_codegen_llvm/src/builder/autodiff.rs cc @ZuseZ4 These commits modify the If this was unintentional then you should revert the changes before this PR is merged. Some changes occurred in compiler/rustc_codegen_llvm/src/llvm/enzyme_ffi.rs cc @ZuseZ4 Some changes occurred in coverage instrumentation. cc @Zalathar |
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #143026) made this pull request unmergeable. Please resolve the merge conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've only skimmed this so far, but I think there are a few things we can do that will reduce some of the churn.
(The smaller we can make this, the more likely I'll be able to review it properly!)
Doing something like this was in my todo list for quite some time, but I expected to turn
look unexpected. |
@petrochenkov Types from those crates are used as part of inherent method implementations on FFI types. I could move them into extension methods or standalone functions in |
e865bbb
to
f092208
Compare
This comment has been minimized.
This comment has been minimized.
f092208
to
bb74561
Compare
This comment has been minimized.
This comment has been minimized.
I believe I've made the changes requested. I could use some input on two things:
edit: |
bb74561
to
39b9861
Compare
#17795 expresses a desire to test the LLVM bindings with
ctest
. A pre-requisite for that is to have all the LLVM externs in once place, rather than spread across multiple crates.Actually testing with
ctest
is blocked because the current version ofctest
uses a long out-of-date parser which cannot cope with eg.extern
blocks among other things. However there appears to be active work to build a new version ofctest
(see https://github.com/rust-lang/libc/tree/main/ctest-next)This PR does not intend to change any behaviour, only to move all FFI code into the
rustc_llvm
crate so that it may be tested at some future time.