From 244883e4af01f5c4f19fd056e18aef08198f066e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 4 Aug 2003 21:07:37 +0000 Subject: [PATCH] Allow instructions to have a DAG pattern associated with them. 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 | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/Target/Target.td b/lib/Target/Target.td index bb0e525bb67..0cdebcd7cd5 100644 --- a/lib/Target/Target.td +++ b/lib/Target/Target.td @@ -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;