#pragma once #include "ast.h" #include "cimport.h" #include #include #include #include // All files of the program (the main file first, then its modules) become one LLVM module. // `tm` describes the machine we compile for (sizes, alignment), which shapes the IR. std::unique_ptr generate(const std::vector &progs, const CImports &c, llvm::LLVMContext &ctx, llvm::TargetMachine &tm, bool debug);