LLVM/project f7ea541libcxx/utils/data ignore_format.txt, llvm/test/CodeGen/AArch64 vecreduce-add.ll

Rebase

Created using spr 1.3.5
DeltaFile
+4,388-8,764llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
+3,964-7,908llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+5,126-2,951llvm/test/CodeGen/AArch64/vecreduce-add.ll
+0-7,298libcxx/utils/data/ignore_format.txt
+3,508-3,452llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+6,487-181llvm/test/CodeGen/X86/vec_fneg.ll
+23,473-30,5547,355 files not shown
+359,825-191,1337,361 files

LLVM/project 63937e7libcxx/utils/data ignore_format.txt, llvm/test/CodeGen/AArch64 vecreduce-add.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5

[skip ci]
DeltaFile
+4,388-8,764llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
+3,964-7,908llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+5,126-2,951llvm/test/CodeGen/AArch64/vecreduce-add.ll
+0-7,298libcxx/utils/data/ignore_format.txt
+3,508-3,452llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+6,487-181llvm/test/CodeGen/X86/vec_fneg.ll
+23,473-30,5547,354 files not shown
+359,820-191,1317,360 files

LLVM/project cc33f2elibcxx/utils/data ignore_format.txt, llvm/test/CodeGen/AArch64 vecreduce-add.ll

Add NoteTemplateLocation and external source notes

Created using spr 1.3.5
DeltaFile
+4,388-8,764llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
+3,964-7,908llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll
+5,126-2,951llvm/test/CodeGen/AArch64/vecreduce-add.ll
+0-7,298libcxx/utils/data/ignore_format.txt
+3,508-3,452llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+6,487-181llvm/test/CodeGen/X86/vec_fneg.ll
+23,473-30,5547,354 files not shown
+359,820-191,1317,360 files

LLVM/project 64d413elibcxx/docs Hardening.rst, libcxx/docs/ReleaseNotes 18.rst

[libc++][hardening] Rework macros for enabling the hardening mode. (#70575)

1. Instead of using individual "boolean" macros, have an "enum" macro
`_LIBCPP_HARDENING_MODE`. This avoids issues with macros being
mutually exclusive and makes overriding the hardening mode within a TU
more straightforward.

2. Rename the safe mode to debug-lite.

This brings the code in line with the RFC:
https://discourse.llvm.org/t/rfc-hardening-in-libc/73925

Fixes #65101
DeltaFile
+50-52libcxx/include/__config
+42-31libcxx/docs/Hardening.rst
+14-19libcxx/docs/ReleaseNotes/18.rst
+0-32libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_safe_mode.pass.cpp
+0-31libcxx/test/libcxx/assertions/modes/safe_mode_enabled_in_tu.pass.cpp
+31-0libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
+137-165153 files not shown
+525-686159 files

LLVM/project a5e5eb1libcxx/docs UsingLibcxx.rst Hardening.rst, libcxx/include __config

[libc++][hardening] Remove hardening from release notes, undeprecate safe mode

This patch effectively maintains the status quo, making sure that the
safe mode keeps working the same way as before. Hardening will target
the next major release, allowing it to go through RFC and for the
implementation to stabilize and mature.

Differential Revision: https://reviews.llvm.org/D159171
DeltaFile
+41-14libcxx/docs/UsingLibcxx.rst
+0-54libcxx/docs/Hardening.rst
+44-0libcxx/utils/ci/run-buildbot
+25-11libcxx/include/__config
+33-0libcxx/utils/ci/buildkite-pipeline.yml
+0-33libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
+143-112121 files not shown
+354-249127 files

LLVM/project 000d2b8libcxx/test/libcxx/algorithms/alg.sorting assert.sort.invalid_comparator.pass.cpp, libcxx/test/libcxx/assertions/modes hardened.pass.cpp hardened_mode_disabled_in_tu.pass.cpp

[libc++][hardening][NFC] Rework the Lit feature for detecting the hardening mode.

Make it a multichoice string to closer mirror the CMake variable. This
allows writing `UNSUPPORTED: libcpp-hardening-mode=unchecked` rather
than `UNSUPPORTED: !libcpp-has-hardened-mode && !libcpp-has-debug-mode`.

Differential Revision: https://reviews.llvm.org/D155906
DeltaFile
+2-2libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator.pass.cpp
+1-2libcxx/utils/libcxx/test/params.py
+1-1libcxx/test/libcxx/assertions/modes/hardened.pass.cpp
+1-1libcxx/test/libcxx/assertions/modes/hardened_mode_disabled_in_tu.pass.cpp
+1-1libcxx/test/libcxx/assertions/modes/hardened_mode_enabled_in_tu.pass.cpp
+1-1libcxx/test/libcxx/assertions/modes/hardened_mode_not_1_or_0.verify.cpp
+7-8104 files not shown
+111-112110 files

LLVM/project f0dfe68libcxx/docs UsingLibcxx.rst HardenedMode.rst, libcxx/include __config

[libc++][hardening] Deprecate `_LIBCPP_ENABLE_ASSERTIONS`.

`_LIBCPP_ENABLE_ASSERTIONS` was used to enable the "safe" mode in
libc++. Libc++ now provides the hardened mode and the debug mode that
replace the safe mode.

For backward compatibility, enabling `_LIBCPP_ENABLE_ASSERTIONS` now
enables the hardened mode. Note that the hardened mode provides
a narrower set of checks than the previous "safe" mode (only
security-critical checks that are performant enough to be used in
production).

Differential Revision: https://reviews.llvm.org/D154997
DeltaFile
+23-38libcxx/docs/UsingLibcxx.rst
+26-13libcxx/docs/HardenedMode.rst
+0-33libcxx/test/libcxx/assertions/single_expression.sh.cpp
+33-0libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_hardened_mode.pass.cpp
+32-0libcxx/test/libcxx/assertions/single_expression.pass.cpp
+18-10libcxx/include/__config
+132-94116 files not shown
+266-386122 files

LLVM/project f0fc8c4libcxx/test/libcxx/language.support/support.dynamic new_faligned_allocation.pass.cpp libcpp_deallocate.sh.cpp, libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem construct_pair_values.pass.cpp

[libc++] Use named Lit features to flag back-deployment XFAILs

Instead of writing something like `XFAIL: use_system_cxx_lib && target=...`
to XFAIL back-deployment tests, introduce named Lit features like
`availability-shared_mutex-missing` to represent those. This makes the
XFAIL annotations leaner, and solves the problem of XFAIL comments
potentially getting out of sync. This would also make it easier for
another vendor to add their own annotations to the test suite by simply
changing how the feature is defined for their OS releases, instead
of having to modify hundreds of tests to add repetitive annotations.

This doesn't touch *all* annotations -- only annotations that were widely
duplicated are given named features (e.g. when filesystem or shared_mutex
were introduced). I still think it probably doesn't make sense to have a
named feature for every single fix we make to the dylib.

This is in essence a revert of 2659663, but since then the test suite
has changed significantly. Back when I did 2659663, the configuration
files we have for the test suite right now were being bootstrapped and

    [12 lines not shown]
DeltaFile
+53-1libcxx/utils/libcxx/test/features.py
+2-7libcxx/test/std/input.output/filesystems/lit.local.cfg
+3-4libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
+3-4libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+1-4libcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
+1-4libcxx/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
+63-24415 files not shown
+496-884421 files

LLVM/project 4fe8bd0libcxx/include string vector

RENAME ALL THE THINGS
DeltaFile
+634-634libcxx/include/string
+578-578libcxx/include/vector
+464-464libcxx/include/__config
+447-447libcxx/include/limits
+434-434libcxx/include/unordered_map
+411-411libcxx/include/regex
+2,968-2,9682,751 files not shown
+31,958-31,9582,757 files

LLVM/project d761fe6libcxx/include span, libcxx/test/libcxx/containers/views/views.span/span.cons assert.iter_sent.pass.cpp assert.iter_size.pass.cpp

[libc++] Add a missing assertion in std::span's constructor

Also, add missing tests for assertions in span constructors. Now I
believe that all of std::span's API should be hardened, and all the
assertions should have a corresponding test.

Differential Revision: https://reviews.llvm.org/D131681

(cherry picked from commit 8c6319e30a357fb9b25db09b6f5fc9cf3e7c4aab)
DeltaFile
+48-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
+37-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
+33-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
+32-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
+4-3libcxx/include/span
+154-35 files

LLVM/project 8c6319elibcxx/include span, libcxx/test/libcxx/containers/views/views.span/span.cons assert.iter_sent.pass.cpp assert.iter_size.pass.cpp

[libc++] Add a missing assertion in std::span's constructor

Also, add missing tests for assertions in span constructors. Now I
believe that all of std::span's API should be hardened, and all the
assertions should have a corresponding test.

Differential Revision: https://reviews.llvm.org/D131681
DeltaFile
+48-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
+37-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
+33-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
+32-0libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
+4-3libcxx/include/span
+154-35 files