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: https://git.lukelau.me/?p=kaleidoscope-hs.git;a=commitdiff_plain;h=bdb5ef3da162c9a093c61d48d5deec8262943047;hp=bdb5ef3da162c9a093c61d48d5deec8262943047 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. ---