SuccessChanges

Summary

  1. [DemandedBits] Add addition test case from D72423 (details)
  2. [DFSan] Fix parameters to strtoull wrapper. (details)
  3. [ARM][test] Add more tests of two-part immediates (details)
  4. Revert "[NFC][StackSafety] Move out sort from the loop" (details)
  5. [Statepoints] FixupStatepoint: properly set isKill on spilled register. (details)
  6. [lldb] Use file to synchronize TestDeepBundle and TestBundleWithDotInFilename (details)
  7. [NFC] Silence variables unused in release builds (details)
  8. [lldb] Remove Python 2 fallback and only support Python 3 (details)
  9. [ORC] Build LLJITWithChildProcess example only on UNIX host systems (details)
  10. Remove dependency from lib/CAPI/IR/IR.cpp on registerAllDialects() (build fix) (details)
  11. [TSan][libdispatch] Add interceptors for dispatch_async_and_wait() (details)
  12. Minor build fix (pointer must be dereferenced with `->`) (details)
Commit 25ce6341729dab20601787a317ea7c5166c31f15 by llvm-dev
[DemandedBits] Add addition test case from D72423
The file was addedllvm/test/Analysis/DemandedBits/add.ll
Commit c1f9c1c13cff0468964c3f4059b6857aaf818841 by mascasa
[DFSan] Fix parameters to strtoull wrapper.

base and nptr_label were swapped, which meant we were passing nptr's
shadow as the base to the operation.  Usually, the shadow is 0, which
causes strtoull to guess the correct base from the string prefix (e.g.,
0x means base-16 and 0 means base-8), hiding this bug.  Adjust the test
case to expose the bug.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D85935
The file was modifiedcompiler-rt/test/dfsan/custom.cpp
The file was modifiedcompiler-rt/lib/dfsan/dfsan_custom.cpp
Commit 05047f0b36e23373f4840f43d3a3d8fa36d2594c by powerman1st
[ARM][test] Add more tests of two-part immediates

The ARM backend breaks some specific immediates to two parts
in binary operations. And this patch adds more tests
for that.

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D84100
The file was addedllvm/test/CodeGen/ARM/two-part-imm.ll
The file was removedllvm/test/CodeGen/ARM/add-sub-imm.ll
Commit 891b2be85d5f8b271c7440b51f7d463fb3e75007 by mascasa
Revert "[NFC][StackSafety] Move out sort from the loop"

This reverts commit 0426e28419799c35cf52fe3d773c5bab9928c699 due to ASan
buildbot failure.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
Commit 1c80a6ce5f2217c01fb40bd43bc5bf094c32278a by dantrushin
[Statepoints] FixupStatepoint: properly set isKill on spilled register.

When spilling statepoint meta arg register it is incorrect to blindly
mark it as killed - it may be used in non-meta args (e.g., as call
parameter).
The file was modifiedllvm/test/CodeGen/X86/statepoint-fixup-copy-prop-neg.mir
The file was modifiedllvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Commit 37ec83fcfc6c7915c51268f578b8e0dadb54c1cf by Jonas Devlieghere
[lldb] Use file to synchronize TestDeepBundle and TestBundleWithDotInFilename

Currently these two tests use an arbitrary wait of 5 seconds for the
inferior to finish setting up. When the test machine is under heavy load
this sometimes is insufficient leading to spurious test failures. This
patch adds synchronization trough a token on the file system. In
addition to making the test more reliable it also makes it much faster
because we no longer have to wait the full 5 seconds if the setup was
completed faster than that.

Differential revision: https://reviews.llvm.org/D85915
The file was modifiedlldb/test/API/macosx/find-dsym/deep-bundle/TestDeepBundle.py
The file was modifiedlldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/TestBundleWithDotInFilename.py
The file was modifiedlldb/test/API/macosx/find-dsym/deep-bundle/main.c
The file was modifiedlldb/test/API/macosx/find-dsym/bundle-with-dot-in-filename/main.c
Commit fd9187f7469796ad467f9ff519554390491eea99 by rupprecht
[NFC] Silence variables unused in release builds
The file was modifiedllvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Commit ce439cb1c962360267fb7a94d44ad57053787607 by Jonas Devlieghere
[lldb] Remove Python 2 fallback and only support Python 3

This removes the fallback to Python 2 and makes Python 3 the only
supported configuration. This is the first step to fully migrate to
Python 3 over the coming releases as discussed on the mailing list.

http://lists.llvm.org/pipermail/lldb-dev/2020-August/016388.html

As a reminder, for the current release the test suite and the generated
bindings should remain compatible with Python 2.

Differential revision: https://reviews.llvm.org/D85942
The file was modifiedlldb/cmake/modules/FindPythonInterpAndLibs.cmake
Commit 63aed9cbe5b051f5443f7a935905c791e534e77b by Stefan Gränitz
[ORC] Build LLJITWithChildProcess example only on UNIX host systems

Differential Revision: https://reviews.llvm.org/D85919
The file was modifiedllvm/examples/OrcV2Examples/CMakeLists.txt
Commit 059cb8b3c9f004b0720e2b1168f2f9c9273ff0f7 by joker.eph
Remove dependency from lib/CAPI/IR/IR.cpp on registerAllDialects() (build fix)

This library does not depend on all the dialects, conceptually. This is
changing the recently introduced `mlirContextLoadAllDialects()` function
to not call `registerAllDialects()` itself, which aligns it better with
the C++ code anyway (and this is deprecated and will be removed soon).
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
Commit d137db80297f286f3a19eacc63d4a980646da437 by julian.lettner
[TSan][libdispatch] Add interceptors for dispatch_async_and_wait()

Add interceptors for `dispatch_async_and_wait[_f]()` which was added in
macOS 10.14.  This pair of functions is similar to `dispatch_sync()`,
but does not force a context switch of the queue onto the caller thread
when the queue is active (and hence is more efficient).  For TSan, we
can apply the same semantics as for `dispatch_sync()`.

From the header docs:
> Differences with dispatch_sync()
>
> When the runtime has brought up a thread to invoke the asynchronous
> workitems already submitted to the specified queue, that servicing
> thread will also be used to execute synchronous work submitted to the
> queue with dispatch_async_and_wait().
>
> However, if the runtime has not brought up a thread to service the
> specified queue (because it has no workitems enqueued, or only
> synchronous workitems), then dispatch_async_and_wait() will invoke the
> workitem on the calling thread, similar to the behaviour of functions
> in the dispatch_sync family.

Additional context:
> The guidance is to use `dispatch_async_and_wait()` instead of
> `dispatch_sync()` when it is necessary to mix async and sync calls on
> the same queue. `dispatch_async_and_wait()` does not guarantee
> execution on the caller thread which allows to reduce context switches
> when the target queue is active.
> https://gist.github.com/tclementdev/6af616354912b0347cdf6db159c37057

rdar://35757961

Reviewed By: kubamracek

Differential Revision: https://reviews.llvm.org/D85854
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp
The file was addedcompiler-rt/test/tsan/libdispatch/async_and_wait.c
Commit 8f3f101b9520ddbc9cced63cbd83b34da9fdbfa8 by joker.eph
Minor build fix (pointer must be dereferenced with `->`)
The file was modifiedmlir/lib/CAPI/IR/IR.cpp