SuccessChanges

Summary

  1. [clang-tools-extra] Fix overzealous linking of dylib to clangTidy (details)
  2. [InstCombine] fold a shifted bool zext to a select (2nd try) (details)
  3. [ARM][MVE] validForTailPredication insts (details)
Commit 9c9bd1657cbd3504ff719c14ece79ef2af0e0ea2 by mgorny
[clang-tools-extra] Fix overzealous linking of dylib to clangTidy
Fix accidentally making clangTidy library link to dylib.  This causes
libclang.so to also link to dylib which results in duplicate symbols
from shared and static libraries, and effectively to registering
command-line options twice.
Thanks to Sylvestre Ledru for noticing this and tracking it down to
r373786.  Fixes PR#43589.
Differential Revision: https://reviews.llvm.org/D68927
llvm-svn: 374885
The file was modifiedclang-tools-extra/clang-tidy/CMakeLists.txt
Commit 455ce7816ce4510ce1807e7ab5946e48c205c527 by spatel
[InstCombine] fold a shifted bool zext to a select (2nd try)
The 1st attempt at rL374828 inserted the code at the wrong position
(outside of the constant-shift-amount block). Trying again with an
additional test to verify const-ness.
For a constant shift amount, add the following fold. shl (zext (i1 X)),
ShAmt --> select (X, 1 << ShAmt, 0)
https://rise4fun.com/Alive/IZ9
Fixes PR42257.
Based on original patch by @zvi (Zvi Rackover)
Differential Revision: https://reviews.llvm.org/D63382
llvm-svn: 374886
The file was modifiedllvm/test/Transforms/InstCombine/and.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
Commit ce39278f2575cc0b6481924e02a0fd8632b74aa8 by sam.parker
[ARM][MVE] validForTailPredication insts
Reverse the logic for valid tail predication instructions and create a
whitelist instead. Added other instruction groups that aren't obviously
safe:
- instructions that 'narrow' their result.
- lane moves.
- byte swapping instructions.
- interleaving loads and stores.
- cross-beat carries.
- top/bottom instructions.
- complex operations.
Hopefully we should be able to add more of these instructions to the
whitelist, once we have a more concrete idea of the transform.
Differential Revision: https://reviews.llvm.org/D67904
llvm-svn: 374887
The file was modifiedllvm/unittests/Target/ARM/CMakeLists.txt
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrFormats.td