Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
llvm: convert bitcode in static archives to object code
In #106925, I enabled LTO for our LLVM build. This creates static archives that contain LLVM bitcode instead of object code. This makes the static archives more difficult to use, requiring workarounds such as https://github.com/Homebrew/homebrew-core/blob/c01f1794fc3decce04b71cae03966213fc7af34d/Formula/enzyme.rb#L30 and has caused problems for multiple downstream projects. We can fix this by converting the bitcode into object code, which is what Fedora does with their LLVM build. They also build their toolchain with LTO. Alternatively, we can disable LTO, but that foregoes significant speedups we get from enabling it. While we're here, let's add some test coverage for features that were recently enabled that we don't test. Fixes: ziglang/zig#12923 halide/Halide#7055 mesonbuild/meson#10879 Homebrew/discussions#3666
- Loading branch information