Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
debug_print.h
Go to the documentation of this file.
1#pragma once
2
3#include <thorin/def.h>
4
5#include <thorin/pass/pass.h>
6
7namespace thorin::plug::compile {
8
9class DebugPrint : public RWPass<DebugPrint, Lam> {
10public:
11 DebugPrint(PassMan& man, int level_)
12 : RWPass(man, "debug_print")
13 , level(level_) {}
14
15 void enter() override;
16
17private:
18 int level;
19};
20
21} // namespace thorin::plug::compile
An optimizer that combines several optimizations in an optimal way.
Definition pass.h:107
PassMan & man()
Definition pass.h:30
Inherit from this class using CRTP, if your Pass does not need state and a fixed-point iteration.
Definition pass.h:220
void enter() override
Invoked just before Pass::rewriteing PassMan::curr_mut's body.
DebugPrint(PassMan &man, int level_)
Definition debug_print.h:11
The compile Plugin
Definition compile.h:9