[Dominators] Remove misleading double-deletion test
authorJakub Kuderski <kubakuderski@gmail.com>
Sun, 21 Jan 2018 03:07:16 +0000 (03:07 +0000)
committerJakub Kuderski <kubakuderski@gmail.com>
Sun, 21 Jan 2018 03:07:16 +0000 (03:07 +0000)
Summary:
It's generally not safe to perform multiple DomTree updates without using the incremental API.

Although it is supposed to work in this particular case, the testcase is misleading/confusing, and it's better to remove it.

Reviewers: dberlin, brzycki, davide, grosser

Reviewed By: davide

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D42333

llvm-svn: 323058

llvm/unittests/IR/DominatorTreeTest.cpp

index 4666f93..6b427d9 100644 (file)
@@ -822,36 +822,6 @@ TEST(DominatorTree, DeleteUnreachable) {
   }
 }
 
-TEST(DominatorTree, DeletionsInSubtrees) {
-  CFGHolder Holder;
-  std::vector<CFGBuilder::Arc> Arcs = {{"0", "1"}, {"1", "2"}, {"1", "3"},
-                                       {"1", "6"}, {"3", "4"}, {"2", "5"},
-                                       {"5", "2"}};
-
-  // It is possible to perform multiple deletions and inform the
-  // DominatorTree about them at the same time, if the all of the
-  // deletions happen in different subtrees.
-  std::vector<CFGBuilder::Update> Updates = {{Delete, {"1", "2"}},
-                                             {Delete, {"1", "3"}}};
-  CFGBuilder B(Holder.F, Arcs, Updates);
-  DominatorTree DT(*Holder.F);
-  EXPECT_TRUE(DT.verify());
-
-  Optional<CFGBuilder::Update> LastUpdate;
-  while ((LastUpdate = B.applyUpdate()))
-    ;
-
-  DT.deleteEdge(B.getOrAddBlock("1"), B.getOrAddBlock("2"));
-  DT.deleteEdge(B.getOrAddBlock("1"), B.getOrAddBlock("3"));
-
-  EXPECT_TRUE(DT.verify());
-  EXPECT_EQ(DT.getNode(B.getOrAddBlock("2")), nullptr);
-  EXPECT_EQ(DT.getNode(B.getOrAddBlock("3")), nullptr);
-  EXPECT_EQ(DT.getNode(B.getOrAddBlock("4")), nullptr);
-  EXPECT_EQ(DT.getNode(B.getOrAddBlock("5")), nullptr);
-  EXPECT_NE(DT.getNode(B.getOrAddBlock("6")), nullptr);
-}
-
 TEST(DominatorTree, InsertDelete) {
   std::vector<CFGBuilder::Arc> Arcs = {
       {"1", "2"}, {"2", "3"}, {"3", "4"},  {"4", "5"},  {"5", "6"},  {"5", "7"},