diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-06-19 10:29:41 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2014-06-19 10:29:41 +0000 |
commit | 54b0949af9feeac7df8f5cd30a41cfa53abcef13 (patch) | |
tree | 49d089bbcddcec19db5afc711c6e70024f383128 /clang/lib/Sema/TreeTransform.h | |
parent | a2327c3a65eca1bfcda77511be12221d17b62f0e (diff) | |
download | bcm5719-llvm-54b0949af9feeac7df8f5cd30a41cfa53abcef13.tar.gz bcm5719-llvm-54b0949af9feeac7df8f5cd30a41cfa53abcef13.zip |
[X86] Teach how to combine horizontal binop even in the presence of undefs.
Before this change, the backend was unable to fold a build_vector dag
node with UNDEF operands into a single horizontal add/sub.
This patch teaches how to combine a build_vector with UNDEF operands into a
horizontal add/sub when possible. The algorithm conservatively avoids to combine
a build_vector with only a single non-UNDEF operand.
Added test haddsub-undef.ll to verify that we correctly fold horizontal binop
even in the presence of UNDEFs.
llvm-svn: 211265
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
0 files changed, 0 insertions, 0 deletions