diff options
Diffstat (limited to 'unittests/Transforms/Utils/Local.cpp')
-rw-r--r-- | unittests/Transforms/Utils/Local.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/unittests/Transforms/Utils/Local.cpp b/unittests/Transforms/Utils/Local.cpp index e969e95..e0322b3 100644 --- a/unittests/Transforms/Utils/Local.cpp +++ b/unittests/Transforms/Utils/Local.cpp @@ -42,6 +42,17 @@ TEST(Local, RecursivelyDeleteDeadPHINodes) { EXPECT_EQ(&bb0->front(), br0); EXPECT_EQ(&bb1->front(), br1); + builder.SetInsertPoint(bb0); + phi = builder.CreatePHI(Type::getInt32Ty(C)); + + EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); + + builder.SetInsertPoint(bb0); + phi = builder.CreatePHI(Type::getInt32Ty(C)); + builder.CreateAdd(phi, phi); + + EXPECT_TRUE(RecursivelyDeleteDeadPHINode(phi)); + bb0->dropAllReferences(); bb1->dropAllReferences(); delete bb0; |