SuccessChanges

Summary

  1. scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot (details)
  2. scudo: Remove the THREADLOCAL macro. (details)
  3. Remove dependency on clangASTMatchers. (details)
  4. Revert "[EarlyCSE] Equivalent SELECTs should hash equally" (details)
Commit 84c2c4977dfe89112fd564a69c693d271663229c by peter
scudo: Introduce a new mechanism to let Scudo access a platform-specific TLS slot

An upcoming change to Scudo will change how we use the TLS slot
in tsd_shared.h, which will be a little easier to deal with if
we can remove the code path that calls pthread_getspecific and
pthread_setspecific. The only known user of this code path is Fuchsia.

We can't eliminate this code path by making Fuchsia use ELF TLS
because although Fuchsia supports ELF TLS, it is not supported within
libc itself. To address this, Roland McGrath on the Fuchsia team has
proposed that Scudo will optionally call a platform-provided function
to access a TLS slot reserved for Scudo. Android also has a reserved
TLS slot, but the code that accesses the TLS slot lives in Scudo.

We can eliminate some complexity and duplicated code by having Android
use the same mechanism that was proposed for Fuchsia, which is what
this change does. A separate change to Android implements it.

Differential Revision: https://reviews.llvm.org/D87420
The file was modifiedcompiler-rt/lib/scudo/standalone/linux.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
Commit d876c7c8ec5387aac14041cace1833b243e5b335 by peter
scudo: Remove the THREADLOCAL macro.

Replace all remaining uses with thread_local, which is a C++11
standard feature.

Differential Revision: https://reviews.llvm.org/D87478
The file was modifiedcompiler-rt/lib/scudo/standalone/internal_defs.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_exclusive.h
Commit b22d45049682d1461b6b786f159681e2e5c2ce24 by michael.hliao
Remove dependency on clangASTMatchers.

- It seems no long required for shared library builds.
The file was modifiedclang/lib/CodeGen/CMakeLists.txt
Commit 39dc75f66c60025539940ff47b105418645c025f by michael.hliao
Revert "[EarlyCSE] Equivalent SELECTs should hash equally"

This reverts commit c9826829d74e637163fdb0351870b8204e62d6e6 as it
breaks regression tests.
The file was modifiedllvm/test/Transforms/EarlyCSE/commute.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp