SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [X86] SimplifyDemandedVectorElts - attempt to recombine target shuffle (details)
  2. [X86] XFormVExtractWithShuffleIntoLoad - handle shuffle mask scaling (details)
  3. [libc++] Use [[nodiscard]] for lock_guard, as an extension (details)
Commit 1a8d790cf5f89c1df718844f13e934e39bef6ef5 by llvm-dev
[X86] SimplifyDemandedVectorElts - attempt to recombine target shuffle
using DemandedElts mask (reapplied)
If we don't demand all elements, then attempt to combine to a simpler
shuffle.
At the moment we can only do this if Depth == 0 as
combineX86ShufflesRecursively uses Depth to track whether the shuffle
has really changed or not - we'll need to change this before we can
properly start merging combineX86ShufflesRecursively into
SimplifyDemandedVectorElts.
The insertps-combine.ll regression is because
XFormVExtractWithShuffleIntoLoad can't see through shuffles of different
widths - this will be fixed in a follow-up commit.
Reapplying this as rL368307 had to be reverted as part of rL368660 to
revert rL368276
llvm-svn: 368662
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/insertps-combine.ll
The file was modifiedllvm/test/CodeGen/X86/shrink_vmul.ll
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
Commit e7b350a5d11bce823fc3254ab6a084186e15d4f0 by llvm-dev
[X86] XFormVExtractWithShuffleIntoLoad - handle shuffle mask scaling
If the target shuffle mask is from a wider type, attempt to scale the
mask so that the extraction can attempt to peek through.
Fixes the regression mentioned in rL368662
Reapplying this as rL368308 had to be reverted as part of rL368660 to
revert rL368276
llvm-svn: 368663
The file was modifiedllvm/test/CodeGen/X86/insertps-combine.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 86dd28a5471480cd7a8cb5ad4801599ac0a0ac20 by Louis Dionne
[libc++] Use [[nodiscard]] for lock_guard, as an extension
Summary: D64914 added support for applying [[nodiscard]] to
constructors. This commit uses that capability to flag incorrect uses of
std::lock_guard where one forgets to actually create a variable for the
lock_guard.
rdar://45790820
Reviewers: mclow.lists, EricWF
Subscribers: christof, jkorous, dexonsmith, libcxx-commits, Quuxplusone,
lebedev.ri
Tags: #libc
Differential Revision: https://reviews.llvm.org/D65900
llvm-svn: 368664
The file was modifiedlibcxx/docs/UsingLibcxx.rst
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
The file was addedlibcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.fail.cpp