-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
[WIP][DO NOT MERGE] preparation work for llvm 7.0.0 #28809
Conversation
vchuravy
commented
Aug 21, 2018
- filter patch list
- bump magic number
Tested with:
Patches that need update
@Keno do you have bandwidth to update D50010/D50167? Since that also means that they probably don't apply to master anymore. |
Yeah, I can take a look at that. |
I'm trying to package Julia 1.0 for void-linux over at void-linux/void-packages#2290. Simultaneously, void was hoping to upgrade their shipped llvm to 7 and no longer include 6 (I realize that shipping Julia 1.0.0 with the system-provided llvm 7 would be a highly unsupported configuration; that's not what this is about). Could you comment on why the patches that were carried over from llvm 6 didn't make it upstream in 7? EDIT: Link to webpages with info about why each Julia llvm patch not in upstream llvm 7 because it's somewhat silly to ask others to answer questions I haven't even attempted to look at myself.
As an overview for anyone else interested, the upstreaming efforts seem to have mostly stalled either because nobody from llvm seems to have looked at the patch or they requested additional tests be added with the patch. Other than that, there were a couple that I couldn't really track down the whole story on, and two new patches for LLVM 7 that I think just haven't had enough time to make it upstream yet. |
Yeah that seems pretty accurate. #23611 I suspect the larger discussion that Keno wanted to have is how frontends are supposed to handle custom address spaces. One alternative is #22414 Note that even shipping Julia with a system provided LLVM 6 is discouraged, some of our patches were not backported to 6.0.1 since they were either feature changes or interacted badly with other parts. We test our LLVM configuration for our use-cases exhaustively, but I would caution against using our configuration as a system LLVM, since that needs to support a much wider variety of use-cases. |
Is there any work remaining for LLVM 7 or should it "just work" if I try building from source with these patches? |
Whether I try
I merged this PR into master, because this PR would give me OpenBLAS build errors. |
I haven't found time to update the two patches that currently don't apply.
So that's why this is DNM. We should also update straight to LLVM 7.1.0
|
This PR is not about updating the julia code to compile against llvm 7 -- it is about revendoring the set of custom patches used when building with a vendored llvm. If you want to compile against llvm 7, you'll need to start with e.g. the last two commits on https://github.com/eli-schwartz/julia/commits/llvm7 and then continue to adapt to other llvm changes, which requires a lot more work than just updating the llvm source tarball. You can test it by configuring julia to build with an existing system version of llvm and noting the various compiler errors -- I fixed the first two, then gave up when it traveled into C++ template hell. |
replaced by #31849 |