SuccessChanges

Summary

  1. [lld][WebAssembly] Emit all return types of multivalue functions (details)
  2. [Sanitizer] Fix segfaults during unwinding on SystemZ (details)
  3. [InstSimplify] Extract abs intrinsic tests into separate file (NFC) (details)
  4. [InstSimplify] Add additional abs intrinsic icmp tests (NFC) (details)
  5. [ValueTracking] Add abs intrinsics support to computeConstantRange() (details)
  6. Build a flat LLDB.framework for embedded Darwin targets (details)
  7. [libcxx][test] Fix a -Wstring-concatenation warning in fuzzer_test.h (details)
  8. [lldb] Fix unit test parsing to handle CR+LF as well as LF (details)
Commit 304264e73d2956e18083cdcdafecf57b1677a25a by tlively
[lld][WebAssembly] Emit all return types of multivalue functions

We previously were incorrectly emitting only the first result type.

Differential Revision: https://reviews.llvm.org/D85783
The file was modifiedlld/wasm/WriterUtils.cpp (diff)
The file was addedlld/test/wasm/multivalue-return-func-types.s
Commit eca4b4007d6bafd5fc4be24e2b275ffc22841c63 by iii
[Sanitizer] Fix segfaults during unwinding on SystemZ

Every now and then SystemZ programs built with ASan crash with

    ERROR: AddressSanitizer: stack-overflow on address 0x040000000000

for no apparent reason. The problem is that
BufferedStackTrace::UnwindFast() is specialized for SystemZ: it takes
register 14 from the frame, however, IsValidFrame() is not
specialized, and does not guarantee that frame[14] is going to be a
valid memory access.

Fix by introducing per-arch kFrameSize and using it in IsValidFrame().

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D85822
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h (diff)
Commit 7397a019b80b1068249f82cd8d0b30510b1ea877 by nikita.ppv
[InstSimplify] Extract abs intrinsic tests into separate file (NFC)

Also move some tests from InstCombine to InstSimplify,
as they are already handled by InstSimplify.
The file was addedllvm/test/Transforms/InstSimplify/abs_intrinsic.ll
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll (diff)
Commit 6446c1184001ae7ec3ab83062a61661dc41fe29a by nikita.ppv
[InstSimplify] Add additional abs intrinsic icmp tests (NFC)

While abs >= 0 already folds, some variations thereon don't.
The file was modifiedllvm/test/Transforms/InstSimplify/abs_intrinsic.ll (diff)
Commit eba5f5f79823d8fd50f9e1e7f143e3210cc01823 by nikita.ppv
[ValueTracking] Add abs intrinsics support to computeConstantRange()

Implementation is the same as for SPF_ABS.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
The file was modifiedllvm/test/Transforms/InstSimplify/abs_intrinsic.ll (diff)
Commit d49aedd315e35180b1df19476353ebe2558a318b by Vedant Kumar
Build a flat LLDB.framework for embedded Darwin targets

This patch configures LLDB.framework to build as a flat unversioned
framework on non-macOS Darwin targets, which have never supported the
macOS framework layout.

This patch also renames the 'IOS' cmake variable to 'APPLE_EMBEDDED' to
reflect the fact that lldb is built for several different kinds of embedded
Darwin targets, not just iOS.

Differential Revision: https://reviews.llvm.org/D85770
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake (diff)
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake (diff)
The file was modifiedlldb/source/Host/CMakeLists.txt (diff)
The file was modifiedlldb/unittests/debugserver/CMakeLists.txt (diff)
The file was modifiedlldb/tools/lldb-server/CMakeLists.txt (diff)
The file was modifiedlldb/tools/debugserver/source/CMakeLists.txt (diff)
Commit cc6d9f59fdbaf8b36b811562124ebabdc778ba2d by erik.pilkington
[libcxx][test] Fix a -Wstring-concatenation warning in fuzzer_test.h

This was causing failures on green dragon:
http://lab.llvm.org:8080/green/job/libc++%20and%20libc++abi%20trunk/780/
The file was modifiedlibcxx/test/libcxx/fuzzing/fuzzer_test.h (diff)
Commit 7ddfb956e1a5ee91d0d30f33ca0c84faeb471db4 by amccarth
[lldb] Fix unit test parsing to handle CR+LF as well as LF

Apparently when the strings are created, the `'\n'` is converted to the
platform's natural new line indicator, which is CR+LF on Windows.  But
upon reading back with `sscanf`, the CRs caused a matching failure.
The file was modifiedlldb/unittests/Utility/TimerTest.cpp (diff)