Yggdrasil icon indicating copy to clipboard operation
Yggdrasil copied to clipboard

LLVM bootstrap builtins

Open vchuravy opened this issue 5 years ago • 6 comments

vchuravy avatar Sep 19 '20 20:09 vchuravy

Not ready yet, but I made progress on convincing cmake that this is a good idea.

https://github.com/llvm/llvm-project/blob/f4e554180962aa6bc93678898b6933ea712bde50/clang/cmake/caches/Fuchsia-stage2.cmake#L97 makes me a bit nervous

vchuravy avatar Sep 19 '20 20:09 vchuravy

Needs https://github.com/JuliaPackaging/BinaryBuilderBase.jl/pull/34

But otherwise build builtins for many platforms.

vchuravy avatar Sep 22 '20 01:09 vchuravy

For the record, there are many reasons why it'd be great to get this done eventually. Among them:

  • this will probably make it possible to do LTO (link-time optimisation) when we build with clang, not possible at the moment
  • it'd make LLVMCompilerRT_jll redundant
  • it'd probably be a bit easier to get LLVM OpenMP instead of using LLVMOpenMP_jll
  • flang has a static runtime library (similar to compiler-rt). On the one hand this lets us avoid the libgfortran explosion, on the other hand... well, we need that library built for all targets!

giordano avatar Mar 23 '22 12:03 giordano

For the record, there are many reasons why it'd be great to get this done eventually. Among them: [...]

Adding https://github.com/JuliaPackaging/Yggdrasil/pull/3540 to the list 😄

ararslan avatar Sep 28 '22 17:09 ararslan

Adding #3540 to the list :smile:

But that was for LLVM (a regular JLL package), not the LLVMBootstrap we use for building packages, right?

giordano avatar Sep 30 '22 10:09 giordano

IIUC, including libunwind, libcxx, and libcxxabi as part of the LLVM bootstrap build would make things[what things?] easier.[citation needed] But the probability associated with "IIUC" is roughly 0.5.

ararslan avatar Sep 30 '22 17:09 ararslan