diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-09-12 23:30:14 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-09-12 23:30:14 +0000 |
commit | 775baac049a518afd0e1b703646efb72b4b11209 (patch) | |
tree | 5d7dd7ea210e85caa046eba5331fd00c554f4041 /lib | |
parent | 18ee3327b0601b37e55f8742aed374e77e415132 (diff) | |
download | external_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.td | 2 |
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; |