summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/callgraph/tasks.hh
blob: e1fc584bb52e78a4d2301099b6a485f999d2f8c9 (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
37
38
39
40
41
42
43
44
45
46
/**
 ** \file callgraph/tasks.hh
 ** \brief Callgraph module related tasks.
 */

#pragma once

#include <callgraph/fundec-graph.hh>
#include <task/libtask.hh>

/// The Tasks of the escapes module.
namespace callgraph::tasks
{
  TASK_GROUP("3. Callgraph");

  /*-------------.
    | Call graph.  |
    `-------------*/

  /// Build the call graph.
  TASK_DECLARE("callgraph-compute",
               "build the call graph",
               callgraph_compute,
               "bindings-compute");
  /// Dump the callgraph.
  TASK_DECLARE("callgraph-dump",
               "dump the call graph",
               callgraph_dump,
               "callgraph-compute");

  /*---------------.
    | Parent graph.  |
    `---------------*/

  /// Build the parent graph.
  TASK_DECLARE("parentgraph-compute",
               "build the parent graph",
               parentgraph_compute,
               "parse");
  /// Dump the parentgraph.
  TASK_DECLARE("parentgraph-dump",
               "dump the parent graph",
               parentgraph_dump,
               "parentgraph-compute");

} // namespace callgraph::tasks