1 | #pragma once |
2 | |
3 | #include <list> |
4 | |
5 | namespace triton { |
6 | |
7 | namespace ir { |
8 | class module; |
9 | class function; |
10 | class call_inst; |
11 | class builder; |
12 | } |
13 | |
14 | namespace codegen{ |
15 | namespace transform{ |
16 | |
17 | struct fncmp { |
18 | bool operator()(ir::function* x, ir::function* y) const; |
19 | }; |
20 | |
21 | class inliner { |
22 | public: |
23 | inliner() {} |
24 | void do_inline(ir::function* fn, ir::call_inst* callsite, ir::builder& builder, std::list<ir::call_inst*>& callsites); |
25 | void run(ir::module &mod); |
26 | }; |
27 | |
28 | |
29 | } |
30 | } |
31 | } |
32 | |