diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emscripten-optimizer/parser.h | 2 | ||||
-rw-r--r-- | src/pass.cpp | 21 |
2 files changed, 20 insertions, 3 deletions
diff --git a/src/emscripten-optimizer/parser.h b/src/emscripten-optimizer/parser.h index 367c831e2..9429ff87f 100644 --- a/src/emscripten-optimizer/parser.h +++ b/src/emscripten-optimizer/parser.h @@ -237,7 +237,7 @@ class Parser { while (1) { if (*src >= '0' && *src <= '9') { num *= 16; num += *src - '0'; } else if (*src >= 'a' && *src <= 'f') { num *= 16; num += *src - 'a' + 10; } - else if (*src >= 'A' && *src <= 'F') { num *= 16; num += *src - 'F' + 10; } + else if (*src >= 'A' && *src <= 'F') { num *= 16; num += *src - 'A' + 10; } else break; src++; } diff --git a/src/pass.cpp b/src/pass.cpp index b0d4a316e..1a8aaabc9 100644 --- a/src/pass.cpp +++ b/src/pass.cpp @@ -68,20 +68,37 @@ void PassRunner::addDefaultOptimizationPasses() { } void PassRunner::run(Module* module) { + std::chrono::high_resolution_clock::time_point beforeEverything; + size_t padding = 0; + if (debug) { + std::cerr << "[PassRunner] running passes..." << std::endl; + beforeEverything = std::chrono::high_resolution_clock::now(); + for (auto pass : passes) { + padding = std::max(padding, pass->name.size()); + } + } for (auto pass : passes) { currPass = pass; std::chrono::high_resolution_clock::time_point before; if (debug) { - std::cerr << "[PassRunner] running pass: " << pass->name << std::endl; + std::cerr << "[PassRunner] running pass: " << pass->name << "... "; + for (size_t i = 0; i < padding - pass->name.size(); i++) { + std::cerr << ' '; + } before = std::chrono::high_resolution_clock::now(); } pass->run(this, module); if (debug) { auto after = std::chrono::high_resolution_clock::now(); std::chrono::duration<double> diff = after - before; - std::cerr << "[PassRunner] pass took " << diff.count() << " seconds." << std::endl; + std::cerr << diff.count() << " seconds." << std::endl; } } + if (debug) { + auto after = std::chrono::high_resolution_clock::now(); + std::chrono::duration<double> diff = after - beforeEverything; + std::cerr << "[PassRunner] passes took " << diff.count() << " seconds." << std::endl; + } } template<class P> |