UnstableChanges

Summary

  1. [libcxxabi] Remove unnecessary define from build (details)
  2. [scudo] Fix EXPECT_DEATH tests (details)
  3. [tests] Update Transforms/DeadStoreElim/multiblock-malloc-free.ll (details)
  4. [IR] Memory intrinsics are not unconditionally `nosync` (details)
  5. [debugserver] Add platform cache support to improve performance. (details)
Commit 6c05f2dab384fd5f9b086be3323c0a7f4f10d8fc by smeenai
[libcxxabi] Remove unnecessary define from build

Now that we're passing -D_LIBCPP_BUILDING_LIBRARY to the libc++abi
build, -D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS is redundant
(https://github.com/llvm/llvm-project/blob/fb3a00c327df78eaa534e53ac6f07112e0585121/libcxx/include/exception#L120-L121
is the only use of _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS in
libc++, and that conditional also checks for _LIBCPP_BUILDING_LIBRARY).

Reviewed By: #libc_abi, phosek

Differential Revision: https://reviews.llvm.org/D102372
The file was modifiedlibcxxabi/CMakeLists.txt
Commit 96b760607f8e82e563dc8cac67b2d2dfb76d5d33 by Vitaly Buka
[scudo] Fix EXPECT_DEATH tests

Put allocate/deallocate next to memory
access inside EXPECT_DEATH block.
This way we reduce probability that memory is not mapped
by unrelated code.

It's still not absolutely guaranty that mmap does not
happen so we repeat it few times to be sure.

Reviewed By: cryptoad

Differential Revision: https://reviews.llvm.org/D102886
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/map_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Commit 77b83d3088e62704dc6f15db4485ad5c37bb11b7 by nhaehnle
[tests] Update Transforms/DeadStoreElim/multiblock-malloc-free.ll

This change is generated by running update_test_checks.py. It serves to
make subsequent diffs easier to understand.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/multiblock-malloc-free.ll
Commit a888e492f601644f44b843373039966e7acacd31 by nhaehnle
[IR] Memory intrinsics are not unconditionally `nosync`

Remove the `nosync` attribute from the memory intrinsic definitions
(i.e. memset, memcpy, memmove).

Like native memory accesses, memory intrinsics can be volatile. This is
indicated by an immarg in the intrinsic call. All else equal, a volatile
memory intrinsic is `sync`, so we cannot annotate the intrinsic functions
themselves as `nosync`. The attributor and function-attr passes know to
take the volatile bit into account.

Since `nosync` is a default attribute, this means we have to stop using
the DefaultAttrIntrinsic tablegen class for memory intrinsics, and
specify all default attributes other than `nosync` explicitly.

Most of the test changes are trivial churn, but one test case
(in nosync.ll) was in fact incorrect before this change.

Differential Revision: https://reviews.llvm.org/D102295
The file was modifiedllvm/test/Transforms/Attributor/nosync.ll
The file was modifiedllvm/test/Transforms/ObjCARC/nested.ll
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/Transforms/Attributor/lowerheap.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/multiblock-malloc-free.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Analysis/BasicAA/cs-cs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
Commit 8dd106028b1533f0de03a1ffb4ea0dce40b5a2ff by Jonas Devlieghere
[debugserver] Add platform cache support to improve performance.

The dyld SPI used by debugserver (_dyld_process_info_create) has become
much slower in macOS BigSur 11.3 causing a significant performance
regression when attaching. This commit mitigates that by caching the
result when calling the SPI to compute the platform.

Differential revision: https://reviews.llvm.org/D102833
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.h
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm