aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/Target.td26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/Target/Target.td b/lib/Target/Target.td
new file mode 100644
index 0000000000..da3033c40a
--- /dev/null
+++ b/lib/Target/Target.td
@@ -0,0 +1,26 @@
+//===- Sparc.td - Target Description for Sparc V9 Target --------*- C++ -*-===//
+// vim:ft=cpp
+//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+// Target-Independent interface
+//===----------------------------------------------------------------------===//
+
+class Register {
+ string Namespace = "";
+ int Size;
+}
+
+class Instruction {
+ string Name; // The opcode string for this instruction
+ string Namespace = "";
+
+ list<Register> Uses = []; // Default to using no non-operand registers
+ list<Register> Defs = []; // Default to modifying no non-operand registers
+
+ // These bits capture information about the high-level semantics of the
+ // instruction.
+ bit isReturn = 0; // Is this instruction a return instruction?
+ bit isBranch = 0; // Is this instruction a branch instruction?
+ bit isCall = 0; // Is this instruction a call instruction?
+}