Building with newer LLVM

What’s the canonical way to build julia with a newer LLVM version (I realize this is “experimental”)?

Can I just download the tarball of the version I care about, and swap it out for the default (v13 for julia_1.8.5) inside of the deps folder of the julia “full” release tarball? Are there “version” flags I can pass to Make.user that will automatically fetch the version I’m interested in (version 16)?


You can do that, but it won’t work. For reference, this is the amount that needs to be changed to update a LLVM version (this is taking Julia from 14 to 15). Julia uses a lot of LLVM so breaking LLVM changes (which there are in every major version bump) will definitely need to be accounted for.

If you want to try Julia with LLVM 16, you’re best bet is to start from the PR I linked since that will mean you only have to deal with 1 set of breaking changes.

Thanks @Oscar_Smith!

This PR is probably larger than what LLVM 16 will need because LLVM15 brings opaque pointers which are kind of a bigger change