SuccessChanges

Summary

  1. [mlir] replace LLVM dialect float types with built-ins (details)
  2. [libc++] Update generate_feature_test_macro_components.py to match SD-6. (details)
  3. [lldb] Bump the required SWIG version to 3 (details)
  4. [X86] Add TLBSYNC, INVLPGB and SNP instructions (details)
Commit dd5165a920f66268ee509af31fe84efedacdfbf9 by zinenko
[mlir] replace LLVM dialect float types with built-ins

Continue the convergence between LLVM dialect and built-in types by replacing
the bfloat, half, float and double LLVM dialect types with their built-in
counterparts. At the API level, this is a direct replacement. At the syntax
level, we change the keywords to `bf16`, `f16`, `f32` and `f64`, respectively,
to be compatible with the built-in type syntax. The old keywords can still be
parsed but produce a deprecation warning and will be eventually removed.

Depends On D94178

Reviewed By: mehdi_amini, silvas, antiagainst

Differential Revision: https://reviews.llvm.org/D94179
The file was modifiedmlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
The file was modifiedmlir/test/Dialect/GPU/multiple-all-reduce.mlir
The file was modifiedmlir/docs/Tutorials/Toy/Ch-6.md
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
The file was modifiedmlir/docs/Dialects/Linalg.md
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/test/Target/rocdl.mlir
The file was modifiedmlir/test/Target/openmp-llvm.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/test/Target/nvvmir.mlir
The file was modifiedmlir/lib/Target/LLVMIR/TypeTranslation.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/arithmetic-ops-to-llvm.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/dialect-cast.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/types.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
The file was modifiedmlir/docs/Dialects/Vector.md
The file was modifiedmlir/test/Dialect/LLVMIR/func.mlir
The file was modifiedmlir/integration_test/Dialect/LLVMIR/CPU/test-vector-reductions-fp.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-funcs.mlir
The file was modifiedmlir/docs/LLVMDialectMemRefConvention.md
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/types-invalid.mlir
The file was modifiedmlir/test/Conversion/GPUCommon/memory-attrbution.mlir
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/glsl-ops-to-llvm.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
The file was modifiedmlir/test/Conversion/GPUToROCm/lower-rocdl-kernel-to-hsaco.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/func-ops-to-llvm.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/global.mlir
The file was modifiedmlir/test/Target/import.ll
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Conversion/GPUToVulkan/invoke-vulkan.mlir
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
The file was modifiedmlir/test/Target/llvmir-invalid.mlir
The file was modifiedmlir/test/Conversion/VectorToROCDL/vector-to-rocdl.mlir
The file was modifiedmlir/test/Target/llvmir-types.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/test/Dialect/GPU/invalid.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/comparison-ops-to-llvm.mlir
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
The file was modifiedmlir/docs/ConversionToLLVMDialect.md
The file was modifiedmlir/docs/SPIRVToLLVMDialectConversion.md
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/test/mlir-cpu-runner/simple.mlir
The file was modifiedmlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/nvvm.mlir
The file was modifiedmlir/test/Target/avx512.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/rocdl.mlir
The file was modifiedmlir/docs/Dialects/LLVM.md
The file was modifiedmlir/test/Conversion/StandardToLLVM/calling-convention.mlir
The file was modifiedmlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
Commit 466df1718e41fe2fca6ce6bd98c01b18f42c05e4 by arthur.j.odwyer
[libc++] Update generate_feature_test_macro_components.py to match SD-6.

It's still a little confusing because in many cases C++17 and C++20
have different values, and libc++ implements the C++17 behavior but
not the C++20 behavior; 'unimplemented' can't represent that scenario.
Ultimately we probably ought to completely redesign the script to be
in terms of paper numbers, rather than language revisions, and make
it generate the CSV files like "Cxx2aStatusPaperStatus.csv" as well.

Most newly added macros are unimplemented. I've marked a few as implemented,
though, based on my reading of the code; for example I was pretty sure
`__cpp_lib_latch` is implemented since we have `<latch>`.

Differential Revision: https://reviews.llvm.org/D93830
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/compare.version.pass.cpp
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/latch.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/string.version.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.pass.cpp
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/vector.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/utility.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/functional.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/execution.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/complex.version.pass.cpp
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.pass.cpp
The file was addedlibcxx/test/std/language.support/support.limits/support.limits.general/thread.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
Commit cb6d53ccdc7288f1bb62b0d50055545acfb59f77 by Jonas Devlieghere
[lldb] Bump the required SWIG version to 3

Bump the required SWIG version to 3. If my memory serves me well we last
bumped the required SWIG version to 2 for Python 3. At that time SWIG 3
had already been around for a while so everyone I know was already using
that.

It appears that SWIG 3 is the only version that officially supports
C++11 which we're using in the typemap. SWIG 3 was released in 2014 so I
think it's reasonable to make that the minimum required version.

https://bugs.llvm.org/show_bug.cgi?id=48685

Differential revision: https://reviews.llvm.org/D94244
The file was modifiedlldb/cmake/modules/FindLuaAndSwig.cmake
The file was modifiedlldb/cmake/modules/FindPythonAndSwig.cmake
The file was modifiedlldb/docs/resources/build.rst
Commit 9386483b7142bbfe64b1a4d2f91b6712c1357c24 by Ganesh.Gopalasubramanian
[X86] Add TLBSYNC, INVLPGB and SNP instructions

Differential Revision: https://reviews.llvm.org/D94134
The file was modifiedllvm/test/MC/Disassembler/X86/x86-64.txt
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was addedllvm/test/MC/X86/SNP-32.s
The file was addedllvm/test/MC/X86/SNP-64.s
The file was modifiedllvm/test/MC/Disassembler/X86/x86-32.txt
The file was addedllvm/lib/Target/X86/X86InstrSNP.td
The file was modifiedllvm/test/MC/X86/x86-32-coverage.s
The file was modifiedllvm/test/MC/X86/x86-32.s
The file was modifiedllvm/test/MC/X86/x86-64.s