Changes

Summary

  1. [VectorCombine] Add PR30986 test case (details)
  2. [libc] Add a Google Benchmark target to support continuous monitoring of memory operation performance (details)
  3. tsan: remove unbalanced mutex unlock (details)
  4. [MLIR] FlatAffineConstraints: Fixed bug where some divisions were not being detected (details)
  5. [clang][NFC] Typo fixes. Test commit. (details)
  6. [AArch64] Optimise min/max lowering in ISel (details)
  7. [hwasan] Commit missed REQUIRES: stable-runtime. (details)
  8. [OpenCL] __cpp_threadsafe_static_init is by default undefined in OpenCL mode. (details)
  9. [ARM] Remove setPreservesCFG from ARMBlockPlacement (details)
  10. prfchwintrin.h: Make _m_prefetchw take a pointer to volatile (PR49124) (details)
  11. [VectorCombine] Fix PR30986 poison test case (details)
  12. Change code owner of libc++ from Marshall to Louis (details)
  13. [OpenMP][AMDGCN] Initial math headers support (details)
  14. [tsan] Complete renaming kMaxSid to kThreadSlotCount (details)
  15. [ADT] Remove PointerUnionTypeSelector (NFC) (details)
  16. [AArch64] Add shufflevector concat codegen tests. NFC. (details)
Commit 7942e20fc8e68d5937b52d487a3ce9d1eb830772 by llvm-dev
[VectorCombine] Add PR30986 test case
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load.ll
Commit 59198d062f409387393ee3843b3c999b1dc9947e by gchatelet
[libc] Add a Google Benchmark target to support continuous monitoring of memory operation performance

The next step is to be able to benchmark several implementations at once and compare which one performs best on a particular machine.

Differential Revision: https://reviews.llvm.org/D107265
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.h
The file was addedlibc/benchmarks/LibcMemoryGoogleBenchmarkMain.cpp
The file was modifiedlibc/benchmarks/CMakeLists.txt
The file was modifiedlibc/benchmarks/LibcMemoryBenchmark.cpp
Commit 03372e72d30294fe67012cd5cc0f069ce25cce3e by dvyukov
tsan: remove unbalanced mutex unlock

The mutex is now unlocked by the scoped Lock object.

Differential Revision: https://reviews.llvm.org/D107266
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
Commit 7eeaa782c430dd47c7da04b79f2d3f87cde77b4e by arjunpitchanathan
[MLIR] FlatAffineConstraints: Fixed bug where some divisions were not being detected

This patch fixes a bug in the existing implementation of detectAsFloorDiv,
where floordivs with numerator with non-zero constant term and floordivs with
numerator only consisting of a constant term were not being detected.

Reviewed By: vinayaka-polymage

Differential Revision: https://reviews.llvm.org/D107214
The file was modifiedmlir/unittests/Analysis/AffineStructuresTest.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
Commit 9988ab3989a2e2e9cde3cc1ab4d7a44a87dee393 by Justas.Janickas
[clang][NFC] Typo fixes. Test commit.

Fixed spelling of word "whether"
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit b01417d3c58d5438c8bdb0762da0e882f905ef7f by irina.dobrescu
[AArch64] Optimise min/max lowering in ISel

Differential Revision: https://reviews.llvm.org/D106561
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/AArch64/min-max.ll
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/minmax.ll
The file was modifiedllvm/test/CodeGen/AArch64/min-max.ll
Commit cd2387b56dc82e1df314a46e8b987db45defc189 by fmayer
[hwasan] Commit missed REQUIRES: stable-runtime.

Differential Revision: https://reviews.llvm.org/D107268
The file was modifiedcompiler-rt/test/hwasan/TestCases/use-after-scope-capture.cpp
Commit b13fc7311eabca27b3baea99b7be6edef0213406 by Justas.Janickas
[OpenCL] __cpp_threadsafe_static_init is by default undefined in OpenCL mode.

Definition of `__cpp_threadsafe_static_init` macro is controlled by
language option Opts.ThreadsafeStatics. This patch sets language
option to false by default in OpenCL mode, resulting in macro
`__cpp_threadsafe_static_init` being undefined. Default value can be
overridden using command line option -fthreadsafe-statics.

Change is supposed to address portability because not all OpenCL
vendors support thread safe implementation of static initialization.

Fixes llvm.org/PR48012

Differential Revision: https://reviews.llvm.org/D107163
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/threadsafe-statics.clcpp
Commit c423a586a7107becc7c81b144f38028a0ab57043 by david.green
[ARM] Remove setPreservesCFG from ARMBlockPlacement

As of 28293918409dd3a5a it no longer preserves the CFG, needing to
split blocks in order to add DLS instructions.
The file was modifiedllvm/lib/Target/ARM/ARMBlockPlacement.cpp
Commit 12dc13b73cf8c11da1bcc354c78bd6a9c92408e8 by hans
prfchwintrin.h: Make _m_prefetchw take a pointer to volatile (PR49124)

For some reason, Microsoft declares _m_prefetch to take a const void*,
but _m_prefetchw to take a /volatile/ const void*.

Do the same for compatibility.

Differential revision: https://reviews.llvm.org/D106790
The file was modifiedclang/lib/Headers/prfchwintrin.h
Commit f10d4cfc237bf778d659f645eaf5c4ecb094148b by llvm-dev
[VectorCombine] Fix PR30986 poison test case

Thanks @xbolva00!
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
Commit c4cd573b3247509da6d76222a87265f9efd6ad02 by marshall
Change code owner of libc++ from Marshall to Louis
The file was modifiedllvm/CODE_OWNERS.TXT
Commit 713a5d12cde58a5dff90cc3e2d1e67c2a78fe52f by Pushpinder.Singh
[OpenMP][AMDGCN] Initial math headers support

With this patch, OpenMP on AMDGCN will use the math functions
provided by ROCm ocml library. Linking device code to the ocml will be
done in the next patch.

Reviewed By: JonChesterfield, jdoerfert, scchan

Differential Revision: https://reviews.llvm.org/D104904
The file was addedclang/test/Headers/Inputs/include/utility
The file was modifiedclang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
The file was modifiedclang/lib/Headers/openmp_wrappers/math.h
The file was modifiedclang/test/Headers/openmp_device_math_isnan.cpp
The file was modifiedclang/lib/Headers/__clang_hip_math.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Headers/Inputs/include/algorithm
The file was modifiedclang/test/Headers/Inputs/include/cstdlib
The file was modifiedclang/lib/Headers/openmp_wrappers/cmath
The file was modifiedclang/lib/Headers/__clang_hip_cmath.h
The file was addedclang/test/Headers/amdgcn_openmp_device_math.c
Commit 1f04d8ed2e1d0719998ad5071194cb055841afc8 by benny.kra
[tsan] Complete renaming kMaxSid to kThreadSlotCount

This was missing from 5c2b48fdb0a6
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_vector_clock.cpp
Commit d4a3ad70d51d6739984bd24b2ef83e5058abd7de by kazu
[ADT] Remove PointerUnionTypeSelector (NFC)

The last use was removed on May 17, 2019 in commit
9b92875bbdde7c1e01b9e739da66aa876022eadd.
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
Commit ea23f7fce5deb2b55406cb61a06b0394b0c8011f by sjoerd.meijer
[AArch64] Add shufflevector concat codegen tests. NFC.
The file was addedllvm/test/CodeGen/AArch64/concat-vector.ll