SuccessChanges

Summary

  1. [clang] Enable -fsanitize=thread on Fuchsia. (details)
  2. [gcov][test] Don't write a.gcno in CWD (details)
  3. Use report_fatal_error instead of llvm::errs() + abort() (NFC) (details)
  4. [ObjC][ARC] In HandlePotentialAlterRefCount, check whether an (details)
  5. [lldb] Make the lit configuration values optional for the API tests (details)
  6. [lldb] Hoist --framework argument out of LLDB_TEST_COMMON_ARGS (NFC) (details)
  7. [compiler-rt][tsan] Remove unnecesary typedefs (details)
Commit 2e800495a78a6d722eed5766bba1e2fe76f295bc by mvanotti
[clang] Enable -fsanitize=thread on Fuchsia.

This CL modifies clang enabling using -fsanitize=thread on fuchsia. The
change doesn't build the runtime for fuchsia, it just enables the
instrumentation to be used.

pair-programmed-with: mdempsky@google.com
Change-Id: I816c4d240d1f15e9eae2803fb8ba3a7bf667ed51

Reviewed By: mcgrathr, phosek

Differential Revision: https://reviews.llvm.org/D86822
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
Commit 90166c25631053eb4eaf5084358563ea268bb482 by maskray
[gcov][test] Don't write a.gcno in CWD
The file was modifiedllvm/test/Transforms/GCOVProfiling/atomic-counter.ll
Commit 9f2fbfab8d91cc8c623704d03991d4fe755fc1b1 by joker.eph
Use report_fatal_error instead of llvm::errs() + abort() (NFC)

This is making the error reporting in line with other fatal errors.
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit 0231a4e5bd00785abea35b804d504a6cf4c4e464 by Akira
[ObjC][ARC] In HandlePotentialAlterRefCount, check whether an
instruction can decrement the reference count, not whether it can alter
it

This prevents the state transition from S_Use to S_CanRelease when doing
a bottom-up traversal and the transition from S_Retain to S_CanRelease
when doing a top-down traversal when the visited instruction can
increment the ref count but cannot decrement it. This allows the ARC
optimizer to remove retain/release pairs which were previously not
removed.

rdar://problem/21793154
The file was modifiedllvm/lib/Transforms/ObjCARC/PtrState.cpp
The file was modifiedllvm/test/Transforms/ObjCARC/basic.ll
The file was modifiedllvm/test/Transforms/ObjCARC/opt-catchswitch.ll
Commit 3f2fb0132f7b09e1309e8f7e0b5ba8ea471b17e7 by Jonas Devlieghere
[lldb] Make the lit configuration values optional for the API tests

LIT uses a model where the test suite is configurable trough a
lit.site.cfg file. Most of the time we use the lit.site.cfg with values
that match the current build configuration, generated by CMake.

Nothing prevents you from running the test suite with a different
configuration, either by overriding some of these values from the
command line, or by passing a different lit.site.cfg.

The latter is currently tedious. Many configuration values are optional
but they still need to be set because lit.cfg.py is accessing them
directly. This patch changes the code to use getattr to return the
attribute if it exists. This makes it possible to specify a minimal
lit.site.cfg with only the mandatory/desired configuration values.

Differential revision: https://reviews.llvm.org/D86821
The file was modifiedlldb/test/API/lldbtest.py
The file was modifiedlldb/test/API/lit.cfg.py
Commit 2965e9bd5edb079746a668794865be37f6f4d3d8 by Jonas Devlieghere
[lldb] Hoist --framework argument out of LLDB_TEST_COMMON_ARGS (NFC)

Give the framework argument its own variable (LLDB_FRAMEWORK_DIR) so
that we can configure it in lit.site.cfg.py if we so desire.
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/test/API/lit.cfg.py
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedlldb/utils/lldb-dotest/lldb-dotest.in
Commit 6760f7ee6f00158c496b8e50d9ddac1f1c631ad7 by mvanotti
[compiler-rt][tsan] Remove unnecesary typedefs

These typedefs are not used anywhere else in this compilation unit.

Differential Revision: https://reviews.llvm.org/D86826
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface.cpp