cabal file: add llvm-general-pure as dependency
codegen: pass AST.MODULE to CodeOpt