Allow instructions to have a DAG pattern associated with them.
authorChris Lattner <sabre@nondot.org>
Mon, 4 Aug 2003 21:07:37 +0000 (21:07 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 4 Aug 2003 21:07:37 +0000 (21:07 +0000)
Define a few preliminary node types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7579 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Target.td

index bb0e525bb6762e8e37c40507871c795e7dd003b8..0cdebcd7cd5c65f8273aa3dbedfbf47a391164fe 100644 (file)
@@ -103,6 +103,10 @@ class Instruction {
   bit isCall       = 0;     // Is this instruction a call instruction?
   bit isTwoAddress = 0;     // Is this a two address instruction?
   bit isTerminator = 0;     // Is this part of the terminator for a basic block?
+
+  // Pattern - Set to the DAG pattern for this instruction, if we know of one,
+  // otherwise, uninitialized.
+  dag Pattern;
 }
 
 // InstrInfo - This class should only be instantiated once to provide parameters
@@ -135,3 +139,19 @@ class Target {
   // InstructionSet - Instruction set description for this target
   InstrInfo InstructionSet;
 }
+
+
+//===----------------------------------------------------------------------===//
+// DAG node definitions used by the instruction selector...
+//
+def set;    // FIXME: these are subject to substantial change
+def plus;
+def minus;
+def mult;
+def div;
+def udiv;
+def mod;
+def umod;
+def imm8;
+def imm16;
+def imm32;