--- /dev/null
+//===- 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?
+}