summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-06-27 23:28:50 +0000
committerChris Lattner <sabre@nondot.org>2001-06-27 23:28:50 +0000
commit8c2076b84e6ab914128bea4780a6337d4fe3268b (patch)
treec27a19e21eea99f7eb08ffe1da5dc88c7d9fe56d
parent223796ccf22352176ec04d264112b9c1c642f52b (diff)
downloadbcm5719-llvm-8c2076b84e6ab914128bea4780a6337d4fe3268b.tar.gz
bcm5719-llvm-8c2076b84e6ab914128bea4780a6337d4fe3268b.zip
Make a new GenericBinaryInst class, instead of providing lots of silly
little classes. llvm-svn: 82
-rw-r--r--llvm/include/llvm/iOperators.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/llvm/include/llvm/iOperators.h b/llvm/include/llvm/iOperators.h
index 5a31b711427..99e4bf33bac 100644
--- a/llvm/include/llvm/iOperators.h
+++ b/llvm/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:
OpenPOWER on IntegriCloud