summaryrefslogtreecommitdiff
path: root/src/pass.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pass.h')
-rw-r--r--src/pass.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pass.h b/src/pass.h
index f8b56aff6..a95be9850 100644
--- a/src/pass.h
+++ b/src/pass.h
@@ -94,6 +94,8 @@ public:
// Override this to perform preparation work before the pass runs.
virtual void prepare(PassRunner* runner, Module* module) {}
virtual void run(PassRunner* runner, Module* module) = 0;
+ // Override this to perform finalization work after the pass runs.
+ virtual void finalize(PassRunner* runner, Module* module) {}
protected:
Pass() {}
Pass(Pass &) {}
@@ -110,6 +112,7 @@ public:
void run(PassRunner* runner, Module* module) override {
prepare(runner, module);
WalkerType::startWalk(module);
+ finalize(runner, module);
}
};