Hi.
I’ve been experimenting with Julia by linking it against LLVM upstream’s new (4.0) libraries and experiencing several problems in build stage.
Compiling initial julia executable was possible by small patch : changing header file of jitlayers.cpp (llvm/Bitcode/ReaderWriter.h) to llvm/Bitcode/BitcodeReader.h, llvm/Bitcode/BitcodeWriter.h
But when Julia tries to build sysimg, it fails with segmentation fault while compiling precompile.jl.
After linking Julia against Debug build of llvm, I found out assertion of method getMostGenericTBAA was failing because LLVM no longer supports scalar TBAA tags.
https://github.com/llvm-mirror/llvm/commit/b73e1558ac8255d5df48d6d200ac6a5a20c968fd
So apparently I’ll have to upgrade (TBAA)metadata node that Julia feeds to llvm by llvm::UpgradeTBAANode method to make llvm happy but as I don’t fully understand code generation stage of Julia I thought it would be really helpful if somebody could help me out.
Will upgrading tbaa nodes (tbaa_gcframe, tbaa_stack, etc) inside codegen.cpp’s init_julia_llvm_meta be enough?
Thanks for your time in advance.