Depending on multiple versions of LLVM can be very difficult. The GHC developers are looking at only supporting one: https://ghc.haskell.org/trac/ghc/wiki/ImprovedLLVMBackend