Changes

Summary

  1. Added libc docs to SphinxDocsBuilder. (details)
Commit 5f6b6d50026be2b16156ab578a559e5cd7a725ae by alebedev
Added libc docs to SphinxDocsBuilder.

Expand SphinxDocsBuilder to build and publish libc Sphinx docs.

Reviewed By: gkistanova, jeffbailey

Differential Revision: https://reviews.llvm.org/D126156
The file was modifiedzorg/buildbot/builders/SphinxDocsBuilder.py (diff)

Summary

  1. [lldb] Fix should_skip_simulator_test decorator (details)
  2. [mlir][bufferize] Support fully dynamic layout maps in BufferResultsToOutParams (details)
  3. [mlir][NvGpuToNVVM] Fix missing i4 support for nvgpu.mma.sync (details)
  4. [mlir][bufferize][NFC] Update One-Shot Bufferize pass documentation (details)
  5. [mlir][NvGpuToNVVM] Fix byte size calculation in async copy lowering (details)
  6. [llvm-nm][docs] Document -W and -U (details)
  7. Add [opt] suffix to optimized stack frame in lldb-vscode (details)
  8. Show error message for optimized variables (details)
  9. [RISCV] Add basic fault-first load coverage for VSETVLI insertion (details)
  10. [PS5] Disable a test, same as PS4 (details)
  11. Fix an unused variable warning in no-asserts build mode (details)
  12. [lldb] Improve formatting of dlopen error messages (NFC) (details)
  13. [MSVC, ARM64] Add __readx18 intrinsics (details)
  14. [lldb] Specify aguments of `image list` (details)
  15. [AArch64] Add test case for pr55644. NFC (details)
  16. [DAGCombiner][AArch64] Don't fold (smulo x, 2) -> (saddo x, x) if VT is i2. (details)
  17. [IR] add and use pattern match specialization for sqrt intrinsic; NFC (details)
  18. [Sanitizer][Darwin] Add SANITIZER_DRIVERKIT platform macro (details)
  19. [mlir][tosa] Change tosa.depthwise_conv2d's ending reshape to a collapse. (details)
  20. Remove `friend` classes from TypeCategoryMap (details)
  21. [libc++] Granularize parts of <type_traits> (details)
  22. [libc++] Always enable the ranges concepts (details)
  23. [libc++] Assume that push_macro and pop_macro are available (details)
  24. [libc++] Add auto to the list of required extensions in C++03 (details)
  25. [libc++] Add ranges::max_element to the synopsis and ADL-proof the __min_element_impl calls (details)
  26. [gn build] Port eebc1fb772c5 (details)
  27. [Sanitizer][Darwin] Add explanation for Apple platform macros (details)
  28. [SLP][NFC]Improve compile time, NFC. (details)
  29. [SVEInstrFormats] Ensure scatter instructions are named consistently. (details)
  30. [AArch64] Add tests with free shuffles for indexed fma variants. (details)
  31. [mlir] Use 'native' instead of 'llvm_has_native_target' in the mlir tests (details)
  32. [libc++] Remove duplicate tests for callable concepts (details)
Commit c30a8c80837608ccb190aecb84a723ca00dd87df by Jonas Devlieghere
[lldb] Fix should_skip_simulator_test decorator

Currently simulator tests get skipped when the reported platform is
macosx rather than darwin. Update the decorator to match both.
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit 598c5ddba6b0fd1e7226ffd4dc34e44ec7c7c513 by springerm
[mlir][bufferize] Support fully dynamic layout maps in BufferResultsToOutParams

Also fixes integration of the pass into One-Shot Bufferize and adds additional test cases.

BufferResultsToOutParams can be used with "identity-layout-map" and "fully-dynamic-layout-map". "infer-layout-map" is not supported.

Differential Revision: https://reviews.llvm.org/D125636
The file was modifiedmlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-out-params.mlir
The file was modifiedmlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
Commit 334f63e7c39f298611d27a2ae27d31e4431be10f by cbate
[mlir][NvGpuToNVVM] Fix missing i4 support for nvgpu.mma.sync

This changes adds missing support for the i4 data type. Tests are added
to ensure proper lowering of an nvgpu.mma.sync operation targeting the
16x8x64xi4 and 16x8x32xi4 MMA variants in the NVVM dialect.

Differential Revision: https://reviews.llvm.org/D126092
The file was modifiedmlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
The file was modifiedmlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Commit 82c85bf38e9d0f5c5f81a6e8e7ba9359d9dba906 by springerm
[mlir][bufferize][NFC] Update One-Shot Bufferize pass documentation

