[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