[IR] Remove terminatepad
It turns out that terminatepad gives little benefit over a cleanuppad which calls the termination function. This is not sufficient to implement fully generic filters but MSVC doesn't support them which makes terminatepad a little over-designed. Depends on D15478. Differential Revision: http://reviews.llvm.org/D15479 llvm-svn: 255522
This commit is contained in:
@@ -2025,21 +2025,6 @@ static void WriteInstruction(const Instruction &I, unsigned InstID,
|
||||
Vals.push_back(VE.getValueID(CatchSwitch.getUnwindDest()));
|
||||
break;
|
||||
}
|
||||
case Instruction::TerminatePad: {
|
||||
Code = bitc::FUNC_CODE_INST_TERMINATEPAD;
|
||||
const auto &TPI = cast<TerminatePadInst>(I);
|
||||
|
||||
pushValue(TPI.getParentPad(), InstID, Vals, VE);
|
||||
|
||||
unsigned NumArgOperands = TPI.getNumArgOperands();
|
||||
Vals.push_back(NumArgOperands);
|
||||
for (unsigned Op = 0; Op != NumArgOperands; ++Op)
|
||||
PushValueAndType(TPI.getArgOperand(Op), InstID, Vals, VE);
|
||||
|
||||
if (TPI.hasUnwindDest())
|
||||
Vals.push_back(VE.getValueID(TPI.getUnwindDest()));
|
||||
break;
|
||||
}
|
||||
case Instruction::Unreachable:
|
||||
Code = bitc::FUNC_CODE_INST_UNREACHABLE;
|
||||
AbbrevToUse = FUNCTION_INST_UNREACHABLE_ABBREV;
|
||||
|
||||
Reference in New Issue
Block a user