Changes

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [builtins] Try to ensure single copy of emulated TLS state (details)
  2. [libomptarget][nfc] Only set cuda-path for nvptx tests (details)
  3. [mlir][spirv] Fix storing bool with proper storage capabilities (details)
  4. [mlir][spirv] Fix loading bool with proper storage capabilities (details)
  5. [mlir][spirv] Add support for i8 serialization (details)
  6. [libcxx][docs] Take locks on the last three views. (details)
  7. [flang] Produce proper "preprocessor output" for -E option (details)
  8. [sanitizer] Remove cpplint (details)
  9. [libc] Move FPExceptMatcher out of TestHelpers.h (details)
  10. [vscode-mlir] Update package.json in preparation for publishing (details)
  11. [mlir-vscode] Create a proper output channel for the MLIRContext (details)
  12. [profile] Fix profile merging with binary IDs (details)
  13. [vscode-mlir] Fix the package repo url. (details)
  14. [sanitizer] Remove cpplint annotations (details)
  15. [libc] Add trigonometric and exponential functions to the windows config. (details)
  16. Revert "[lldb] [DWARF-5] Be lazier about loading .dwo files" (details)
  17. Revert "[profile] Fix profile merging with binary IDs" (details)
  18. [profile] Fix profile merging with binary IDs (details)
  19. Revert "[clang][cache] Update Fuchsia-stage2.cmake to create hwasan multilibs" (details)
  20. [NFC][sanitizer] clang-format few files (details)
  21. tsan: always setup sigaction signal handler (details)
  22. tsan: remove "expected" races (details)
  23. sanitizers: build tests with -g (details)
  24. tsan: introduce Tid and StackID typedefs (details)
  25. tsan: prevent insertion of memset into BenignRaceImpl (details)
  26. [profile][test] Delete --path-equivalence=/tmp,%S (details)
  27. [lldb] [DWARF-5] Be lazier about loading .dwo files (details)
  28. [Clang][AArch64] Inline assembly support for the ACLE type 'data512_t' (details)
  29. [AArch64] Add a Machine Value Type for 8 consecutive registers (details)
  30. [AArch64] Legalize MVT::i64x8 in DAG isel lowering (details)
Commit b8f04a670f27a84412099dd025fa762ee58f4c1a by smeenai
[builtins] Try to ensure single copy of emulated TLS state

Multiple copies of emulated TLS state means inconsistent results when
accessing the same thread-local variable from different shared objects
(https://github.com/android/ndk/issues/1551). Making `__emutls_get_address`
be a weak default visibility symbol should make the dynamic linker
ensure only a single copy gets used at runtime. This is best-effort, but
the more robust approach of putting emulated TLS into its own shared
object would (a) be a much bigger change, and (b) shared objects are
pretty heavyweight, and adding a new one to a space-constrained
environment isn't an easy sell. Given the expected rarity of direct
accesses to emulated TLS variables across different shared objects, the
best-effort approach should suffice.

Reviewed By: danalbert, rprichard

Differential Revision: https://reviews.llvm.org/D107127
The file was modifiedcompiler-rt/lib/builtins/emutls.c
Commit 567c8c7bfd7a0bbafa84171e5edcc3e79fe5f8ca by jonathanchesterfield
[libomptarget][nfc] Only set cuda-path for nvptx tests

Remove --cuda-path=CUDA_TOOLKIT_ROOT_DIR-NOTFOUND
from the invocation of non-nvptx test cases. Better signal
to noise ratio on other architectures.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D107074
The file was modifiedopenmp/libomptarget/test/lit.cfg
Commit 9f5300c8be4576d93256b88d195a1eb44de189f6 by antiagainst
[mlir][spirv] Fix storing bool with proper storage capabilities

If the source value to store is bool, and we have native storage
capability support for the target bitwidth, we still cannot directly
store; we need to perform casting to match the target memref
element's bitwidth.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107114
The file was modifiedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
The file was modifiedmlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
The file was modifiedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
Commit 0065bd2ad59cd05f0ca762a1cb586d3bfe809f2e by antiagainst
[mlir][spirv] Fix loading bool with proper storage capabilities

If the source value to load is bool, and we have native storage
capability support for the source bitwidth, we still cannot directly
rewrite uses; we need to perform casting to bool first.

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107119
The file was modifiedmlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
The file was modifiedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
Commit 233a3a75ac5656257377f18f9346d407122e61b2 by antiagainst
[mlir][spirv] Add support for i8 serialization

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107122
The file was modifiedmlir/test/Target/SPIRV/constant.mlir
The file was modifiedmlir/lib/Target/SPIRV/Serialization/Serializer.cpp
Commit 3df649e6191516547c6ddbcf26d507cd9b824519 by zoecarver
[libcxx][docs] Take locks on the last three views.
The file was modifiedlibcxx/docs/Status/RangesPaper.csv
Commit 3338ef93b02837edf69abc203e15a42fa55aa1b3 by pklausler
[flang] Produce proper "preprocessor output" for -E option

Rename the current -E option to "-E -Xflang -fno-reformat".

Add a new Parsing::EmitPreprocessedSource() routine to convert the
cooked character stream output of the prescanner back to something
more closely resembling output from a traditional preprocessor;
call this new routine when -E appears.

The new -E output is suitable for use as fixed form Fortran source to
compilation by (one hopes) any Fortran compiler.  If the original
top-level source file had been free form source, the output will be
suitable for use as free form source as well; otherwise there may be
diagnostics about missing spaces if they were indeed absent in the
original fixed form source.

Unless the -P option appears, #line directives are interspersed
with the output (but be advised, f18 will ignore these if presented
with them in a later compilation).

An effort has been made to preserve original alphabetic character case
and source indentation.

Add -P and -fno-reformat to the new drivers.

Tweak test options to avoid confusion with prior -E output; use
-fno-reformat where needed, but prefer to keep -E, sometimes
in concert with -P, on most, updating expected results accordingly.

Differential Revision: https://reviews.llvm.org/D106727
The file was modifiedflang/test/Preprocessing/pp101.F90
The file was modifiedflang/test/Preprocessing/pp009.F
The file was modifiedflang/test/Preprocessing/pp117.F90
The file was modifiedflang/test/Preprocessing/pp041.F
The file was modifiedflang/test/Preprocessing/pp022.F
The file was modifiedflang/test/Preprocessing/pp123.F90
The file was modifiedflang/test/Preprocessing/pp017.F
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
The file was modifiedflang/unittests/Frontend/FrontendActionTest.cpp
The file was modifiedflang/test/Preprocessing/pp014.F
The file was modifiedflang/tools/f18-parse-demo/f18-parse-demo.cpp
The file was modifiedflang/include/flang/Frontend/FrontendOptions.h
The file was modifiedflang/test/Preprocessing/pp005.F
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Preprocessing/pp021.F
The file was modifiedflang/test/Preprocessing/pp031.F
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/test/Preprocessing/pp127.F90
The file was modifiedflang/test/Preprocessing/pp118.F90
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedflang/test/Driver/frontend-forwarding.f90
The file was modifiedflang/test/Preprocessing/pp027.F
The file was modifiedflang/test/Preprocessing/pp112.F90
The file was modifiedflang/include/flang/Frontend/PreprocessorOptions.h
The file was modifiedflang/test/Preprocessing/pp016.F
The file was modifiedflang/test/Preprocessing/pp102.F90
The file was modifiedflang/test/Preprocessing/pp107.F90
The file was modifiedflang/test/Preprocessing/pp032.F
The file was modifiedflang/test/Preprocessing/pp043.F
The file was modifiedflang/test/Preprocessing/pp121.F90
The file was modifiedflang/lib/Frontend/FrontendOptions.cpp
The file was modifiedflang/test/Preprocessing/pp004.F
The file was modifiedflang/test/Preprocessing/pp035.F
The file was modifiedflang/test/Preprocessing/pp038.F
The file was modifiedflang/test/Preprocessing/assert.F90
The file was modifiedflang/test/Preprocessing/pp020.F
The file was modifiedflang/test/Preprocessing/pp124.F90
The file was modifiedflang/lib/Parser/parsing.cpp
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedflang/test/Preprocessing/pp023.F
The file was modifiedflang/test/Driver/fixed-line-length.f90
The file was modifiedflang/test/Driver/driver-help-hidden.f90
The file was modifiedflang/test/Driver/cpp-nocpp-command-line-macro.f90
The file was modifiedflang/test/Driver/fixed-free-detection.f90
The file was modifiedflang/test/Preprocessing/pp116.F90
The file was modifiedflang/test/Preprocessing/pp034.F
The file was modifiedflang/include/flang/Parser/parsing.h
The file was modifiedflang/test/Driver/input-from-stdin.f90
The file was modifiedflang/test/Preprocessing/pp007.F
The file was modifiedflang/test/Preprocessing/pp028.F
The file was modifiedflang/lib/Parser/provenance.cpp
The file was modifiedflang/test/Preprocessing/pp026.F
The file was modifiedflang/test/Preprocessing/pp104.F90
The file was modifiedflang/test/Preprocessing/pp108.F90
The file was addedflang/test/Preprocessing/dash-E.F90
The file was modifiedflang/test/Preprocessing/pp030.F
The file was modifiedflang/test/Preprocessing/fixed-rescan.F
The file was modifiedflang/test/Preprocessing/pp126.F90
The file was modifiedflang/test/Driver/escaped-backslash.f90
The file was modifiedflang/test/Preprocessing/pp003.F
The file was modifiedflang/test/Preprocessing/pp015.F
The file was modifiedflang/test/Preprocessing/pp111.F90
The file was modifiedflang/test/Driver/macro-def-undef.F90
The file was modifiedflang/test/Preprocessing/pp006.F
The file was modifiedflang/test/Preprocessing/pp002.F
The file was modifiedflang/test/Preprocessing/pp011.F
The file was modifiedflang/test/Preprocessing/pp037.F
The file was modifiedflang/test/Preprocessing/pp029.F
The file was modifiedflang/test/Preprocessing/pp125.F90
The file was modifiedflang/test/Driver/include-header.f90
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/test/Driver/macro-multiline.F90
The file was modifiedflang/test/Preprocessing/pp012.F
The file was modifiedflang/test/Preprocessing/pp025.F
The file was modifiedflang/test/Preprocessing/pp033.F
The file was modifiedflang/test/Preprocessing/pp019.F
The file was modifiedflang/test/Preprocessing/pp039.F
The file was modifiedflang/test/Preprocessing/pp115.F90
The file was modifiedflang/test/Preprocessing/pp036.F
The file was modifiedflang/test/Preprocessing/hollerith.f
The file was modifiedflang/test/Preprocessing/pp001.F
The file was modifiedflang/test/Preprocessing/pp008.F
The file was modifiedflang/lib/Parser/token-sequence.h
The file was modifiedflang/test/Driver/driver-help.f90
The file was modifiedflang/test/Preprocessing/pp013.F
The file was modifiedflang/test/Preprocessing/pp018.F
The file was modifiedflang/test/Preprocessing/pp044.F
The file was modifiedflang/test/Preprocessing/pp128.F90
The file was modifiedflang/test/Parser/badlabel.f
The file was modifiedflang/test/Preprocessing/pp010.F
The file was modifiedflang/lib/Parser/token-sequence.cpp
The file was modifiedflang/test/Preprocessing/pp024.F
Commit f08229f49e0cc92d8687661e85be3ba31b964e69 by Vitaly Buka
[sanitizer] Remove cpplint

As code diverge from Google style we need
to add more and more exceptions to suppress
conflicts with clang-format and clang-tidy.
As this point it does not provide a additional value.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D107197
The file was modifiedcompiler-rt/cmake/Modules/SanitizerUtils.cmake
The file was removedcompiler-rt/lib/sanitizer_common/scripts/check_lint.sh
The file was removedcompiler-rt/lib/sanitizer_common/scripts/litlint_test.py
The file was modifiedcompiler-rt/test/sanitizer_common/CMakeLists.txt
The file was removedcompiler-rt/lib/sanitizer_common/scripts/cpplint.py
The file was removedcompiler-rt/lib/sanitizer_common/scripts/litlint.py
Commit 3d758e68a766545db0cc92d177d309f0616a67f4 by sivachandra
[libc] Move FPExceptMatcher out of TestHelpers.h

TestHelpers.h pulls few pieces from LLVM libc's unittest framework
which aren't available on platforms like Fuchsia which use their own
unittest framework. So, by moving FPExceptMatcher to a different file
we can exclude LLVM libc specific pieces in a cleaner way.

In a later pass, it might make more sense to rename TestHelpers.h also
to FPMatcher.h. That way, we can make macros like EXPECT_FP_EQ to be
equivalent to EXPECT_EQ on platforms like Fuchsia.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D107129
The file was addedlibc/utils/FPUtil/FPExceptMatcher.cpp
The file was modifiedlibc/test/src/fenv/feholdexcept_test.cpp
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp
The file was modifiedlibc/utils/FPUtil/TestHelpers.h
The file was modifiedlibc/utils/FPUtil/TestHelpers.cpp
The file was addedlibc/utils/FPUtil/FPExceptMatcher.h
The file was modifiedlibc/utils/FPUtil/CMakeLists.txt
Commit 3e5906499ff42fc54c36fcd8c96760be311fc492 by riddleriver
[vscode-mlir] Update package.json in preparation for publishing

Quite a few things were out-of-date, or just not
organized well. This revision updates the extension
name, repo, icon, and many other components in
preperation for publishing the extension to the
marketplace.
The file was modifiedmlir/utils/vscode/package.json
The file was modifiedmlir/utils/vscode/package-lock.json
The file was modifiedmlir/docs/Tools/MLIRLSP.md
Commit 03b2d1a659228bc2fe7972357d9b8b41eda2f558 by riddleriver
[mlir-vscode] Create a proper output channel for the MLIRContext

This allows for reusing the same output channel when the extension reloads after updating the server. Currently, whenever the extension restarts a new output channel is created (which can lead to a large number of seemingly dead output channels).
The file was modifiedmlir/utils/vscode/src/extension.ts
The file was modifiedmlir/utils/vscode/src/mlirContext.ts
Commit dcadd64986b8a84dc244d4e7faa848fb4c18cea6 by phosek
[profile] Fix profile merging with binary IDs

This fixes support for merging profiles which broke as a consequence
of e50a38840dc3db5813f74b1cd2e10e6d984d0e67. The issue was missing
adjustment in merge logic to account for the binary IDs which are
now included in the raw profile just after header.

In addition, this change also:
* Includes the version in module signature that's used for merging
to avoid accidental attempts to merge incompatible profiles.
* Moves the binary IDs size field after version field in the header
as was suggested in the review.

Differential Revision: https://reviews.llvm.org/D107143
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-be.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-le.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-be.test
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-le.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/c-general.profraw
The file was modifiedcompiler-rt/test/profile/Linux/binary-id.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-two-profiles.test
The file was modifiedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
Commit 634b086f6e3b84f2a9046659b6901e8ce7c8f1c3 by riddleriver
[vscode-mlir] Fix the package repo url.

It should be llvm/vscode-mlir not llvm-project/vscode-mlir.
The file was modifiedmlir/utils/vscode/package.json
Commit 44c83eccf9ef8bb127a2fa4e9da7f21d732b5829 by Vitaly Buka
[sanitizer] Remove cpplint annotations

cpplint was removed by D107197

Differential Revision: https://reviews.llvm.org/D107198
The file was modifiedcompiler-rt/lib/dfsan/dfsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/dfsan/dfsan_custom.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_printf_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h
The file was modifiedcompiler-rt/test/asan/TestCases/vla_condition_overflow.cpp
The file was modifiedcompiler-rt/include/sanitizer/dfsan_interface.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/dfsan/dfsan.h
The file was modifiedcompiler-rt/test/lsan/TestCases/use_globals_unused.cpp
The file was modifiedcompiler-rt/utils/generate_netbsd_ioctls.awk
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_asm.h
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
The file was modifiedcompiler-rt/lib/msan/msan_interceptors.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.h
Commit 66d92efc6640606a22760433c02c3d5dbb4866ae by sivachandra
[libc] Add trigonometric and exponential functions to the windows config.
The file was modifiedlibc/config/windows/entrypoints.txt
Commit dfb6f7b01595a0f4684615ed867c6c76e8ea51b3 by stilis
Revert "[lldb] [DWARF-5] Be lazier about loading .dwo files"

This reverts commit 8dfd6cae9bd62ae5ef056b994ece2e98f1558830.

This change broke the windows lldb bot:
https://lab.llvm.org/buildbot/#/builders/83/builds/8842
The file was modifiedlldb/include/lldb/Symbol/CompileUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/dwp.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/split-optimized.c
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Symbol/CompileUnit.cpp
The file was removedlldb/test/Shell/SymbolFile/DWARF/dwarf5-lazy-dwo.c
Commit d3dd07e3d05a72da8834044d2efa885845c7d879 by phosek
Revert "[profile] Fix profile merging with binary IDs"

This reverts commit dcadd64986b8a84dc244d4e7faa848fb4c18cea6.
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedcompiler-rt/test/profile/Linux/binary-id.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-le.test
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/c-general.profraw
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-le.test
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-two-profiles.test
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
The file was modifiedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-be.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-be.test
Commit 83302c84890e5e6cb74c7d6c9f8eaaa56db0077c by phosek
[profile] Fix profile merging with binary IDs

This fixes support for merging profiles which broke as a consequence
of e50a38840dc3db5813f74b1cd2e10e6d984d0e67. The issue was missing
adjustment in merge logic to account for the binary IDs which are
now included in the raw profile just after header.

In addition, this change also:
* Includes the version in module signature that's used for merging
to avoid accidental attempts to merge incompatible profiles.
* Moves the binary IDs size field after version field in the header
as was suggested in the review.

Differential Revision: https://reviews.llvm.org/D107143
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/compressed.profraw
The file was modifiedcompiler-rt/test/profile/Linux/binary-id.c
The file was modifiedllvm/test/tools/llvm-profdata/Inputs/c-general.profraw
The file was modifiedcompiler-rt/lib/profile/InstrProfilingMerge.c
The file was modifiedllvm/test/tools/llvm-profdata/raw-two-profiles.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-le.test
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-le.test
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
The file was modifiedllvm/test/tools/llvm-profdata/raw-64-bits-be.test
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingBuffer.c
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
The file was modifiedllvm/test/tools/llvm-profdata/raw-32-bits-be.test
Commit a9d1970384aa3908adbf6f50f110c375def58947 by phosek
Revert "[clang][cache] Update Fuchsia-stage2.cmake to create hwasan multilibs"

This reverts commit bb438f6cbfc08eaa2cd9124a0ad581dd29f819b4 since
it broke our Windows builders and we need more time to investigate
the issue.
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit 2564f27f1868b07292809c44e4e9e7a00b35d4e1 by Vitaly Buka
[NFC][sanitizer] clang-format few files
The file was modifiedcompiler-rt/include/sanitizer/linux_syscall_hooks.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_syscalls.inc
Commit 53a526790d841beb04294f232982796d0803dd3c by dvyukov
tsan: always setup sigaction signal handler

Currently we setup either sigaction signal handler with 3 arguments
or old style signal handler with 1 argument depending on user handler type.
This unnecessarily complicates code. Always setup sigaction handler.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107186
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 5b30ebed96ad64d08ab7ffcc75a10785737ed191 by dvyukov
tsan: remove "expected" races

"Expected" races is a very ancient facility used in tsanv1 tests.
It's not used/needed anymore. Remove it.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107175
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.inc
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_flags_test.cpp
Commit 3ea3b6b2d411e1507a5a81d29d2ae5de11555202 by dvyukov
sanitizers: build tests with -g

We currently build tests without -g, which is quite inconvenient.
Crash stacks don't have line numbers, gdb don't how line numbers either.
Always build tests with -g.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D107168
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 103d075b05d1b1b70c317e662b1c31f836fcff20 by dvyukov
tsan: introduce Tid and StackID typedefs

Currently we inconsistently use u32 and int for thread ids,
there are also "unique tid" and "os tid" and just lots of other
things identified by integers.
Additionally new tsan runtime will introduce yet another
thread identifier that is very different from current tids.
Similarly for stack IDs, it's easy to confuse u32 with other
integer identifiers. And when a function accepts u32 or a struct
contains u32 field, it's not always clear what it is.

Add Tid and StackID typedefs to make it clear what is what.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107152
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_ignoreset.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_ignoreset.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_fd.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_fd.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.h
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
Commit 61da95e8a16a71b58661af6d4c33975cb6aa9568 by dvyukov
tsan: prevent insertion of memset into BenignRaceImpl

Some bots started failing with the following error
after changing Alloc to New. Change it back.

ThreadSanitizer: CHECK failed: ((locked[i].recursion)) == ((0))
4 __sanitizer::CheckedMutex::CheckNoLocks()
5 __tsan::ScopedInterceptor::~ScopedInterceptor()
6 memset
7 __tsan::New<__tsan::ExpectRace>()
8 __tsan::AddExpectRace()
9 BenignRaceImpl()

Differential Revision: https://reviews.llvm.org/D107212
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
Commit 18ec93d9e60c687bfb2b39269f7f81d47b71a179 by i
[profile][test] Delete --path-equivalence=/tmp,%S

This causes the test to fail if %S is under /tmp
The file was modifiedcompiler-rt/test/profile/Linux/instrprof-comdat.test
Commit fb09f365ae28920666ddfd466fb09b44b9cb7be1 by jan.kratochvil
[lldb] [DWARF-5] Be lazier about loading .dwo files

This change makes sure that DwarfUnit does not load a .dwo file until
necessary. I also take advantage of DWARF 5's guarantee that the first
support file is also the primary file to make it possible to create
a compile unit without loading the .dwo file.

Testcases now require Linux as it is needed for -gsplit-dwarf.

Review By: jankratochvil, dblaikie

Differential Revision: https://reviews.llvm.org/D100299
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Symbol/CompileUnit.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/dwp.s
The file was modifiedlldb/include/lldb/Symbol/CompileUnit.h
The file was addedlldb/test/Shell/SymbolFile/DWARF/split-optimized.c
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/dwarf5-lazy-dwo.c
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
Commit 29b263a34f1afbae9c95bf48eab7e8aac8132a80 by alexandros.lamprineas
[Clang][AArch64] Inline assembly support for the ACLE type 'data512_t'

In LLVM IR terms the ACLE type 'data512_t' is essentially an aggregate
type { [8 x i64] }. When emitting code for inline assembly operands,
clang tries to scalarize aggregate types to an integer of the equivalent
length, otherwise it passes them by-reference. This patch adds a target
hook to tell whether a given inline assembly operand is scalarizable
so that clang can emit code to pass/return it by-value.

Differential Revision: https://reviews.llvm.org/D94098
The file was addedclang/test/CodeGen/aarch64-ls64-inline-asm.c
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.h
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 3094e5389b3dfb046eebcb549f7f4b814258863e by alexandros.lamprineas
[AArch64] Add a Machine Value Type for 8 consecutive registers

Adds MVT::i64x8, a Machine Value Type needed for lowering inline assembly
operands which materialize a sequence of eight general purpose registers.

Differential Revision: https://reviews.llvm.org/D94096
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
Commit 7d940432c46be83b8fcb5dbefee439585fa820cd by alexandros.lamprineas
[AArch64] Legalize MVT::i64x8 in DAG isel lowering

This patch legalizes the Machine Value Type introduced in D94096 for loads
and stores. A new target hook named getAsmOperandValueType() is added which
maps i512 to MVT::i64x8. GlobalISel falls back to DAG for legalization.

Differential Revision: https://reviews.llvm.org/D94097
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.td
The file was modifiedllvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/ls64-inline-asm.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp