SuccessChanges

Summary

  1. [ConstraintElimination] Add add/sub/and/or test cases. (details)
  2. Fix Windows/MSVC build after 6e56046f65 (details)
  3. Raise the timeout in DirectoryWatcherTest to 10 s (details)
  4. [AArch64] add cost model test for scalable vector math; NFC (details)
  5. [lldb] Fill Watch/AppleTV simulator gaps in PlatformDarwin (details)
  6. [lldb] Don't let dotest silently fall back to default SDK if the specified one can't be found (details)
  7. [lldb] Don't add no-sandbox entitlement when running tests on simulator (details)
  8. [clang] Improve handling of physical registers in inline assembly operands. (details)
  9. [libc++] Update the <version> header in-place from generate_feature_test_macro_components (details)
  10. [clangd] Propagate CollectMainFileRefs to BackgroundIndex (details)
  11. Revert "Raise the timeout in DirectoryWatcherTest to 10 s" (details)
  12. [Analysis] findAffectedValues - remove unused ConstantInt argument. NFCI. (details)
  13. [InstCombine] visitTrunc - pass through undefs for trunc(shift(trunc/ext(x),c)) patterns (details)
  14. [ThinLTO][Documentation] Mention possible values for concurrency flags (details)
  15. [TableGen] Add new section to the TableGen Programmer's Reference. (details)
  16. [lldb][NFC] Fix some invalid escapes sequences in Python strings (details)
  17. Fix all the CMake code that can only handle -stdlib= but not --stdlib= (details)
  18. [mlir-vulkan-runner] Clean up some stale CMake configurations (details)
Commit 2322080bc3889145b7fb3c8798016467fe5e3b10 by flo
[ConstraintElimination] Add add/sub/and/or test cases.

This adds a new set of tests for upcoming constraint elimination
changes.
The file was addedllvm/test/Transforms/ConstraintElimination/or.ll
The file was addedllvm/test/Transforms/ConstraintElimination/add-nuw.ll
The file was addedllvm/test/Transforms/ConstraintElimination/add.ll
The file was addedllvm/test/Transforms/ConstraintElimination/sub-nuw.ll
The file was addedllvm/test/Transforms/ConstraintElimination/and.ll
The file was addedllvm/test/Transforms/ConstraintElimination/sub.ll
Commit 836d0addee4a2ce07d09d68484823221cbb062b7 by eleviant
Fix Windows/MSVC build after 6e56046f65

Commit 6e56046f65 may trigger SEGV in llvm-tablegen if the latter
is built with -DLLVM_OPTIMIZED_TABLEGEN=OFF. The reason of SEGV was
accessing stale memory after expansion of std::vector.
The file was modifiedllvm/utils/TableGen/CodeGenSchedule.cpp
Commit bddef54c502811fa1406d1161d4baa15b56ebc32 by hans
Raise the timeout in DirectoryWatcherTest to 10 s

After D88666, which implemented DirectoryWatcher on Windows, we're
seeing test failures on Chromium's Windows bots.

Try raising the timeout in case the test is failing due to high load on
the machine.
The file was modifiedclang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
Commit 937d782e38d44d078342cb6358c41db7a5795d00 by spatel
[AArch64] add cost model test for scalable vector math; NFC

Testing for the various cost model "TargetCostKind" is limited,
and testing for scalable vectors is limited. The motivating
example of an intrinsic is not included here yet because that
just crashes.
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-math.ll
Commit f4f4d54ae0d8971e67fd64e10d700804105b720c by Raphael Isemann
[lldb] Fill Watch/AppleTV simulator gaps in PlatformDarwin

When running the test suite against the Watch/AppleTV simulator we currently hitting
the unimplemented parts of PlatformDarwin for the respective simulator platforms.

This just adds the respective switch cases.

This whole code path depends on having a valid Target, so can't just unittest this code
without refactoring it. So instead this is tested by just running the testsuite against
the respective simulators (which is how I found this).

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D89106
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Commit 480c440f9a3cf3434355f24217cfa430dc1cabda by Raphael Isemann
[lldb] Don't let dotest silently fall back to default SDK if the specified one can't be found

If the SDK name passed to dotest can't be found by `xcrun` we silently fall back
to the default SDK. This leads to rather cryptic errors being reported later on
when linking the actual test executables.

Instead just directly log and abort when this situation is encountered and
inform the user about the invalid argument.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89053
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit dfc72439529c49e8bfeab9d604b1aa1cac7d89e8 by Raphael Isemann
[lldb] Don't add no-sandbox entitlement when running tests on simulator

It seems that if codesigning the test executables with the
`com.apple.private.security.no-sandbox` entitlement then the simulator refuses
to launch them and every test fails with `Process launch failed: process exited
with status -1 (no such process.)`.

This patch checks if we're trying to run the test suite on the simulator and
then avoids signing the executable with `no-sandbox`.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D89052
The file was modifiedlldb/packages/Python/lldbsuite/test/builders/darwin.py
The file was addedlldb/packages/Python/lldbsuite/test/make/entitlements-simulator.plist
Commit c78da037783bda0f27f4d82060149166e6f0c796 by paulsson
[clang] Improve handling of physical registers in inline assembly operands.

