diff options
-rw-r--r-- | src/relooper/Relooper.cpp | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/src/relooper/Relooper.cpp b/src/relooper/Relooper.cpp index c396e990..06ee0aa3 100644 --- a/src/relooper/Relooper.cpp +++ b/src/relooper/Relooper.cpp @@ -332,21 +332,8 @@ void MultipleShape::RenderLoopPostfix() { void MultipleShape::Render(bool InLoop) { RenderLoopPrefix(); - // We know that blocks with the same Id were split from the same source, so their contents are identical and they are logically the same, so re-merge them here - typedef std::map<int, Shape*> IdShapeMap; - IdShapeMap IdMap; - for (IdShapeMap::iterator iter = InnerMap.begin(); iter != InnerMap.end(); iter++) { - int Id = iter->first; - IdShapeMap::iterator Test = IdMap.find(Id); - if (Test != IdMap.end()) { - assert(Shape::IsSimple(iter->second) && Shape::IsSimple(Test->second)); // we can only merge simple blocks, something horrible has gone wrong if we see anything else - continue; - } - IdMap[iter->first] = iter->second; - } - bool First = true; - for (IdShapeMap::iterator iter = IdMap.begin(); iter != IdMap.end(); iter++) { + for (IdShapeMap::iterator iter = InnerMap.begin(); iter != InnerMap.end(); iter++) { if (AsmJS) { PrintIndented("%sif ((label|0) == %d) {\n", First ? "" : "else ", iter->first); } else { |