RegionInfo: Do not access a value that was just moved away
[oota-llvm.git] / lib / Analysis / RegionInfo.cpp
index 6f3b4c29516b860aa2ee60cc4f1985b165697d58..f0bf59972bf3196587261bee960399290437e85d 100644 (file)
@@ -363,8 +363,8 @@ void Region::addSubRegion(Region *SubRegion, bool moveChildren) {
   std::vector<std::unique_ptr<Region>> 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));