summaryrefslogtreecommitdiff
path: root/src/passes/RoundTrip.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-12-16 12:50:22 -0800
committerGitHub <noreply@github.com>2019-12-16 12:50:22 -0800
commitc1526e700cc534a0f8d80265582f8a05fc20fff7 (patch)
treeabac2e08857bc6636faa2154d6e30fb668c3349f /src/passes/RoundTrip.cpp
parentd8830094801f92589fb498ce743f5e45532a1707 (diff)
downloadbinaryen-c1526e700cc534a0f8d80265582f8a05fc20fff7.tar.gz
binaryen-c1526e700cc534a0f8d80265582f8a05fc20fff7.tar.bz2
binaryen-c1526e700cc534a0f8d80265582f8a05fc20fff7.zip
Improve RoundTrip pass: avoid copying (#2531)
Diffstat (limited to 'src/passes/RoundTrip.cpp')
-rw-r--r--src/passes/RoundTrip.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/passes/RoundTrip.cpp b/src/passes/RoundTrip.cpp
index 626c469d5..0afabed9e 100644
--- a/src/passes/RoundTrip.cpp
+++ b/src/passes/RoundTrip.cpp
@@ -55,14 +55,12 @@ struct RoundTrip : public Pass {
writer.setDebugInfo(runner->options.debugInfo);
writer.write(*module, tempName);
// Read
- Module newModule;
+ ModuleUtils::clearModule(*module);
ModuleReader reader;
- reader.read(tempName, newModule);
+ // TODO: enable debug info when relevant
+ reader.read(tempName, *module);
// Clean up
std::remove(tempName.c_str());
- // Swap in
- ModuleUtils::clearModule(*module);
- ModuleUtils::copyModule(newModule, *module);
}
};