aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/FileOutputBuffer.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-05-30 23:17:53 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2014-05-30 23:17:53 +0000
commit446a52790583890ef14c32f816bc341d68d54453 (patch)
treef6ac578b4d474655179af433f7181079afd09a43 /llvm/lib/Support/FileOutputBuffer.cpp
parent82111f12fb0d36e329c09022da0f0b48034c6cd3 (diff)
downloadllvm-446a52790583890ef14c32f816bc341d68d54453.zip
llvm-446a52790583890ef14c32f816bc341d68d54453.tar.gz
llvm-446a52790583890ef14c32f816bc341d68d54453.tar.bz2
[X86] Add two combine rules to simplify dag nodes introduced during type legalization when promoting nodes with illegal vector type.
This patch teaches the backend how to simplify/canonicalize dag node sequences normally introduced by the backend when promoting certain dag nodes with illegal vector type. This patch adds two new combine rules: 1) fold (shuffle (bitcast (BINOP A, B)), Undef, <Mask>) -> (shuffle (BINOP (bitcast A), (bitcast B)), Undef, <Mask>) 2) fold (BINOP (shuffle (A, Undef, <Mask>)), (shuffle (B, Undef, <Mask>))) -> (shuffle (BINOP A, B), Undef, <Mask>). Both rules are only triggered on the type-legalized DAG. In particular, rule 1. is a target specific combine rule that attempts to sink a bitconvert into the operands of a binary operation. Rule 2. is a target independet rule that attempts to move a shuffle immediately after a binary operation. llvm-svn: 209930
Diffstat (limited to 'llvm/lib/Support/FileOutputBuffer.cpp')
0 files changed, 0 insertions, 0 deletions