mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
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:
@@ -55,14 +55,18 @@ public:
|
||||
// create() - Construct a unary instruction, given the opcode
|
||||
// and its operand.
|
||||
//
|
||||
static UnaryOperator *create(unsigned Op, Value *Source);
|
||||
static UnaryOperator *create(UnaryOps Op, Value *Source);
|
||||
|
||||
UnaryOperator(Value *S, unsigned iType, const string &Name = "")
|
||||
UnaryOperator(Value *S, UnaryOps iType, const string &Name = "")
|
||||
: Instruction(S->getType(), iType, Name) {
|
||||
Operands.reserve(1);
|
||||
Operands.push_back(Use(S, this));
|
||||
}
|
||||
|
||||
inline UnaryOps getOpcode() const {
|
||||
return (UnaryOps)Instruction::getOpcode();
|
||||
}
|
||||
|
||||
virtual Instruction *clone() const {
|
||||
return create(getOpcode(), Operands[0]);
|
||||
}
|
||||
@@ -82,10 +86,10 @@ public:
|
||||
// create() - Construct a binary instruction, given the opcode
|
||||
// and the two operands.
|
||||
//
|
||||
static BinaryOperator *create(unsigned Op, Value *S1, Value *S2,
|
||||
static BinaryOperator *create(BinaryOps Op, Value *S1, Value *S2,
|
||||
const string &Name = "");
|
||||
|
||||
BinaryOperator(unsigned iType, Value *S1, Value *S2,
|
||||
BinaryOperator(BinaryOps iType, Value *S1, Value *S2,
|
||||
const string &Name = "")
|
||||
: Instruction(S1->getType(), iType, Name) {
|
||||
Operands.reserve(2);
|
||||
@@ -95,6 +99,10 @@ public:
|
||||
Operands[0]->getType() == Operands[1]->getType());
|
||||
}
|
||||
|
||||
inline BinaryOps getOpcode() const {
|
||||
return (BinaryOps)Instruction::getOpcode();
|
||||
}
|
||||
|
||||
virtual Instruction *clone() const {
|
||||
return create(getOpcode(), Operands[0], Operands[1]);
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@
|
||||
|
||||
class GenericBinaryInst : public BinaryOperator {
|
||||
public:
|
||||
GenericBinaryInst(unsigned Opcode, Value *S1, Value *S2,
|
||||
GenericBinaryInst(BinaryOps Opcode, Value *S1, Value *S2,
|
||||
const string &Name = "")
|
||||
: BinaryOperator(Opcode, S1, S2, Name) {
|
||||
}
|
||||
|
Reference in New Issue
Block a user