[llvm-commits] CVS: llvm/lib/Target/Target.td

Chris Lattner lattner at cs.uiuc.edu
Tue Aug 10 18:53:44 PDT 2004



Changes in directory llvm/lib/Target:

Target.td updated: 1.31 -> 1.32
---
Log message:

Fill out immediate operand classes, add a new Operand class



---
Diffs of the changes:  (+14 -4)

Index: llvm/lib/Target/Target.td
diff -u llvm/lib/Target/Target.td:1.31 llvm/lib/Target/Target.td:1.32
--- llvm/lib/Target/Target.td:1.31	Mon Aug  9 14:13:22 2004
+++ llvm/lib/Target/Target.td	Tue Aug 10 20:53:34 2004
@@ -151,10 +151,20 @@
 /// list for an instruction.  This should be used like this:
 ///     (ops R32:$dst, R32:$src) or something similar.
 def ops;
-def i8imm;
-def i16imm;
-def i32imm;
-def i64imm;
+
+/// Operand Types - These provide the built-in operand types that may be used
+/// by a target.  Targets can optionally provide their own operand types as
+/// needed, though this should not be needed for RISC targets.
+class Operand<ValueType ty> {
+  int NumMIOperands = 1;
+  ValueType Type = ty;
+  string PrintMethod = "printOperand";
+}
+
+def i8imm  : Operand<i8>;
+def i16imm : Operand<i16>;
+def i32imm : Operand<i32>;
+def i64imm : Operand<i64>;
 
 //===----------------------------------------------------------------------===//
 // Target - This class contains the "global" target information






More information about the llvm-commits mailing list