diff options
author | Duncan Sands <baldrick@free.fr> | 2011-02-21 16:27:36 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2011-02-21 16:27:36 +0000 |
commit | b4098ba03d51a3845bde5aeb4fca893d1a90d3f8 (patch) | |
tree | 2f4aa914786c6ab1b77095cd51700726d0b6aa73 /unittests/Transforms/Utils | |
parent | d64cfe1506daf95483549e7347098fbf1a978097 (diff) | |
download | external_llvm-b4098ba03d51a3845bde5aeb4fca893d1a90d3f8.zip external_llvm-b4098ba03d51a3845bde5aeb4fca893d1a90d3f8.tar.gz external_llvm-b4098ba03d51a3845bde5aeb4fca893d1a90d3f8.tar.bz2 |
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
Diffstat (limited to 'unittests/Transforms/Utils')
-rw-r--r-- | unittests/Transforms/Utils/Local.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/unittests/Transforms/Utils/Local.cpp b/unittests/Transforms/Utils/Local.cpp index 2de09ad..e0322b3 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; |