SuccessChanges

Summary

  1. [clangd] Fix member/type name conflict caught by buildbots. (details)
  2. [clangd] Fix fuzzer build after 7ba0779fbb41b6fa8 (details)
  3. [clangd][remote] Make sure relative paths are absolute with respect to posix style (details)
  4. [AMDGPU] Do not generate mul with 1 in AMDGPU Atomic Optimizer (details)
  5. [SplitKit] Cope with no live subranges in defFromParent (details)
  6. [SystemZ]  Support bare nop instructions (details)
  7. [MLIR][SPIRV] Support different function control in (de)serialization (details)
  8. [X86] Support Intel Key Locker (details)
  9. [gn build] Port 413577a8790 (details)
  10. [InstCombine] recognizeBSwapOrBitReverseIdiom - assert for correct bit providence indices. NFCI. (details)
  11. [InstCombine] recognizeBSwapOrBitReverseIdiom - recognise zext(bswap(trunc(x))) patterns (PR39793) (details)
  12. [mlir] Added support for rank reducing subviews (details)
Commit 6342b38c5fee74df94d7b0c34e5a93b9b22763df by sam.mccall
[clangd] Fix member/type name conflict caught by buildbots.
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
Commit d99f46c6eb8debaa1a14c122956177dc2a40ef9b by sam.mccall
[clangd] Fix fuzzer build after 7ba0779fbb41b6fa8
The file was modifiedclang-tools-extra/clangd/fuzzer/clangd-fuzzer.cpp
Commit 64e8fd540ecc38ee3daf942499091589785e2733 by kadircet
[clangd][remote] Make sure relative paths are absolute with respect to posix style

Relative paths received from the server are always in posix style. So
we need to ensure they are relative using that style, and not the native one.

Differential Revision: https://reviews.llvm.org/D88507
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
Commit 0249df33fec16b728e2d33cae02f5da4c9f74e38 by Mirko.Brkusanin
[AMDGPU] Do not generate mul with 1 in AMDGPU Atomic Optimizer

Check if operand of mul is constant value of one for certain atomic
instructions in order to avoid making unnecessary instructions when
-amdgpu-atomic-optimizer is present.

Differential Revision: https://reviews.llvm.org/D88315
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
Commit cdac4492b4a523a888a013d42ea0a968f684ed59 by jay.foad
[SplitKit] Cope with no live subranges in defFromParent

Following on from D87757 "[SplitKit] Only copy live lanes", it is
possible to split a live range at a point when none of its subranges
are live. This patch handles that case by inserting an implicit def
of the superreg.

Patch by Quentin Colombet!

Differential Revision: https://reviews.llvm.org/D88397
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
The file was addedllvm/test/CodeGen/AMDGPU/splitkit-nolivesubranges.mir
Commit 9f5da55f5d9299a76a4dfb67ef0324dbc1900826 by paulsson
[SystemZ]  Support bare nop instructions

Add support of "nop" and "nopr" (without operands) to assembler.

Review: Ulrich Weigand
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.td
The file was modifiedllvm/test/MC/SystemZ/insn-good.s
Commit 8c05c7c8d87c7ab02fca2a789dfcca4976c6601b by georgemitenk0v
[MLIR][SPIRV] Support different function control in (de)serialization

Added support for different function control
in serialization and deserialization.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D88280
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/module.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
Commit 413577a8790407d75ba834fa5668c2632fe1851e by xiang1.zhang
[X86] Support Intel Key Locker

Key Locker provides a mechanism to encrypt and decrypt data with an AES key without having access
to the raw key value by converting AES keys into “handles”. These handles can be used to perform the
same encryption and decryption operations as the original AES keys, but they only work on the current
system and only until they are revoked. If software revokes Key Locker handles (e.g., on a reboot),
then any previous handles can no longer be used.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88398
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsX86.td
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
The file was addedllvm/test/MC/Disassembler/X86/KEYLOCKER/Keylocker-x86-64-att.txt
The file was modifiedclang/include/clang/Basic/BuiltinsX86.def
The file was addedllvm/test/MC/X86/KEYLOCKER/x86-64-keylocker-att.s
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/CodeGen/attr-target-x86.c
The file was modifiedclang/lib/Headers/immintrin.h
The file was addedllvm/test/MC/X86/KEYLOCKER/x86-64-keylocker-intel.s
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was addedllvm/test/CodeGen/X86/keylocker-intrinsics.ll
The file was addedllvm/lib/Target/X86/X86InstrKL.td
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedllvm/lib/Target/X86/X86.td
The file was addedllvm/test/MC/X86/KEYLOCKER/keylocker-att.s
The file was addedllvm/test/MC/Disassembler/X86/KEYLOCKER/Keylocker-x86-32-att.txt
The file was addedclang/test/CodeGen/X86/keylocker.c
The file was modifiedclang/test/Driver/x86-target-features.c
The file was addedllvm/test/MC/X86/KEYLOCKER/keylocker-intel.s
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was addedclang/lib/Headers/keylockerintrin.h
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedllvm/lib/Target/X86/X86InstrInfo.td.rej
The file was addedclang/lib/Headers/keylocker_wide_intrin.h
The file was addedllvm/test/MC/Disassembler/X86/KEYLOCKER/Keylocker-x86-64-intel.txt
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/Preprocessor/x86_target_features.c
The file was addedllvm/test/MC/Disassembler/X86/KEYLOCKER/Keylocker-x86-32-intel.txt
Commit e39d7884a1f5c5c7136ba2e493e9ac313ccc78ed by llvmgnsyncbot
[gn build] Port 413577a8790
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit ec3f24d4538d1c262377331c7b35ea66e023cf98 by llvm-dev
[InstCombine] recognizeBSwapOrBitReverseIdiom - assert for correct bit providence indices. NFCI.

As suggested by @spatel on D88316
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit af47d40b9c68744eb66aa2ef779065e946aaa099 by llvm-dev
[InstCombine] recognizeBSwapOrBitReverseIdiom - recognise zext(bswap(trunc(x))) patterns (PR39793)

PR39793 demonstrated an issue where we fail to recognize 'partial' bswap patterns of the lower bytes of an integer source.

In fact, most of this is already in place collectBitParts suitably tags zero bits, so we just need to correctly handle this case by finding the zero'd upper bits and reducing the bswap pattern just to the active demanded bits.

Differential Revision: https://reviews.llvm.org/D88316
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit 14088a6f5d1ae597960833a366beb9acee8d65cb by limo
[mlir] Added support for rank reducing subviews

This commit adds support for subviews which enable to reduce resulting rank
by dropping static dimensions of size 1.

Differential Revision: https://reviews.llvm.org/D88534
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/IR/core-ops.mlir