[Scummvm-cvs-logs] SF.net SVN: scummvm:[42317] tools/branches/gsoc2009-decompiler/decompiler/ node.cpp
kjdf at users.sourceforge.net
kjdf at users.sourceforge.net
Fri Jul 10 00:40:07 CEST 2009
Revision: 42317
http://scummvm.svn.sourceforge.net/scummvm/?rev=42317&view=rev
Author: kjdf
Date: 2009-07-09 22:40:07 +0000 (Thu, 09 Jul 2009)
Log Message:
-----------
decompiler: remove dangling back-edges to loop entry after yanking a subgraph
Modified Paths:
--------------
tools/branches/gsoc2009-decompiler/decompiler/node.cpp
Modified: tools/branches/gsoc2009-decompiler/decompiler/node.cpp
===================================================================
--- tools/branches/gsoc2009-decompiler/decompiler/node.cpp 2009-07-09 22:36:04 UTC (rev 42316)
+++ tools/branches/gsoc2009-decompiler/decompiler/node.cpp 2009-07-09 22:40:07 UTC (rev 42317)
@@ -100,6 +100,8 @@
WhileLoop::WhileLoop(ControlFlowGraph &graph, Node *entry) : Node(), _condition(entry) {
Node *exit = entry->edgeOutsideComponent();
_out.push_back(exit);
+ foreach (Node *u, entry->_out)
+ u->_in.remove(entry); // remove dangling back-edges just in case
set<Node*> body;
foreach (Node *u, graph._nodes)
if (entry->dominates(u) && u != exit && !exit->dominates(u))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list