aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/iOperators.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/include/llvm/iOperators.h b/include/llvm/iOperators.h
index 5a31b71142..99e4bf33ba 100644
--- a/include/llvm/iOperators.h
+++ b/include/llvm/iOperators.h
@@ -16,26 +16,18 @@
// All of these classes are subclasses of the BinaryOperator class...
//
-class AddInst : public BinaryOperator {
+class GenericBinaryInst : public BinaryOperator {
+ const char *OpcodeString;
public:
- AddInst(Value *S1, Value *S2, const string &Name = "")
- : BinaryOperator(Instruction::Add, S1, S2, Name) {
+ GenericBinaryInst(unsigned Opcode, Value *S1, Value *S2,
+ const char *OpcodeStr, const string &Name = "")
+ : BinaryOperator(Opcode, S1, S2, Name) {
+ OpcodeString = OpcodeStr;
}
- virtual string getOpcode() const { return "add"; }
+ virtual string getOpcode() const { return OpcodeString; }
};
-
-class SubInst : public BinaryOperator {
-public:
- SubInst(Value *S1, Value *S2, const string &Name = "")
- : BinaryOperator(Instruction::Sub, S1, S2, Name) {
- }
-
- virtual string getOpcode() const { return "sub"; }
-};
-
-
class SetCondInst : public BinaryOperator {
BinaryOps OpType;
public: