diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-09-19 18:11:34 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2018-09-19 18:11:34 +0000 |
commit | 8191d63c3bb4fb20afdc30a0681c072d18b6dcfc (patch) | |
tree | ec9eb082cccbaf28a3b94fa2023ac1f6c9a214ae /llvm/lib/Bitcode | |
parent | 8306f76e56329f4efc02399cb11158ecabb54c17 (diff) | |
download | llvm-8191d63c3bb4fb20afdc30a0681c072d18b6dcfc.zip llvm-8191d63c3bb4fb20afdc30a0681c072d18b6dcfc.tar.gz llvm-8191d63c3bb4fb20afdc30a0681c072d18b6dcfc.tar.bz2 |
[X86] Add initial SimplifyDemandedVectorEltsForTargetNode support
This patch adds an initial x86 SimplifyDemandedVectorEltsForTargetNode implementation to handle target shuffles.
Currently the patch only decodes a target shuffle, calls SimplifyDemandedVectorElts on its input operands and removes any shuffle that reduces to undef/zero/identity.
Future work will need to integrate this with combineX86ShufflesRecursively, add support for other x86 ops, etc.
NOTE: There is a minor regression that appears to be affecting further (extractelement?) combines which I haven't been able to solve yet - possibly something to do with how nodes are added to the worklist after simplification.
Differential Revision: https://reviews.llvm.org/D52140
llvm-svn: 342564
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions