summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emscripten-optimizer/parser.h2
-rw-r--r--src/pass.cpp21
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>