SuccessChanges

Summary

  1. [X86][AVX] combineVectorSignBitsTruncation - limit AVX512 truncations to 128-bits (PR48727) (details)
  2. [SVE] Add ISel pattern for addvl (details)
  3. Hwasan InitPrctl check for error using internal_iserror (details)
  4. [ADT] Fix join_impl using the wrong size when calculating total length (details)
Commit 0f59d099571d3d803b54e2ce06aa94babb9b26db by llvm-dev
[X86][AVX] combineVectorSignBitsTruncation - limit AVX512 truncations to 128-bits (PR48727)

rG73a44f437bf1 result in 256-bit packss/packus ops with additional shuffles that shuffle combining can sometimes try to convert back into a truncation.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was addedllvm/test/CodeGen/X86/pr48727.ll
Commit ad85e3967067154a579f7989ce0e736f8cd56be9 by cullen.rhodes
[SVE] Add ISel pattern for addvl

Reviewed By: cameron.mcinally

Differential Revision: https://reviews.llvm.org/D94504
The file was modifiedllvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-imm.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-loads-nf.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll
The file was modifiedllvm/test/CodeGen/AArch64/split-vector-insert.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-imm.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-pred-non-temporal-ldst-addressing-mode-reg-imm.ll
Commit 1854594b80b444dc21b830b51e53e05d38fc7d60 by matthew.malcomson
Hwasan InitPrctl check for error using internal_iserror

When adding this function in https://reviews.llvm.org/D68794 I did not
notice that internal_prctl has the API of the syscall to prctl rather
than the API of the glibc (posix) wrapper.

This means that the error return value is not necessarily -1 and that
errno is not set by the call.

For InitPrctl this means that the checks do not catch running on a
kernel *without* the required ABI (not caught since I only tested this
function correctly enables the ABI when it exists).
This commit updates the two calls which check for an error condition to
use `internal_iserror`.  That function sets a provided integer to an
equivalent errno value and returns a boolean to indicate success or not.

Tested by running on a kernel that has this ABI and on one that does
not.  Verified that running on the kernel without this ABI the current
code prints the provided error message and does not attempt to run the
program.  Verified that running on the kernel with this ABI the current
code does not print an error message and turns on the ABI.
All tests done on an AArch64 Linux machine.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D94425
The file was modifiedcompiler-rt/lib/hwasan/hwasan_linux.cpp
Commit ceb9379a90f5a320d19f5694ef00b4d1164fa7d6 by n.james93
[ADT] Fix join_impl using the wrong size when calculating total length

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D83305
The file was modifiedllvm/include/llvm/ADT/StringExtras.h