summaryrefslogtreecommitdiffstats
path: root/unittests
diff options
context:
space:
mode:
authorJakub Kuderski <kubakuderski@gmail.com>2017-07-01 00:23:01 +0000
committerJakub Kuderski <kubakuderski@gmail.com>2017-07-01 00:23:01 +0000
commit8915ae98bd0974ad069801391a510dbd70cc7c92 (patch)
tree3fcc7f5005f3578899bd77274e1778ecb32a0275 /unittests
parentd5fcbff0e970e8f582334bf5163d6202bf9a91b0 (diff)
[Dominators] Reapply r306892, r306893, r306893.
This reverts commit r306907 and reapplies the patches in the title. The patches used to make one of the CodeGen/ARM/2011-02-07-AntidepClobber.ll test to fail because of a missing null check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306919 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r--unittests/IR/DominatorTreeTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/unittests/IR/DominatorTreeTest.cpp b/unittests/IR/DominatorTreeTest.cpp
index 5d3ef30177ae..fa3dad8a2ab1 100644
--- a/unittests/IR/DominatorTreeTest.cpp
+++ b/unittests/IR/DominatorTreeTest.cpp
@@ -230,6 +230,12 @@ TEST(DominatorTree, Unreachable) {
EXPECT_EQ(DT->getNode(BB4)->getDFSNumIn(), 3UL);
EXPECT_EQ(DT->getNode(BB4)->getDFSNumOut(), 4UL);
+ // Check levels before
+ EXPECT_EQ(DT->getNode(BB0)->getLevel(), 0U);
+ EXPECT_EQ(DT->getNode(BB1)->getLevel(), 1U);
+ EXPECT_EQ(DT->getNode(BB2)->getLevel(), 1U);
+ EXPECT_EQ(DT->getNode(BB4)->getLevel(), 1U);
+
// Reattach block 3 to block 1 and recalculate
BB1->getTerminator()->eraseFromParent();
BranchInst::Create(BB4, BB3, ConstantInt::getTrue(F.getContext()), BB1);
@@ -248,6 +254,13 @@ TEST(DominatorTree, Unreachable) {
EXPECT_EQ(DT->getNode(BB4)->getDFSNumIn(), 5UL);
EXPECT_EQ(DT->getNode(BB4)->getDFSNumOut(), 6UL);
+ // Check levels after
+ EXPECT_EQ(DT->getNode(BB0)->getLevel(), 0U);
+ EXPECT_EQ(DT->getNode(BB1)->getLevel(), 1U);
+ EXPECT_EQ(DT->getNode(BB2)->getLevel(), 1U);
+ EXPECT_EQ(DT->getNode(BB3)->getLevel(), 2U);
+ EXPECT_EQ(DT->getNode(BB4)->getLevel(), 1U);
+
// Change root node
DT->verifyDomTree();
BasicBlock *NewEntry =