1#pragma once
2
3#include "taichi/aot/module_builder.h"
4#include "taichi/runtime/llvm/llvm_offline_cache.h"
5#include "taichi/runtime/llvm/llvm_aot_module_builder.h"
6
7namespace taichi::lang {
8namespace cpu {
9
10class AotModuleBuilderImpl : public LlvmAotModuleBuilder {
11 public:
12 explicit AotModuleBuilderImpl(const CompileConfig &compile_config,
13 LlvmProgramImpl *prog,
14 TaichiLLVMContext &tlctx)
15 : LlvmAotModuleBuilder(compile_config, prog, tlctx) {
16 }
17
18 private:
19 LLVMCompiledKernel compile_kernel(Kernel *kernel) override;
20};
21
22} // namespace cpu
23} // namespace taichi::lang
24