-
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
[LLVM 4.0] Update AlwaysInliner pass header and constructor #37861
Conversation
r? @aturon (rust_highfive has picked a reviewer for you, use r? to override) |
Out of curiosity, do you know if there's an easily available "not legacy" version that we should be migrating towards? |
A good point, @alexcrichton! Here's what the header has to say: /// Inlines functions marked as "always_inline".
///
/// Note that this does not inline call sites marked as always_inline and does
/// not delete the functions even when all users are inlined. The normal
/// inliner should be used to handle call site inlining, this pass's goal is to
/// be the simplest possible pass to remove always_inline function definitions'
/// uses by inlining them. The \c GlobalDCE pass can be used to remove these
/// functions once all users are gone. It looks like it was introduced in llvm-mirror/llvm@b699f7b:
Do you know if the intended Rust usage of this pass includes any of those? |
The "legacy" part refers to the legacy pass manager as opposed to the new pass manager, so I don't think we can migrate without switching to the new pass manager wholesale, which seems (1) difficult and (2) premature since the new pass manager doesn't have feature parity yet AFAIK. |
Oh ok if this is just related to that infrastructure seems fine! @bors: r+ I fear the day the legacy pass manager goes away, but presumably we'll deal with that then. |
📌 Commit acc9efa has been approved by |
[LLVM 4.0] Update AlwaysInliner pass header and constructor
No description provided.