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
diff --git a/lib/Bytecode/Reader/InstructionReader.cpp b/lib/Bytecode/Reader/InstructionReader.cpp
index dac7d37..ab70e24 100644
--- a/lib/Bytecode/Reader/InstructionReader.cpp
+++ b/lib/Bytecode/Reader/InstructionReader.cpp
@@ -96,12 +96,14 @@
 
   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);
diff --git a/lib/VMCore/InstrTypes.cpp b/lib/VMCore/InstrTypes.cpp
index cda99a9..9d3262c 100644
--- a/lib/VMCore/InstrTypes.cpp
+++ b/lib/VMCore/InstrTypes.cpp
@@ -12,7 +12,7 @@
 #include <algorithm>  // find
 
 // TODO: Move to getUnaryOperator iUnary.cpp when and if it exists!
-UnaryOperator *UnaryOperator::create(unsigned Op, Value *Source) {
+UnaryOperator *UnaryOperator::create(UnaryOps Op, Value *Source) {
   switch (Op) {
   default:
     cerr << "Don't know how to GetUnaryOperator " << Op << endl;
diff --git a/lib/VMCore/iOperators.cpp b/lib/VMCore/iOperators.cpp
index ef6933a..61d5d26 100644
--- a/lib/VMCore/iOperators.cpp
+++ b/lib/VMCore/iOperators.cpp
@@ -7,13 +7,13 @@
 #include "llvm/iBinary.h"
 #include "llvm/Type.h"
 
-BinaryOperator *BinaryOperator::create(unsigned Op, Value *S1, Value *S2,
+BinaryOperator *BinaryOperator::create(BinaryOps Op, Value *S1, Value *S2,
 				       const string &Name) {
   switch (Op) {
   // Binary comparison operators...
   case SetLT: case SetGT: case SetLE:
   case SetGE: case SetEQ: case SetNE:
-    return new SetCondInst((BinaryOps)Op, S1, S2, Name);
+    return new SetCondInst(Op, S1, S2, Name);
 
   default:
     return new GenericBinaryInst(Op, S1, S2, Name);