summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/inlining/tasks.hh
blob: 6c190edb2b2a60056d16907cb4a8f0129c1cdf82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
 ** \file inlining/tasks.hh
 ** \brief Inlining module tasks.
 */

#pragma once

#include <config.h>
#include <misc/fwd.hh>
#include <task/libtask.hh>

namespace inlining::tasks
{
  TASK_GROUP("Inlining");

  /*-----------.
    | Inlining.  |
    `-----------*/

  /// Expand the body of functions at the call sites.
  TASK_DECLARE("inline",
               "inline functions",
               inline_expand,
               "types-compute rename");

  /*-------------------.
    | Function pruning.  |
    `-------------------*/

  /// Prune unused function definitions from the AST.
  TASK_DECLARE("prune",
               "prune unused functions",
               prune,
               "rename types-compute");

} // namespace inlining::tasks