Change EmitAsmStmt() to

- Not tie physregs with the "+r" constraint, but instead add the hard
  register as an input constraint. This makes "+r" and "=r":"r" look the same
  in the output.

  Background: Macro intensive user code may contain inline assembly
  statements with multiple operands constrained to the same physreg. Such a
  case (with the operand constraints "+r" : "r") currently triggers the
  TwoAddressInstructionPass assertion against any extra use of a tied
  register. Furthermore, TwoAddress will insert a COPY to that physreg even
  though isel has already done so (for the non-tied use), which may lead to a
  second redundant instruction currently. A simple fix for this is to not
  emit tied physreg uses in the first place for the "+r" constraint, which is
  what this patch does.

- Give an error on multiple outputs to the same physical register.

  This should be reported and this is also what GCC does.

Review: Ulrich Weigand, Aaron Ballman, Jennifer Yu, Craig Topper

Differential Revision: https://reviews.llvm.org/D87279
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was addedclang/test/CodeGen/systemz-inline-asm-02.c
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
Commit 647fb6b37488080efd8dd5e5a40d21e926b6e726 by Louis Dionne
[libc++] Update the <version> header in-place from generate_feature_test_macro_components

This simplifies the workflow for adding new feature-test macros for
contributors. Previously, they would have to move the generated <version>
header from a temporary directory to libc++'s include directory by hand.
This makes the behavior for the <version> header consistent with what's
done for the tests and the documentation.
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/docs/DesignDocs/FeatureTestMacros.rst
Commit cb3c13fab6beac4666865b68bea59aae593aaf83 by zeratul976
[clangd] Propagate CollectMainFileRefs to BackgroundIndex

This appears to have been an omission in D83536.

Differential Revision: https://reviews.llvm.org/D89284
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
Commit f84c77f424e15316f7f46f484880162a7cbcd80b by hans
Revert "Raise the timeout in DirectoryWatcherTest to 10 s"

It didn't help.

This reverts commit bddef54c502811fa1406d1161d4baa15b56ebc32.
The file was modifiedclang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
Commit 2e604d23b42e2b59b8884c7b4c2f27b62cba5fe3 by llvm-dev
[Analysis] findAffectedValues - remove unused ConstantInt argument. NFCI.

We can use m_ConstantInt without a result value as we don't ever use it.
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
Commit 9c3138bd6d8b3e303f0f711753506b330ffa8df0 by llvm-dev
[InstCombine] visitTrunc - pass through undefs for trunc(shift(trunc/ext(x),c)) patterns

Based on the recent patches D88475 and D88429 where we are losing undef values due to extension/comparisons.

I've added a Constant::mergeUndefsWith method that merges the undef scalar/elements from another Constant into a specific Constant.

Differential Revision: https://reviews.llvm.org/D88687
The file was modifiedllvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
The file was modifiedllvm/include/llvm/IR/Constant.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit 1dbf05f5b44db17dcd8520b032e83061189ff4f8 by alexandre.ganea
[ThinLTO][Documentation] Mention possible values for concurrency flags

Differential Revision: https://reviews.llvm.org/D89309
The file was modifiedclang/docs/ThinLTO.rst
Commit 04b2191d69717d671cc4b5d007aac399a9e60bf6 by paul
[TableGen] Add new section to the TableGen Programmer's Reference.
Fix typos in it and the TableGen Backend Developer's Guide.
The file was modifiedllvm/docs/TableGen/BackGuide.rst
The file was modifiedllvm/docs/TableGen/ProgRef.rst
Commit 777df5c93da893819e9586949531ba9aaec97e1f by Raphael Isemann
[lldb][NFC] Fix some invalid escapes sequences in Python strings

I recently had to run the test suite with a debug Python which got started
warning about some invalid escape sequences in LLDB's Python code. They all
attempt to add a backslash by doing a single backslash instead of a double
backslash in a normal string. This seems to work fine for now, but Python says
this behaviour is deprecated, so this patch turns all those strings into raw
strings (where a single backslash is actually a single backslash)

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D88289
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 6b7a49bb43d58c2c08fddb9f6c538ee52806de0a by Raphael Isemann
Fix all the CMake code that can only handle -stdlib= but not --stdlib=

There are several places in LLVM's CMake setup that try to remove the
`stdlib=...` flag from the CMake flags. All this code however only considered
the `-stdlib=` variant of the flag but not the alternative spelling with a
double dash. This causes that when one adds `--stdlib=...` to the user-provided
CMake flags that this gets transformed into just `-` which ends up causing the
build system to think it should read the source from stdin (which then lead to
very confusing build errors).

This just adds the alternative spelling before the`-stdlib=` variant in all
these places

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D87133
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
Commit 08e4e08d7192c5523751e75030689ebb4a279445 by antiagainst
[mlir-vulkan-runner] Clean up some stale CMake configurations
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt