[Cloning] Teach CloneModule about personality functions
[oota-llvm.git] / lib / Transforms / Utils / CloneModule.cpp
index 269332206daa284f63f65d472cd9d5c6c1a0c9d8..61f1811e7b4ad73ad2cfadcb927a0260b31e3a6a 100644 (file)
@@ -99,7 +99,11 @@ Module *llvm::CloneModule(const Module *M, ValueToValueMapTy &VMap) {
 
       SmallVector<ReturnInst*, 8> Returns;  // Ignore returns cloned.
       CloneFunctionInto(F, I, VMap, /*ModuleLevelChanges=*/true, Returns);
+
     }
+
+    if (I->hasPersonalityFn())
+      F->setPersonalityFn(MapValue(I->getPersonalityFn(), VMap));
   }
 
   // And aliases