[VPlanRecipeBase] Add eraseFromParent().

Reviewers: dcaballe, hsaito, mkuper, hfinkel

Reviewed By: dcaballe

Differential Revision: https://reviews.llvm.org/D48081

llvm-svn: 334951
diff --git a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
index 761f7d7..67712a7 100644
--- a/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+++ b/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
@@ -40,5 +40,25 @@
   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