Changes

Summary

  1. [XCore] Add instruction pattern for bitrev (details)
  2. [OpenMP][NFC] Remove leftover debug messages (details)
  3. [mlir] Use getOperation()->setAttr when generating attribute set (details)
  4. Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version. (details)
  5. [X86] Add CMOV_VR64 pseudo instruction for MMX. Remove mmx handling from combineSelect. (details)
Commit e27b61c1ea3dbc8329673003e16ecba96600933a by tclin914
[XCore] Add instruction pattern for bitrev

Summary:
Add support for lowering bitreverse to the bitrev instruction.
Fix https://bugs.llvm.org/show_bug.cgi?id=34628.

Reviewers: RKSimon, rtrieu, robertlytton

Reviewed By: RKSimon

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74748
The file was modifiedllvm/lib/Target/XCore/XCoreInstrInfo.td
The file was addedllvm/test/CodeGen/XCore/bitrev.ll
The file was modifiedllvm/lib/Target/XCore/XCoreISelLowering.cpp
Commit 4b540fa8a1c1077468cf8eb7c32fd2481cdbc520 by johannes
[OpenMP][NFC] Remove leftover debug messages
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit c32c8fd1437c69f90f48c91c7545a53d33d6ba20 by riddleriver
[mlir] Use getOperation()->setAttr when generating attribute set
methods.

This avoids the need to resolve overloads when the current operation
also defines a 'setAttr' method.
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/test/mlir-tblgen/op-attribute.td
Commit d8969a1cb963caa979a7cfd298f79108b9f0c0ca by mvels
Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version.

This change splits the _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a _LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST containing the stable ABI, and a _LIBCPP_STRING_UNSTABLE_EXTERN_TEMPLATE_LIST containing the unstable ABI.

The purpose is to explicitly define and maintain the two lists, where the unstable ABI allows for ABI breaking changes for purposes such as optimization while offering a strong guarantee that any change inside the unstable ABI does not affect the stable ABI.

As per the comment in the __string header, we do still allow etries to be added to the stable ABI list as the c++ versions and corresponding c++ std API changes.
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/include/__string
The file was modifiedlibcxx/src/string.cpp
Commit 78be61871704a451a5d9462d7e96ed6c982746d4 by craig.topper
[X86] Add CMOV_VR64 pseudo instruction for MMX. Remove mmx handling from combineSelect.

The combineSelect code was casting to i64 without any check that
i64 was legal. This can break after type legalization.

It also required splitting the mmx register on 32-bit targets.
It's not clear that this makes sense. Instead switch to using
a cmov pseudo like we do for XMM/YMM/ZMM.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/test/CodeGen/X86/select-mmx.ll