summaryrefslogtreecommitdiff
path: root/src/passes/pass.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-10-03 10:55:35 -0700
committerGitHub <noreply@github.com>2017-10-03 10:55:35 -0700
commit47c37d0c4457ede9f4343abca0d56e2baa7f3d8a (patch)
tree828ff931db89e013fadfd89205692ac0fc79de88 /src/passes/pass.cpp
parent8283229f6bccdcfa60d7613be10d0f93531fdd34 (diff)
downloadbinaryen-47c37d0c4457ede9f4343abca0d56e2baa7f3d8a.tar.gz
binaryen-47c37d0c4457ede9f4343abca0d56e2baa7f3d8a.tar.bz2
binaryen-47c37d0c4457ede9f4343abca0d56e2baa7f3d8a.zip
Refactor validator API to use enums (#1209)
* refactor validator API to use enums
Diffstat (limited to 'src/passes/pass.cpp')
-rw-r--r--src/passes/pass.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 6cfe77a01..044a97833 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -194,6 +194,10 @@ void PassRunner::run() {
// for debug logging purposes, run each pass in full before running the other
auto totalTime = std::chrono::duration<double>(0);
size_t padding = 0;
+ WasmValidator::Flags validationFlags = WasmValidator::Minimal;
+ if (options.validateGlobally) {
+ validationFlags = validationFlags | WasmValidator::Globally;
+ }
std::cerr << "[PassRunner] running passes..." << std::endl;
for (auto pass : passes) {
padding = std::max(padding, pass->name.size());
@@ -227,7 +231,7 @@ void PassRunner::run() {
totalTime += diff;
// validate, ignoring the time
std::cerr << "[PassRunner] (validating)\n";
- if (!WasmValidator().validate(*wasm, false, options.validateGlobally)) {
+ if (!WasmValidator().validate(*wasm, validationFlags)) {
if (passDebug >= 2) {
std::cerr << "Last pass (" << pass->name << ") broke validation. Here is the module before: \n" << moduleBefore.str() << "\n";
} else {
@@ -242,7 +246,7 @@ void PassRunner::run() {
std::cerr << "[PassRunner] passes took " << totalTime.count() << " seconds." << std::endl;
// validate
std::cerr << "[PassRunner] (final validation)\n";
- if (!WasmValidator().validate(*wasm, false, options.validateGlobally)) {
+ if (!WasmValidator().validate(*wasm, validationFlags)) {
std::cerr << "final module does not validate\n";
abort();
}