summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/inlining/tasks.hh
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/src/inlining/tasks.hh')
-rw-r--r--tiger-compiler/src/inlining/tasks.hh36
1 files changed, 36 insertions, 0 deletions
diff --git a/tiger-compiler/src/inlining/tasks.hh b/tiger-compiler/src/inlining/tasks.hh
new file mode 100644
index 0000000..6c190ed
--- /dev/null
+++ b/tiger-compiler/src/inlining/tasks.hh
@@ -0,0 +1,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