Differential Revision: https://reviews.llvm.org/D125637
The file was modifiedmlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
Commit 7085cb6011d4593f39c6c3369d1e29ff08edc514 by cbate
[mlir][NvGpuToNVVM] Fix byte size calculation in async copy lowering

AsyncCopyOp lowering converted "size in elements" to "size in bytes"
assuming the element type size is at least one byte. This removes
that restriction, allowing for types such as i4 and b1 to be handled
correctly.

Differential Revision: https://reviews.llvm.org/D125838
The file was modifiedmlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
The file was modifiedmlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Commit 224a8653c98ec39bc8e636523f59b07008faaccf by i
[llvm-nm][docs] Document -W and -U

Latest GNU nm (milestone: 2.39) has added -W/--no-weak and changed -U to mean
--defined-only (instead of --unicode=). The changes match our semantics.

Close #55297

Reviewed by: jhenderson, keith

Differential Revision: https://reviews.llvm.org/D126133
The file was modifiedllvm/tools/llvm-nm/Opts.td
The file was modifiedllvm/docs/CommandGuide/llvm-nm.rst
Commit 46c1f77e160a63726e312c0550157ee451bacd46 by jeffreytan
Add [opt] suffix to optimized stack frame in lldb-vscode

To help user identify optimized code This diff adds a "[opt]" suffix to
optimized stack frames in lldb-vscode. This provides consistent experience
as command line lldb.

It also adds a new "optimized" attribute to DAP stack frame object so that
it is easy to identify from telemetry than parsing trailing "[opt]".

Differential Revision: https://reviews.llvm.org/D126013
The file was addedlldb/test/API/tools/lldb-vscode/optimized/Makefile
The file was addedlldb/test/API/tools/lldb-vscode/optimized/TestVSCode_optimized.py
The file was addedlldb/test/API/tools/lldb-vscode/optimized/main.cpp
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
Commit 0fe220a33179723b7b366c2b398bac3c3b4216ec by jeffreytan
Show error message for optimized variables

This fixes an issue that optimized variable error message is not shown to end
users in lldb-vscode.

Differential Revision: https://reviews.llvm.org/D126014
The file was modifiedlldb/test/API/tools/lldb-vscode/optimized/TestVSCode_optimized.py
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
Commit bc2fe4a0d675e7559de5734df0a4a40170389acc by listmail
[RISCV] Add basic fault-first load coverage for VSETVLI insertion

Simplified version of a test taken from D123581.
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Commit dbd1ba28a3a435c87eb2a977028ea22e9aabf148 by paul.robinson
[PS5] Disable a test, same as PS4
The file was modifiedclang/test/Driver/nostdincxx.cpp
Commit 2f2ca30d0abacda7ffd2dd71680e66161cffcbe3 by benny.kra
Fix an unused variable warning in no-asserts build mode
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 0da230ff44399f74dc9bf05c8f212e7fc22079fa by davelee.com
[lldb] Improve formatting of dlopen error messages (NFC)

Ensure there's a space between "utility" and "function", and also makes
it easier to grep/search for "utility function".

While making this change, I also re-formatted the other dlopen error messages
(with clang-format). This fix other instances of spaces missing between words,
and makes each of these strings fit a single line, making them greppable.

Differential Revision: https://reviews.llvm.org/D126078
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
Commit 4f1e64b54f59dd4c303d04b62926f35bde5a2c79 by steplong
[MSVC, ARM64] Add __readx18 intrinsics

https://docs.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170

  unsigned char __readx18byte(unsigned long)
  unsigned short __readx18word(unsigned long)
  unsigned long __readx18dword(unsigned long)
  unsigned __int64 __readx18qword(unsigned long)

Given the lack of documentation of the intrinsics, we chose to align the offset with just
`CharUnits::One()` when calling `IRBuilderBase::CreateAlignedLoad()`

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D126024
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Headers/intrin.h
The file was modifiedclang/test/CodeGen/arm64-microsoft-intrinsics.c
The file was modifiedclang/include/clang/Basic/BuiltinsAArch64.def
Commit 760298adc264f9c1029d93ab38711c131e19a2f4 by davelee.com
[lldb] Specify aguments of `image list`

Register positional argument details in `CommandObjectTargetModulesList`.

I recently learned that `image list` takes a module name, but the help info
does not indicate this. With this change, `help image list` will show that it
accepts zero or more module names.

