diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-10-22 09:10:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-22 09:10:11 -0700 |
commit | 58123ff10f075100bfb4fc5885cae04607564139 (patch) | |
tree | 8a48f4845d0936abc1934b64598025380b4a5e25 /src/wasm-module-building.h | |
parent | 9afa80951a3e9e59d5348780370a8b67d829ded1 (diff) | |
parent | 64e9b3fa53e5b4a88ad424f4cdf00f923664246f (diff) | |
download | binaryen-58123ff10f075100bfb4fc5885cae04607564139.tar.gz binaryen-58123ff10f075100bfb4fc5885cae04607564139.tar.bz2 binaryen-58123ff10f075100bfb4fc5885cae04607564139.zip |
Merge pull request #799 from WebAssembly/pass-cleanup
Some tiny pass cleanups
Diffstat (limited to 'src/wasm-module-building.h')
-rw-r--r-- | src/wasm-module-building.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/wasm-module-building.h b/src/wasm-module-building.h index 56d41ecb8..4123a59c0 100644 --- a/src/wasm-module-building.h +++ b/src/wasm-module-building.h @@ -73,6 +73,7 @@ static std::mutex debug; class OptimizingIncrementalModuleBuilder { Module* wasm; uint32_t numFunctions; + PassOptions passOptions; std::function<void (PassRunner&)> addPrePasses; Function* endMarker; std::atomic<Function*>* list; @@ -89,8 +90,8 @@ class OptimizingIncrementalModuleBuilder { public: // numFunctions must be equal to the number of functions allocated, or higher. Knowing // this bounds helps avoid locking. - OptimizingIncrementalModuleBuilder(Module* wasm, Index numFunctions, std::function<void (PassRunner&)> addPrePasses, bool debug, bool validateGlobally) - : wasm(wasm), numFunctions(numFunctions), addPrePasses(addPrePasses), endMarker(nullptr), list(nullptr), nextFunction(0), + OptimizingIncrementalModuleBuilder(Module* wasm, Index numFunctions, PassOptions passOptions, std::function<void (PassRunner&)> addPrePasses, bool debug, bool validateGlobally) + : wasm(wasm), numFunctions(numFunctions), passOptions(passOptions), addPrePasses(addPrePasses), endMarker(nullptr), list(nullptr), nextFunction(0), numWorkers(0), liveWorkers(0), activeWorkers(0), availableFuncs(0), finishedFuncs(0), finishing(false), debug(debug), validateGlobally(validateGlobally) { if (numFunctions == 0 || debug) { @@ -101,7 +102,7 @@ public: // Before parallelism, create all passes on the main thread here, to ensure // prepareToRun() is called for each pass before we start to optimize functions. { - PassRunner passRunner(wasm); + PassRunner passRunner(wasm, passOptions); addPrePasses(passRunner); passRunner.addDefaultFunctionOptimizationPasses(); } @@ -151,7 +152,7 @@ public: if (debug) { // in debug mode, optimize each function now that we are done adding functions, // then optimize globally - PassRunner passRunner(wasm); + PassRunner passRunner(wasm, passOptions); passRunner.setDebug(true); passRunner.setValidateGlobally(validateGlobally); addPrePasses(passRunner); @@ -216,7 +217,7 @@ private: } void optimizeGlobally() { - PassRunner passRunner(wasm); + PassRunner passRunner(wasm, passOptions); passRunner.addDefaultGlobalOptimizationPasses(); passRunner.run(); } @@ -224,7 +225,7 @@ private: // worker code void optimizeFunction(Function* func) { - PassRunner passRunner(wasm); + PassRunner passRunner(wasm, passOptions); addPrePasses(passRunner); passRunner.addDefaultFunctionOptimizationPasses(); passRunner.runFunction(func); |