How to compile ghc 7.6.2 with llvm?

David Terei davidterei at
Wed Feb 13 00:39:27 CET 2013

Nothing straight forward to do this. You could do any of:

1) Look at the output of make a GHC is compiled. Verify that by and
large most lines have '-fllvm' on them.
2) As above but pipe output of building GHC to a file. Grep it later
for '-fllvm', you should get a very high count.
3) Add a "-v2" option to the build settings in, this will
give lots and lots of output, showing for example that the various
LLVM tools (llc, opt) are being called.
4) temporarily remove the llvm tools (opt, llc) from the command line
and verify that building GHC fails pretty quickly.

I'd say 2 is the best bet. However, if you chose "perf-llvm" as your
build setting and GHC built, you built GHC with LLVM.


On 12 February 2013 10:13, Magicloud Magiclouds
<magicloud.magiclouds at> wrote:
> Thank you for the replies. These are what I got, correct me if I am wrong:
> If I want to build ghc executables and standard libraries, all I need is to
> set perf-llvm.
> And set perf-llvm or not does not effect the ability of ghc to use llvm.
> Then how to check if the output files (executables, libraries) are generated
> by llvm, instead of gcc? In other words, to see if llvm was used correct.
> On Wed, Feb 13, 2013 at 1:09 AM, Brandon Allbery <allbery.b at>
> wrote:
>> On Tue, Feb 12, 2013 at 11:41 AM, Magicloud Magiclouds
>> <magicloud.magiclouds at> wrote:
>>>   Then I `mv`, set "BuildFlavour = perf-llvm",
>>> add "GhcWithLlvmCodeGen = YES". Finally `./configure
>>> --with-gcc=/usr/bin/llvm-gcc`. Configure output attached.
>>>   After make, I tried `inplace/bin/ghc-stage2 ¨Cinfo`, it is still using
>>> native code generator. What should I do?
>> 1. I think --with-gcc= is independent of the llvm code generator.
>> 2. Building the llvm codegen does not necessarily make it the *default*
>> codegen; I think native remains default.  I don't know if there's a way to
>> specify that llvm should be the default code generator.
>> fwiw, the ghc I have on here does not mention llvm in ghc --info, but ghc
>> -fllvm at least tries to work.
>> --
>> brandon s allbery kf8nh                               sine nomine
>> associates
>> allbery.b at
>> ballbery at
>> unix, openafs, kerberos, infrastructure, xmonad
> --
> ÖñÃÜÆñ·ÁÁ÷Ë®¹ý
> ɽ¸ßÄÄ×èÒ°ÔÆ·É
> And for G+, please use

More information about the Glasgow-haskell-users mailing list