1. Implements CWG 1601 in [over.ics.rank/4.2] (details)
  2. [X86][SSE] Don't merge known undef/zero elements into target shuffle (details)
  3. [X86][SSE] Remove resolveTargetShuffleInputs and use (details)
Commit 344df110e56fa97fa7225f78a3386636a2da7939 by richard-llvm
Implements CWG 1601 in [over.ics.rank/4.2]
Summary: The overload resolution for enums with a fixed underlying type
has changed in the C++14 standard. This patch implements the new rule.
Patch by Mark de Wever!
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Tags: #clang
Differential Revision:
llvm-svn: 373866
The file was modifiedclang/lib/Sema/SemaOverload.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr6xx.cpp (diff)
The file was modifiedclang/test/CXX/drs/dr16xx.cpp (diff)
The file was modifiedclang/www/cxx_dr_status.html (diff)
Commit 42010dc8108f818d7fe8314116ad6805bc121c1e by llvm-dev
[X86][SSE] Don't merge known undef/zero elements into target shuffle
Replaces setTargetShuffleZeroElements with getTargetShuffleAndZeroables
which reports the Zeroable elements but doesn't merge them into the
decoded target shuffle mask (the merging has been moved up into
getTargetShuffleInputs until we can get rid of it entirely).
This is part of the work to fix PR43024 and allow us to use
SimplifyDemandedElts to simplify shuffle chains - we need to get to a
point where the target shuffle mask isn't adjusted by its source inputs
but instead we cache them in a parallel Zeroable mask.
llvm-svn: 373867
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 739c9f0b79335edf8810b15e67d43a5b41ab1cd5 by llvm-dev
[X86][SSE] Remove resolveTargetShuffleInputs and use
getTargetShuffleInputs directly.
Move the resolveTargetShuffleInputsAndMask call to after the shuffle
mask combine before the undef/zero constant fold instead.
llvm-svn: 373868
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)