SuccessChanges

Summary

  1. [InstCombine] Fold abs of known negative operand (details)
  2. [InstCombine] Test comparison of abs with int min (NFC) (details)
  3. [InstCombine] Fold comparison of abs with int min (details)
  4. Update clang/test/Driver/darwin-infer-simulator-sdkroot.c (details)
  5. [llvm-install-name-tool] Add a test with multiple input files (details)
  6. [LLD][ELF] Fix performance of MarkLive::scanEhFrameSection (details)
  7. [UnifyFunctionExitNodes] Remove unused getters, NFC (details)
  8. Retry of D84974 (details)
Commit e97f3b1b4327f9db0ca12cdd7157c304ad206802 by nikita.ppv
[InstCombine] Fold abs of known negative operand

If we know that the abs operand is known negative, we can replace
it with a neg.

To avoid computing known bits twice, I've removed the fold for the
non-negative case from InstSimplify. Both the non-negative and the
negative case are handled by InstCombine now, with one known bits call.

Differential Revision: https://reviews.llvm.org/D87196
The file was modifiedllvm/test/Transforms/InstSimplify/abs_intrinsic.ll (diff)
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit 6eef387ddd863db1afe044e208bbff4366d5dac2 by nikita.ppv
[InstCombine] Test comparison of abs with int min (NFC)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit f6b87da0c73fcf7f8f051151ce62d2e07a466a8e by nikita.ppv
[InstCombine] Fold comparison of abs with int min

If the abs is poisoning, this is already folded to true/false.
For non-poisoning abs, we can convert this to a comparison with
the operand.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)
The file was modifiedllvm/test/Transforms/InstCombine/abs-intrinsic.ll (diff)
Commit d95ef009bd502a1c2c82952d4fa6fd1db836cef9 by Azharuddin Mohammed
Update clang/test/Driver/darwin-infer-simulator-sdkroot.c

- Fix it to work on Apple Silicon
- Add testcases for simulators running on Apple Silicon
The file was modifiedclang/test/Driver/darwin-infer-simulator-sdkroot.c (diff)
Commit ce49b7d9ca01f4abbba1e5a00339d539b0ea563e by alexshap
[llvm-install-name-tool] Add a test with multiple input files

This diff adds a test which checks the error-message when multiple input files
are passed to llvm-install-name-tool.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D87268
The file was modifiedllvm/test/tools/llvm-objcopy/tool-help-message.test (diff)
Commit 863aa0a37bd1a57b0720eda6d646f9abd51bf6c2 by andrew.ng
[LLD][ELF] Fix performance of MarkLive::scanEhFrameSection

MarkLive::scanEhFrameSection is used to retain personality/LSDA
functions when --gc-sections is enabled.

Improve its performance by only iterating over the .eh_frame relocations
that need to be resolved for an EhSectionPiece. This optimization makes
the same assumption as elsewhere in LLD that the .eh_frame relocations
are sorted by r_offset.

This appears to be a performance regression introduced in commit
e6c24299d237 (https://reviews.llvm.org/D59800).

This change has been seen to reduce link time by up to ~50%.

Differential Revision: https://reviews.llvm.org/D87245
The file was modifiedlld/ELF/MarkLive.cpp (diff)
Commit 17dce2fe43c9d3335d64936ece576b0e36d8fe31 by david.stenberg
[UnifyFunctionExitNodes] Remove unused getters, NFC

The get{Return,Unwind,Unreachable}Block functions in
UnifyFunctionExitNodes have not been used for many years,
so just remove them.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D87078
The file was modifiedllvm/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h (diff)
The file was modifiedllvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp (diff)
Commit 5b2b4f331d78f326e5e29166bec5ad92c864343d by walter erquinigo
Retry of D84974

The test is being disabled on Linux, as lldb-vscode has a bug with
--wait-for on LInux.
I'm also fixing some compilation warnings.
The file was modifiedlldb/tools/lldb-vscode/package.json (diff)
The file was addedlldb/test/API/tools/lldb-vscode/runInTerminal/TestVSCode_runInTerminal.py
The file was addedlldb/test/API/tools/lldb-vscode/runInTerminal/Makefile
The file was addedlldb/test/API/tools/lldb-vscode/runInTerminal/main.c
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py (diff)
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp (diff)
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h (diff)
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py (diff)
The file was modifiedlldb/tools/lldb-vscode/VSCode.h (diff)