]> granicus.if.org Git - llvm/commit
[TargetLowering][X86] Teach SimplifyDemandedVectorElts to replace the base vector...
authorCraig Topper <craig.topper@intel.com>
Sun, 4 Aug 2019 17:30:41 +0000 (17:30 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 4 Aug 2019 17:30:41 +0000 (17:30 +0000)
commitd071b0806daf798125e4d77d4dc3ce84bdbed413
treeb6e9bfc5aaf33963d4cf06a1dc39c306b9680906
parent6417b84b6fdbc95e1dcf1dc83f1a170f2d0b38d5
[TargetLowering][X86] Teach SimplifyDemandedVectorElts to replace the base vector of INSERT_SUBVECTOR with undef if none of the elements are demanded even if the node has other users.

Summary:
The SimplifyDemandedVectorElts function can replace with undef
when no elements are demanded, but due to how it interacts with
TargetLoweringOpts, it can only do this when the node has
no other users.

Remove a now unneeded DAG combine from the X86 backend.

Reviewers: RKSimon, spatel

Reviewed By: RKSimon

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65713

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367788 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/masked_expandload.ll
test/CodeGen/X86/x86-interleaved-access.ll