From b40fa4a885f219d8f317f125880aa0ee9f46b62f Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Mon, 26 Sep 2022 13:15:20 -0700 Subject: [NFC] Simplify traversal code for setting the module (#5082) Make walkModuleCode set the module automatically, like walkModule already does. Also remove some unneeded module settings when calling those methods. --- src/pass.h | 5 +---- src/wasm-traversal.h | 2 ++ 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pass.h b/src/pass.h index 623c1f971..45780f9e5 100644 --- a/src/pass.h +++ b/src/pass.h @@ -460,20 +460,17 @@ public: } // Single-thread running just calls the walkModule traversal. setPassRunner(runner); - WalkerType::setModule(module); WalkerType::walkModule(module); } void runOnFunction(PassRunner* runner, Module* module, Function* func) override { setPassRunner(runner); - WalkerType::setModule(module); - WalkerType::walkFunction(func); + WalkerType::walkFunctionInModule(func, module); } void runOnModuleCode(PassRunner* runner, Module* module) { setPassRunner(runner); - WalkerType::setModule(module); WalkerType::walkModuleCode(module); } diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h index a77356a4c..34e1f9453 100644 --- a/src/wasm-traversal.h +++ b/src/wasm-traversal.h @@ -268,6 +268,7 @@ struct Walker : public VisitorType { // Walks module-level code, that is, code that is not in functions. void walkModuleCode(Module* module) { + setModule(module); // Dispatch statically through the SubType. SubType* self = static_cast(this); for (auto& curr : module->globals) { @@ -283,6 +284,7 @@ struct Walker : public VisitorType { self->walk(item); } } + setModule(nullptr); } // Walk implementation. We don't use recursion as ASTs may be highly -- cgit v1.2.3