From: Luke Lau Date: Sun, 19 May 2019 14:58:31 +0000 (+0100) Subject: Set up the LLVM context and optimise the module X-Git-Url: http://git.lukelau.me/?a=commitdiff_plain;ds=sidebyside;h=71d6ead1c5a14f206f5d7c8d4b9d1cbfed4a90db;hp=71d6ead1c5a14f206f5d7c8d4b9d1cbfed4a90db;p=kaleidoscope-hs.git 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. ---