diff options
author | Alon Zakai <alonzakai@gmail.com> | 2014-01-17 16:47:49 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2014-01-17 16:47:49 -0800 |
commit | 4d2357600922c8f50c5b742ca079e304d387706b (patch) | |
tree | 975413bfd6888b2514b1f2ff9393929a2e0d3c35 | |
parent | d2a5f50f7540fc5f42f493ef760a1e168d4ed9ff (diff) |
optimize ValueNames storage
-rw-r--r-- | lib/Target/JSBackend/JSBackend.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/JSBackend/JSBackend.cpp b/lib/Target/JSBackend/JSBackend.cpp index fb7aa0f4d4..c443c3bf9e 100644 --- a/lib/Target/JSBackend/JSBackend.cpp +++ b/lib/Target/JSBackend/JSBackend.cpp @@ -90,7 +90,6 @@ namespace { const Module *TheModule; unsigned UniqueNum; ValueMap ValueNames; - NameSet UsedNames; VarMap UsedVars; HeapData GlobalData8; HeapData GlobalData32; @@ -435,7 +434,7 @@ std::string JSWriter::getJSName(const Value* val) { } sanitize(name); } else { - name = "unique$" + utostr(UniqueNum++); + name = "u$" + utostr(UniqueNum++); } return ValueNames[val] = name; } @@ -1495,6 +1494,9 @@ void JSWriter::printModuleBody() { for (Module::const_iterator I = TheModule->begin(), E = TheModule->end(); I != E; ++I) { if (!I->isDeclaration()) { + + ValueNames.clear(); + // Ensure all arguments and locals are named (we assume used values need names, which might be false if the optimizer did not run) unsigned Next = 1; for (Function::const_arg_iterator AI = I->arg_begin(), AE = I->arg_end(); |