summaryrefslogtreecommitdiff
path: root/include/llvm/iOperators.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/iOperators.h')
-rw-r--r--include/llvm/iOperators.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/include/llvm/iOperators.h b/include/llvm/iOperators.h
new file mode 100644
index 0000000000..5a31b71142
--- /dev/null
+++ b/include/llvm/iOperators.h
@@ -0,0 +1,48 @@
+//===-- llvm/iBinary.h - Binary Operator node definitions --------*- C++ -*--=//
+//
+// This file contains the declarations of all of the Binary Operator classes.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_IBINARY_H
+#define LLVM_IBINARY_H
+
+#include "llvm/InstrTypes.h"
+
+//===----------------------------------------------------------------------===//
+// Classes to represent Binary operators
+//===----------------------------------------------------------------------===//
+//
+// All of these classes are subclasses of the BinaryOperator class...
+//
+
+class AddInst : public BinaryOperator {
+public:
+ AddInst(Value *S1, Value *S2, const string &Name = "")
+ : BinaryOperator(Instruction::Add, S1, S2, Name) {
+ }
+
+ virtual string getOpcode() const { return "add"; }
+};
+
+
+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:
+ SetCondInst(BinaryOps opType, Value *S1, Value *S2,
+ const string &Name = "");
+
+ virtual string getOpcode() const;
+};
+
+#endif