cast<InvokeInst>(I)->setCallingConv(
static_cast<CallingConv::ID>(CallingConv::MaxID & CCInfo));
cast<InvokeInst>(I)->setAttributes(PAL);
- if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs))
+ if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs)) {
+ I->deleteValue();
return Err;
+ }
break;
}
cast<CallBrInst>(I)->setCallingConv(
static_cast<CallingConv::ID>((0x7ff & CCInfo) >> bitc::CALL_CCONV));
cast<CallBrInst>(I)->setAttributes(PAL);
- if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs))
+ if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs)) {
+ I->deleteValue();
return Err;
+ }
break;
}
case bitc::FUNC_CODE_INST_UNREACHABLE: // UNREACHABLE
TCK = CallInst::TCK_NoTail;
cast<CallInst>(I)->setTailCallKind(TCK);
cast<CallInst>(I)->setAttributes(PAL);
- if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs))
+ if (Error Err = propagateAttributeTypes(cast<CallBase>(I), ArgTyIDs)) {
+ I->deleteValue();
return Err;
+ }
if (FMF.any()) {
if (!isa<FPMathOperator>(I))
return error("Fast-math-flags specified for call without "