[Dominators] Invalidate DFS numbers upon edge deletions
authorJakub Kuderski <kubakuderski@gmail.com>
Tue, 26 Sep 2017 21:56:55 +0000 (21:56 +0000)
committerJakub Kuderski <kubakuderski@gmail.com>
Tue, 26 Sep 2017 21:56:55 +0000 (21:56 +0000)
This patch makes DeleteEdge correctly invalidate DFS numbers in the
incremental updater. This should fix PR34466 and related bugs.

llvm-svn: 314254

llvm/include/llvm/Support/GenericDomTreeConstruction.h

index 57d1c21..b0a1ffa 100644 (file)
@@ -923,6 +923,8 @@ struct SemiNCAInfo {
     // To dominates From -- nothing to do.
     if (ToTN == NCD) return;
 
+    DT.DFSInfoValid = false;
+
     const TreeNodePtr ToIDom = ToTN->getIDom();
     DEBUG(dbgs() << "\tNCD " << BlockNamePrinter(NCD) << ", ToIDom "
                  << BlockNamePrinter(ToIDom) << "\n");