Added the target-independent part of TableGen data.
authorMisha Brukman <brukman+llvm@gmail.com>
Thu, 29 May 2003 18:48:17 +0000 (18:48 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Thu, 29 May 2003 18:48:17 +0000 (18:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6403 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Target.td [new file with mode: 0644]

diff --git a/lib/Target/Target.td b/lib/Target/Target.td
new file mode 100644 (file)
index 0000000..da3033c
--- /dev/null
@@ -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?
+}