-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Add link attribute for Enzyme's LLVMRust FFI #136374
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
Conversation
cc @oli-obk I'll look again at the code over the weekend. Maybe it's the query we discussed? |
That enzyme PR had a few perf regressions, I don’t know if it needs more time to iron these issues out. Maybe we should wait a bit and see what happens there to know when to land this one? Apart from that it looks good to me. |
There are some lines which I can just gate against the enzyme cfg - by default we don't build enzyme, so they wouldn't be executed. I just didn't consider them having an impact. Can we bench that before reverting please? I can do that today. |
Oh for sure! If there’s a fix, it would be better than doing a revert. (This PR is a fix for the linkage issue though, let’s keep the perf discussion in #133429) |
r? oli-obk @bors r+ rollup |
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#130514 (Implement MIR lowering for unsafe binders) - rust-lang#135684 (docs: Documented Send and Sync requirements for Mutex + MutexGuard) - rust-lang#136307 (Implement all mix/max functions in a (hopefully) more optimization amendable way) - rust-lang#136360 (Stabilize `once_wait`) - rust-lang#136364 (document that ptr cmp is unsigned) - rust-lang#136374 (Add link attribute for Enzyme's LLVMRust FFI) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 6 pull requests Successful merges: - rust-lang#130514 (Implement MIR lowering for unsafe binders) - rust-lang#135684 (docs: Documented Send and Sync requirements for Mutex + MutexGuard) - rust-lang#136307 (Implement all mix/max functions in a (hopefully) more optimization amendable way) - rust-lang#136360 (Stabilize `once_wait`) - rust-lang#136364 (document that ptr cmp is unsigned) - rust-lang#136374 (Add link attribute for Enzyme's LLVMRust FFI) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#136374 - saethlin:enzyme-linkage, r=oli-obk Add link attribute for Enzyme's LLVMRust FFI Since rust-lang#133429 landed, the compiler doesn't build with `-Zcross-crate-inline-threshold=always`. I don't expect anyone else to test or fix issues with that goofy configuration, so I'm fixing it. This PR adds a link attribute just like rust-lang#118142 for all the new LLVMRust functions. They were actually added in rust-lang#130060 but weren't used until just now.
Since #133429 landed, the compiler doesn't build with
-Zcross-crate-inline-threshold=always
. I don't expect anyone else to test or fix issues with that goofy configuration, so I'm fixing it.This PR adds a link attribute just like #118142 for all the new LLVMRust functions. They were actually added in #130060 but weren't used until just now.