From b4098ba03d51a3845bde5aeb4fca893d1a90d3f8 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Mon, 21 Feb 2011 16:27:36 +0000 Subject: 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 --- unittests/Transforms/Utils/Local.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'unittests/Transforms/Utils/Local.cpp') diff --git a/unittests/Transforms/Utils/Local.cpp b/unittests/Transforms/Utils/Local.cpp index 2de09ada27..e0322b37d3 100644 --- a/unittests/Transforms/Utils/Local.cpp +++ b/unittests/Transforms/Utils/Local.cpp @@ -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; -- cgit v1.2.3