<s>Set up the LLVM context and optimise the module
authorLuke Lau <luke_lau@icloud.com>
Sun, 19 May 2019 14:58:31 +0000 (15:58 +0100)
committerLuke Lau <luke_lau@icloud.com>
Thu, 7 Nov 2019 17:10:39 +0000 (17:10 +0000)
commit8386b89c4a269b7ba16a3a26517894c33393a795
tree801ff39b2b727944f56a1355b161fec8973f6039
parent8c8af9bee8528de4d02be18123a953a95d35c037
<s>Set up the LLVM context and optimise the module

Now that we have some LLVM IR generated, we can run PassManager on our
module to get a bunch of neat optimisations on it. Try it out with 3 + 2
to see some constant folding.
Note that the original tutorial uses FunctionPassManager which optimises
on a function per function basis: llvm-hs doesn't expose this yet (and
this is all using the legacy pass manager anyway), so for now we just
optimise the entire module at the end.
Main.hs
Utils.hs