[all-commits] [llvm/llvm-project] 517158: [InstCombine] Add undef/non-splat tests for add/su...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Wed Jan 29 12:00:00 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5171587a5f50aecb43e6241c3dbc36f2cf615749
https://github.com/llvm/llvm-project/commit/5171587a5f50aecb43e6241c3dbc36f2cf615749
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
Log Message:
-----------
[InstCombine] Add undef/non-splat tests for add/sub + icmp eq; NFC
Commit: e086e23024e4fb202628e988f691c158eebf095c
https://github.com/llvm/llvm-project/commit/e086e23024e4fb202628e988f691c158eebf095c
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-01-29 (Wed, 29 Jan 2020)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
Log Message:
-----------
[InstCombine] Support non-splat vectors in icmp eq + add/sub fold
For the
icmp eq (add X, C1), C2 => icmp eq X, C2-C1
icmp eq (sub C1, X), C2 => icmp eq X, C1-C2
folds, this allows C1 to be non-splat and contain undefs.
C2 is still splat, due to the structure of the code.
This is to address the remaining part of the regression in D73411,
where demanded element analysis replaces some elements with undef.
Differential Revision: https://reviews.llvm.org/D73647
Compare: https://github.com/llvm/llvm-project/compare/0da937bb5c2b...e086e23024e4
More information about the All-commits
mailing list