[IR] Give catchret an optional 'return value' operand
[oota-llvm.git] / lib / Transforms / Scalar / Reassociate.cpp
index 1626548541f8a16d2d7760aadd93468d7b68a19e..2124586454409f965ec67c07f147f04a2e8998c8 100644 (file)
@@ -951,6 +951,8 @@ static Value *NegateValue(Value *V, Instruction *BI) {
     if (Instruction *InstInput = dyn_cast<Instruction>(V)) {
       if (InvokeInst *II = dyn_cast<InvokeInst>(InstInput)) {
         InsertPt = II->getNormalDest()->begin();
+      } else if (auto *CPI = dyn_cast<CatchPadInst>(InstInput)) {
+        InsertPt = CPI->getNormalDest()->begin();
       } else {
         InsertPt = InstInput;
         ++InsertPt;