<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi all,</div><div class=""><br class=""></div><div class="">while looking at the GHC 8 Trac page I encountered the page</div><div class="">about the plans for the improved LLVM backend:</div><div class=""><br class=""></div><a href="https://ghc.haskell.org/trac/ghc/wiki/ImprovedLLVMBackend" class="">https://ghc.haskell.org/trac/ghc/wiki/ImprovedLLVMBackend</a><div class=""><br class=""></div><div class="">I know nearly nothing about the internals of the GHC backend so </div><div class="">I may be asking something trivial, but from reading that page</div><div class="">I understand that GHC currently calls LLVM command line tools</div><div class="">to optimize and compile the IR, is it right?</div><div class=""><br class=""></div><div class=""><div class="">LLVM is a C++ library, but it also exports a portable and stable C API</div><div class="">which I think is already covered by the llvm-general package.</div></div><div class=""><br class=""></div><div class="">So as someone who worked on LLVM in the past, and appreciated</div><div class="">its library-based integration-friendly design I’m wondering why is</div><div class="">GHC using the command line tools instead of linking to the library?</div><div class=""><br class=""></div><div class="">Best Regards,</div><div class="">Nicola</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>