summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-08-04 21:07:37 +0000
committerChris Lattner <sabre@nondot.org>2003-08-04 21:07:37 +0000
commit0d74debd077cca13b17e9c58e6d8790fa3bd2ac0 (patch)
tree2686e437a86eaf9b2590897dddd6d88297daa487 /llvm/lib
parent6aa90493a30aeecf23a99f51ae8e4d0157c1f974 (diff)
downloadbcm5719-llvm-0d74debd077cca13b17e9c58e6d8790fa3bd2ac0.tar.gz
bcm5719-llvm-0d74debd077cca13b17e9c58e6d8790fa3bd2ac0.zip
Allow instructions to have a DAG pattern associated with them.
Define a few preliminary node types. llvm-svn: 7579
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Target.td20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Target/Target.td b/llvm/lib/Target/Target.td
index bb0e525bb67..0cdebcd7cd5 100644
--- a/llvm/lib/Target/Target.td
+++ b/llvm/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;
OpenPOWER on IntegriCloud