Simplify RecursivelyDeleteDeadPHINode. The only functionality change

should be that if the phi is used by a side-effect free instruction with
no uses then the phi and the instruction now get zapped (checked by the
unittest).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126124 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands
2011-02-21 16:27:36 +00:00
parent d64cfe1506
commit b4098ba03d
2 changed files with 22 additions and 28 deletions

View File

@ -47,6 +47,12 @@ TEST(Local, RecursivelyDeleteDeadPHINodes) {
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;