1#ifndef _TRITON_CODEGEN_PASS_H_
2#define _TRITON_CODEGEN_PASS_H_
3
4
5#include <memory>
6#include "extern_lib.h"
7
8namespace llvm{
9 class Module;
10 class LLVMContext;
11}
12
13namespace triton{
14
15namespace codegen {
16 class target;
17}
18
19namespace ir{
20 class module;
21}
22namespace driver{
23 class device;
24 class module;
25 class kernel;
26}
27}
28
29namespace triton{
30namespace codegen{
31
32// TODO:
33// There should be a proper pass manager there!
34std::unique_ptr<llvm::Module> add_passes_to_emit_bin(
35 ir::module &ir, llvm::LLVMContext &ctx, codegen::target *target,
36 int num_warps, int num_stages, int &shared_static,
37 const ExternLibMap &extern_libs);
38}
39}
40
41#endif
42