aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2003-05-29 18:48:17 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2003-05-29 18:48:17 +0000
commit01c16381236bce0eabc25f94621c7b04ddba240d (patch)
treefb9fa65d562f1c9986915cb6c83d1735ac1df88a
parentffb55cdae787c9e3789d7c6b7fbe2b205acb6230 (diff)
Added the target-independent part of TableGen data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6403 91177308-0d34-0410-b5e6-96231b3b80d8
-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?
+}