@@ -194,6 +194,10 @@ void PassRunner::run() {
194194 // for debug logging purposes, run each pass in full before running the other
195195 auto totalTime = std::chrono::duration<double >(0 );
196196 size_t padding = 0 ;
197+ WasmValidator::Flags validationFlags = WasmValidator::Minimal;
198+ if (options.validateGlobally ) {
199+ validationFlags = validationFlags | WasmValidator::Globally;
200+ }
197201 std::cerr << " [PassRunner] running passes..." << std::endl;
198202 for (auto pass : passes) {
199203 padding = std::max (padding, pass->name .size ());
@@ -227,7 +231,7 @@ void PassRunner::run() {
227231 totalTime += diff;
228232 // validate, ignoring the time
229233 std::cerr << " [PassRunner] (validating)\n " ;
230- if (!WasmValidator ().validate (*wasm, false , options. validateGlobally )) {
234+ if (!WasmValidator ().validate (*wasm, validationFlags )) {
231235 if (passDebug >= 2 ) {
232236 std::cerr << " Last pass (" << pass->name << " ) broke validation. Here is the module before: \n " << moduleBefore.str () << " \n " ;
233237 } else {
@@ -242,7 +246,7 @@ void PassRunner::run() {
242246 std::cerr << " [PassRunner] passes took " << totalTime.count () << " seconds." << std::endl;
243247 // validate
244248 std::cerr << " [PassRunner] (final validation)\n " ;
245- if (!WasmValidator ().validate (*wasm, false , options. validateGlobally )) {
249+ if (!WasmValidator ().validate (*wasm, validationFlags )) {
246250 std::cerr << " final module does not validate\n " ;
247251 abort ();
248252 }
0 commit comments