aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-09-12 23:30:14 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-09-12 23:30:14 +0000
commit775baac049a518afd0e1b703646efb72b4b11209 (patch)
tree5d7dd7ea210e85caa046eba5331fd00c554f4041 /lib
parent18ee3327b0601b37e55f8742aed374e77e415132 (diff)
downloadexternal_llvm-775baac049a518afd0e1b703646efb72b4b11209.zip
external_llvm-775baac049a518afd0e1b703646efb72b4b11209.tar.gz
external_llvm-775baac049a518afd0e1b703646efb72b4b11209.tar.bz2
Initial support for multi-result patterns:
1. [(set GR32:$dst, (add GR32:$src1, GR32:$src2)), (modify EFLAGS)] This indicates the source pattern expects the instruction would produce 2 values. The first is the result of the addition. The second is an implicit definition in register EFLAGS. 2. def : Pat<(parallel (addc GR32:$src1, GR32:$src2), (modify EFLAGS)), ()> Similar to #1 except this is used for def : Pat patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41897 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/TargetSelectionDAG.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/TargetSelectionDAG.td b/lib/Target/TargetSelectionDAG.td
index 0698e1e..194f55f 100644
--- a/lib/Target/TargetSelectionDAG.td
+++ b/lib/Target/TargetSelectionDAG.td
@@ -197,6 +197,8 @@ class SDNode<string opcode, SDTypeProfile typeprof,
}
def set;
+def modify;
+def parallel;
def node;
def srcvalue;