-
Notifications
You must be signed in to change notification settings - Fork 13.7k
rustc: changes to allow an llvm update #83260
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
Conversation
…vailingInIndex This changed in 54fb3ca - I'm not entirely sure it's correct that we're leaving config empty, but the one case in LLVM that looked similar did that.
As far as I can tell what we've been getting is llvm::MaybeAlign(), so just use that for now. This is required sometime after 24539f1.
LLVM change 5fbd1a3 modified this function to want std::string instead of StringRef, which is easily done.
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @estebank (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
Related: #83261 , which is preventing LLVM being updated past this point. |
r? @nikic |
This will have to be accompanied by a LLVM submodule bump to a point where those changes can compile successfully, https://rustc-dev-guide.rust-lang.org/backend/updating-llvm.html. |
Right, I have that done locally, but it wasn't clear to me if I should include that in my PR. Should I put that commit on the end of the stack? |
What's the background here? Is this just to allow local testing with a newer LLVM? |
Yeah, the background is other teams are using LLVM HEAD, so we're curious to explore using Rust against the same very-recent LLVM HEAD revision. |
Updated, PTAL |
@bors r+ |
📌 Commit 9431e85 has been approved by |
We generally do not update to arbitrary snapshots of LLVM development anymore, preferring to stick to LLVM release branches. We can still add compatibility for newer though, just as we also support a couple releases back. |
☀️ Test successful - checks-actions |
This lets LLVM be built using 2b5f3f4, which is only a few weeks old. The next change in LLVM (5de2d18) breaks rustc again by removing a function that's exposed into the Rust code, but I'll file a bug about that separately.
Please scrutinize the
thinLTOResolvePrevailingInIndex
call, as I'm not at all sure an empty config is right.I'm also suspicious that a specific alignment could be specified in the call to CreateAtomicCmpXchg, but I don't know enough to figure that out.
Thanks!