Convert BinaryOperand and UnaryOperator to only take instruction types of

the appropriate enum


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2001-07-07 20:17:23 +00:00
parent a41f50dea8
commit 9f3d27654a
5 changed files with 21 additions and 11 deletions

View File

@ -96,12 +96,14 @@ bool BytecodeParser::ParseInstruction(const uchar *&Buf, const uchar *EndBuf,
if (Raw.Opcode >= Instruction::FirstUnaryOp &&
Raw.Opcode < Instruction::NumUnaryOps && Raw.NumOperands == 1) {
Res = UnaryOperator::create(Raw.Opcode,getValue(Raw.Ty,Raw.Arg1));
Res = UnaryOperator::create((Instruction::UnaryOps)Raw.Opcode,
getValue(Raw.Ty,Raw.Arg1));
return false;
} else if (Raw.Opcode >= Instruction::FirstBinaryOp &&
Raw.Opcode < Instruction::NumBinaryOps && Raw.NumOperands == 2) {
Res = BinaryOperator::create(Raw.Opcode, getValue(Raw.Ty, Raw.Arg1),
getValue(Raw.Ty, Raw.Arg2));
Res = BinaryOperator::create((Instruction::BinaryOps)Raw.Opcode,
getValue(Raw.Ty, Raw.Arg1),
getValue(Raw.Ty, Raw.Arg2));
return false;
} else if (Raw.Opcode == Instruction::PHINode) {
PHINode *PN = new PHINode(Raw.Ty);