diff options
Diffstat (limited to 'src/pass.h')
-rw-r--r-- | src/pass.h | 3 |
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); } }; |