[llvm-commits] CVS: llvm/lib/Target/Target.td
Chris Lattner
lattner at cs.uiuc.edu
Mon Aug 11 16:30:01 PDT 2003
Changes in directory llvm/lib/Target:
Target.td updated: 1.19 -> 1.20
---
Log message:
add frameidx support
Make load work
Make type inference infer from Arg1 to arg0 as well as from arg0 to arg1
---
Diffs of the changes:
Index: llvm/lib/Target/Target.td
diff -u llvm/lib/Target/Target.td:1.19 llvm/lib/Target/Target.td:1.20
--- llvm/lib/Target/Target.td:1.19 Mon Aug 11 10:24:02 2003
+++ llvm/lib/Target/Target.td Mon Aug 11 16:29:40 2003
@@ -159,6 +159,7 @@
def DNVT_void : DagNodeValType; // Tree node always returns void
def DNVT_val : DagNodeValType; // A non-void type
def DNVT_arg0 : DagNodeValType; // Tree node returns same type as Arg0
+def DNVT_arg1 : DagNodeValType; // Tree node returns same type as Arg1
def DNVT_ptr : DagNodeValType; // The target pointer type
class DagNode<DagNodeValType ret, list<DagNodeValType> args> {
@@ -179,23 +180,23 @@
// Terminals...
def imm : BuiltinDagNode<DNVT_val, [], "Constant">;
-// def frameidx : BuiltinDagNode<DNVT_ptr, [], "FrameIndex">;
+def frameidx : BuiltinDagNode<DNVT_ptr, [], "FrameIndex">;
// Arithmetic...
-def plus : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "Plus">;
-def minus : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "Minus">;
-def times : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "Times">;
-def sdiv : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "SDiv">;
-def udiv : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "UDiv">;
-def srem : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "SRem">;
-def urem : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "URem">;
-def and : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "And">;
-def or : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "Or">;
-def xor : BuiltinDagNode<DNVT_arg0, [DNVT_val, DNVT_arg0], "Xor">;
+def plus : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "Plus">;
+def minus : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "Minus">;
+def times : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "Times">;
+def sdiv : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "SDiv">;
+def udiv : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "UDiv">;
+def srem : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "SRem">;
+def urem : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "URem">;
+def and : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "And">;
+def or : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "Or">;
+def xor : BuiltinDagNode<DNVT_arg0, [DNVT_arg1, DNVT_arg0], "Xor">;
-def load : DagNode<DNVT_val, [DNVT_ptr]>;
-//def store : DagNode<2, DNVT_Void>;
+def load : BuiltinDagNode<DNVT_val, [DNVT_ptr], "Load">;
+//def store : BuiltinDagNode<DNVT_Void, [DNVT_ptr, DNVT_val]>;
// Other...
def ret : BuiltinDagNode<DNVT_void, [DNVT_val], "Ret">;
More information about the llvm-commits
mailing list