diff --git a/lib/Analysis/RegionInfo.cpp b/lib/Analysis/RegionInfo.cpp index 6f3b4c29516..f0bf59972bf 100644 --- a/lib/Analysis/RegionInfo.cpp +++ b/lib/Analysis/RegionInfo.cpp @@ -363,8 +363,8 @@ void Region::addSubRegion(Region *SubRegion, bool moveChildren) { std::vector> Keep; for (iterator I = begin(), E = end(); I != E; ++I) if (SubRegion->contains(I->get()) && I->get() != SubRegion) { - SubRegion->children.push_back(std::move(*I)); (*I)->parent = SubRegion; + SubRegion->children.push_back(std::move(*I)); } else Keep.push_back(std::move(*I));