This makes it easier to get info about specific modules, without having to
find/grep through the full image list.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D125154
The file was modifiedlldb/test/API/commands/help/TestHelp.py
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit 75eb0576debda4343fea35b1e2f01d8cbea12ab7 by craig.topper
[AArch64] Add test case for pr55644. NFC
The file was addedllvm/test/CodeGen/AArch64/pr55644.ll
Commit 569d8945f311e76b25925ff4b4257734711d9e2f by craig.topper
[DAGCombiner][AArch64] Don't fold (smulo x, 2) -> (saddo x, x) if VT is i2.

If the VT is i2, then 2 is really -2.

Test has not been commited yet, but diff shows the change.

Fixes PR55644.

Differential Revision: https://reviews.llvm.org/D126213
The file was modifiedllvm/test/CodeGen/AArch64/pr55644.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit e8c20d995bed4b0f7d3579daef1f215633eaf5ee by spatel
[IR] add and use pattern match specialization for sqrt intrinsic; NFC

This was included in D126190 originally, but it's
independent and a useful change for readability.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
Commit 806e8a1c8e54b6f8563eae0c0ed6b719b7eb6089 by julian.lettner
[Sanitizer][Darwin] Add SANITIZER_DRIVERKIT platform macro
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
Commit bedd3ee88152584b1c32c276b0ff38bb891f2812 by suderman
[mlir][tosa] Change tosa.depthwise_conv2d's ending reshape to a collapse.

TOSAs depthwise_conv2d operation includes a reshape to include the implicit x1 dimension.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D126212
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Commit f0a61c2ce2afec200967c59d45181c7a9fbe2c3f by jgorbe
Remove `friend` classes from TypeCategoryMap

As far as I can tell, the only thing those friend classes access is the
`ValueSP` typedef.

Given that this is a map-ish class, with "Map" in its name, it doesn't
seem like a stretch to make `KeyType`, `ValueType` and `ValueSP` public.
More so when the public methods of the class have `KeyType` and
`ValueSP` arguments and clearly `ValueSP` needs to be accessed from the
outside.

`friend` complicates local reasoning about who can access private
members, which is valuable in a class like this that has every method
locking a mutex to prevent concurrent access.

Differential Revision: https://reviews.llvm.org/D126103
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategoryMap.h
Commit eebc1fb772c56df9958fb916b41ff3c329fae145 by nikolasklauser
[libc++] Granularize parts of <type_traits>

`<type_traits>` is quite a large header, so I'll granularize it in a few steps.

Reviewed By: ldionne, #libc

Spies: libcxx-commits, mgorny

Differential Revision: https://reviews.llvm.org/D124755
The file was addedlibcxx/include/__type_traits/is_same.h
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/test/libcxx/private_headers.verify.cpp
The file was addedlibcxx/include/__type_traits/is_reference_wrapper.h
The file was addedlibcxx/include/__type_traits/conditional.h
The file was addedlibcxx/include/__type_traits/is_volatile.h
The file was addedlibcxx/include/__type_traits/is_convertible.h
The file was addedlibcxx/include/__type_traits/is_floating_point.h
The file was addedlibcxx/include/__type_traits/is_base_of.h
The file was addedlibcxx/include/__type_traits/remove_volatile.h
The file was addedlibcxx/include/__type_traits/is_const.h
The file was addedlibcxx/include/__type_traits/add_pointer.h
The file was addedlibcxx/include/__type_traits/is_referenceable.h
The file was addedlibcxx/include/__type_traits/is_integral.h
The file was addedlibcxx/include/__type_traits/is_member_object_pointer.h
The file was addedlibcxx/include/__type_traits/decay.h
The file was addedlibcxx/include/__type_traits/is_function.h
The file was addedlibcxx/include/__type_traits/is_void.h
The file was addedlibcxx/include/__type_traits/is_null_pointer.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__type_traits/remove_extent.h
The file was addedlibcxx/include/__type_traits/is_member_function_pointer.h
The file was addedlibcxx/include/__type_traits/remove_cv.h
The file was modifiedlibcxx/include/type_traits
The file was addedlibcxx/include/__type_traits/enable_if.h
The file was addedlibcxx/include/__type_traits/is_array.h
The file was addedlibcxx/include/__type_traits/is_reference.h
The file was addedlibcxx/include/__type_traits/remove_const.h
The file was addedlibcxx/include/__type_traits/remove_reference.h
The file was modifiedlibcxx/include/cstddef
Commit b177a90ce7b590dfce6479142f46fd1b9554a3b3 by nikolasklauser
[libc++] Always enable the ranges concepts

