summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/inlining/tasks.cc
blob: f812d03b8b9b89bbfd64b0281151f486241b655a (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
/**
 ** \file inlining/tasks.cc
 ** \brief Inlining module related tasks' implementation.
 **/

#include <ast/tasks.hh>
#include <astclone/libastclone.hh>
#include <common.hh>
#include <inlining/libinlining.hh>
#define DEFINE_TASKS 1
#include <inlining/tasks.hh>
#undef DEFINE_TASKS

namespace inlining::tasks
{
  /*-----------.
  | Inlining.  |
  `-----------*/

  void inline_expand()
  {
    astclone::apply(::inlining::inline_expand, ast::tasks::the_program);
  }

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

  void prune() { astclone::apply(::inlining::prune, ast::tasks::the_program); }

} // namespace inlining::tasks