diff options
Diffstat (limited to 'llvm/unittests/Transforms/Vectorize/VPlanTest.cpp')
-rw-r--r-- | llvm/unittests/Transforms/Vectorize/VPlanTest.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp index 761f7d79664..67712a7cae2 100644 --- a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp +++ b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp @@ -40,5 +40,25 @@ TEST(VPInstructionTest, insertBefore) { CHECK_ITERATOR(VPBB1, I3, I2, I1); } +TEST(VPInstructionTest, eraseFromParent) { + VPInstruction *I1 = new VPInstruction(0, {}); + VPInstruction *I2 = new VPInstruction(1, {}); + VPInstruction *I3 = new VPInstruction(2, {}); + + VPBasicBlock VPBB1; + VPBB1.appendRecipe(I1); + VPBB1.appendRecipe(I2); + VPBB1.appendRecipe(I3); + + I2->eraseFromParent(); + CHECK_ITERATOR(VPBB1, I1, I3); + + I1->eraseFromParent(); + CHECK_ITERATOR(VPBB1, I3); + + I3->eraseFromParent(); + EXPECT_TRUE(VPBB1.empty()); +} + } // namespace } // namespace llvm |