[IR] Give catchret an optional 'return value' operand
[oota-llvm.git] / lib / Analysis / ScalarEvolutionExpander.cpp
index 42069d294038c1c50530ea6f8332fdaaf2737af4..7789423cf6c73d7f169978e1d83b1ea495af72fd 100644 (file)
@@ -146,6 +146,8 @@ Value *SCEVExpander::InsertNoopCastOfTo(Value *V, Type *Ty) {
   BasicBlock::iterator IP = I; ++IP;
   if (InvokeInst *II = dyn_cast<InvokeInst>(I))
     IP = II->getNormalDest()->begin();
+  if (CatchPadInst *CPI = dyn_cast<CatchPadInst>(I))
+    IP = CPI->getNormalDest()->begin();
   while (isa<PHINode>(IP) || isa<LandingPadInst>(IP))
     ++IP;
   return ReuseOrCreateCast(I, Ty, Op, IP);