The ranges concepts were already available in libc++13, so we shouldn't guard them with `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.
Fixes https://github.com/llvm/llvm-project/issues/54765

Reviewed By: #libc, ldionne

Spies: ldionne, libcxx-commits

Differential Revision: https://reviews.llvm.org/D124011
The file was modifiedlibcxx/test/libcxx/ranges/has-no-incomplete-ranges.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/size.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.sentinel/concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/size.h
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/data.h
The file was modifiedlibcxx/test/std/ranges/range.access/data.pass.cpp
Commit 570390580567ccc940c141e9ee4e16fd31ace176 by nikolasklauser
[libc++] Assume that push_macro and pop_macro are available

All compilers that libc++ supports support `push_macro` and `pop_macro`. So let's remove it.

Reviewed By: ldionne, #libc

Spies: libcxx-commits, mgorny

Differential Revision: https://reviews.llvm.org/D126073
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/__undef_macros
Commit 19e21d91bc174559a5aa0653a5bfe74d8cba93ad by nikolasklauser
[libc++] Add auto to the list of required extensions in C++03

We use `auto` in C++03, so we shouldn't say that we aren't.

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D126165
The file was modifiedlibcxx/docs/DesignDocs/ExtendedCXX03Support.rst
Commit 40f7fca3d91fa4a480a7f8477a207a6a1a4a2496 by nikolasklauser
[libc++] Add ranges::max_element to the synopsis and ADL-proof the __min_element_impl calls

Reviewed By: ldionne, #libc

Spies: sstefan1, libcxx-commits

Differential Revision: https://reviews.llvm.org/D126167
The file was modifiedlibcxx/include/algorithm
The file was modifiedlibcxx/include/__algorithm/ranges_max_element.h
Commit 7ffc99bedcd23943d758c0b33e7ac87cf7974d1f by llvmgnsyncbot
[gn build] Port eebc1fb772c5
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 1962389979be0b755969311bd2630b4a1c15ac2c by julian.lettner
[Sanitizer][Darwin] Add explanation for Apple platform macros

Differential Revision: https://reviews.llvm.org/D126229
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
Commit 319a722f6fca365c8f71f457eac60bc3909988ee by a.bataev
[SLP][NFC]Improve compile time, NFC.

Builds UserIgnore list only once as a SmallDenseSet without rebuilding
it between the runs, iterate over gathers instead list of reduction ops,
do some checks in the buildTree_rec only if the corresponding containers
  are not empty.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 84acdd32ca912bee94dfc78b718f223880c59334 by paul.walker
[SVEInstrFormats] Ensure scatter instructions are named consistently.
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA64FX.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 86617256864ebcbda03b6ce843deeb6a41a85800 by flo
[AArch64] Add tests with free shuffles for indexed fma variants.

The new tests contain examples where shuffles are free, because indexed
fma instructions can be used.
The file was modifiedllvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll
Commit e7afa23366f5f94be968f84fb9ef14fe7156135b by stilis
[mlir] Use 'native' instead of 'llvm_has_native_target' in the mlir tests

The tests actually require the target triple to match the host, rather than just having the host in the list of available targets. This change removes `llvm_has_native_target` and instead uses the `native` feature from the lit configuration.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D126011
The file was modifiedmlir/test/python/execution_engine.py
The file was modifiedmlir/test/CAPI/execution_engine.c
The file was modifiedmlir/test/lit.cfg.py
The file was modifiedmlir/test/mlir-cpu-runner/lit.local.cfg
Commit 6cb3fdc278b95204baf60587fe2c25ff65f4e612 by Louis Dionne
[libc++] Remove duplicate tests for callable concepts

This is essentially a revert of c7ad02009. Indeed, it seems that both
96dbdd75 and c7ad02009 were committed, but c7ad02009 seems to be only
an older version of 96dbdd75's tests.
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.compile.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.subsumption.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.subsumption.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.compile.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.pass.cpp
The file was removedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.pass.cpp

Summary

  1. [External][CUDA] Add option to test with the new driver (details)
Commit 19d530e6aea774e695fc9d5c6e5c451dcd2bd4b3 by jhuber6
[External][CUDA] Add option to test with the new driver

Upstream clang supports RDC-mode compilation through the new driver.
This patch adds an option that allows the user to configure the compilation
job to use the new driver for testing. This will allow us to optionally test the
new driver in the buildbots to track changes as we develop.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D126231
The file was modifiedExternal/CUDA/CMakeLists.txt (diff)