FailedChanges

Summary

  1. [InstCombine] visitTrunc - trunc (lshr (sext A), C) --> (ashr A, C) non-uniform support (details)
  2. [SDAG] Do not convert undef to 0 when folding CONCAT/BUILD_VECTOR (details)
  3. [Sema] Address-space sensitive check for unbounded arrays (v2) (details)
  4. [InstCombine] Add exact shift tests missed in D88475 (details)
  5. [mlir] Expose Dialect class and registration/loading to C API (details)
  6. [InstCombine] Inherit exact flags on extended shifts in trunc (lshr (sext A), C) --> (ashr A, C) (details)
  7. [clangd] Improve PopulateSwitch tweak to work on non-empty switches (details)
  8. [mlir][openacc] Add wait operation (details)
  9. [InstCombine] Add some basic trunc(lshr(zext(x),c)) tests (details)
  10. [mlir][openacc] Add init operation (details)
  11. [InstCombine] use redirect of input file in regression tests; NFC (details)
  12. [SVE] Fix typo in CHECK lines for sve-fixed-length-int-reduce.ll (details)
  13. [scudo][standalone] Fix Primary's ReleaseToOS test (details)
  14. [OpenMP][VE plugin] Fixing failure to build VE plugin with consolidated error handling in libomptarget (details)
  15. SparcSubtarget.h - cleanup include dependencies. NFCI. (details)
  16. NVPTXTargetMachine.h - remove unused includes. NFCI. (details)
  17. MSP430TargetMachine.h - remove unused includes. NFCI. (details)
  18. [clangd] Disable msan instrumentation for generated Evaluate(). (details)
  19. NFC, add a missing stdlib include for the use of abort (details)
  20. [lldb] Configure LLDB_FRAMEWORK_DIR in multi-generator builds (details)
  21. [libc++] Fix tests on GCC 10 (details)
  22. [lldb] Also configure lldb_framework_dir in the lit.site.cfg.py (details)
Commit 14ff38e235c4aec8e444d8aec26ce5d3a4c524d2 by llvm-dev
[InstCombine] visitTrunc - trunc (lshr (sext A), C) --> (ashr A, C) non-uniform support

This came from @lebedev.ri's suggestion to use m_SpecificInt_ICMP for D88429 - since I was going to change the m_APInt to m_Constant for that patch I thought I would do it for the only other user of the APInt first.

I've added a ConstantExpr::getUMin helper - its trivial to add UMAX/SMIN/SMAX but thought I'd wait until we have use cases.

Differential Revision: https://reviews.llvm.org/D88475
The file was modifiedllvm/include/llvm/IR/Constants.h
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
Commit db04bec5f1eeb581ee1470e5f444cc7b918c6d93 by kparzysz
[SDAG] Do not convert undef to 0 when folding CONCAT/BUILD_VECTOR

Differential Revision: https://reviews.llvm.org/D88273
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-undef-not-zero.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit d9ee935679e7164d1c47e351bbbcf5c25742b59c by Chris.Hamilton
[Sema] Address-space sensitive check for unbounded arrays (v2)

Check applied to unbounded (incomplete) arrays and pointers to spot
cases where the computed address is beyond the largest possible
addressable extent of the array, based on the address space in which the
array is delcared, or which the pointer refers to.

Check helps to avoid cases of nonsense pointer math and array indexing
which could lead to linker failures or runtime exceptions.  Of
particular interest when building for embedded systems with small
address spaces.

This is version 2 of this patch -- version 1 had some testing issues
due to a sign error in existing code.  That error is corrected and
lit test for this chagne is extended to verify the fix.

Originally reviewed/accepted by: aaron.ballman
Original revision: https://reviews.llvm.org/D86796

Reviewed By: ebevhan

Differential Revision: https://reviews.llvm.org/D88174
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/Sema/unbounded-array-bounds.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
The file was modifiedclang/test/Sema/const-eval.c
Commit 042f22bda5d3e2851205781f0b921cc810bb6dcb by llvm-dev
[InstCombine] Add exact shift tests missed in D88475

I missed the post-LGTM comment from @lebedev.ri
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit 64c0c9f01511dc300b29e7a20a13958c5932e314 by zinenko
[mlir] Expose Dialect class and registration/loading to C API

- Add a minimalist C API for mlir::Dialect.
- Allow one to query the context about registered and loaded dialects.
- Add API for loading dialects.
- Provide functions to register the Standard dialect.

When used naively, this will require to separately register each dialect. When
we have more than one exposed, we can add variadic macros that expand to
individual calls.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D88162
The file was addedmlir/include/mlir-c/StandardDialect.h
The file was addedmlir/lib/CAPI/Standard/StandardDialect.cpp
The file was modifiedmlir/lib/CAPI/CMakeLists.txt
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was addedmlir/lib/CAPI/Standard/CMakeLists.txt
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/test/CAPI/CMakeLists.txt
Commit 89a8a0c910422b9d363120769e2eebda03394b0f by llvm-dev
[InstCombine] Inherit exact flags on extended shifts in trunc (lshr (sext A), C) --> (ashr A, C)

This was missed in D88475
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit 4fb303f340e2c55783f9b0f3ed33fa2c36360acf by sam.mccall
[clangd] Improve PopulateSwitch tweak to work on non-empty switches

Improve the recently-added PopulateSwitch tweak to work on non-empty switches.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D88434
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/PopulateSwitch.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
Commit cc3b8e730e4e8783cc9d81a00fd235068fa522e5 by clementval
[mlir][openacc] Add wait operation

This patch introduce the wait operation that represent the OpenACC wait directive.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88125
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was modifiedmlir/test/Dialect/OpenACC/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
Commit 7a55989dc4305e66734bdd84a9f9eefeb9fe64bd by llvm-dev
[InstCombine] Add some basic trunc(lshr(zext(x),c)) tests

Copied from the sext equivalents
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll
Commit 51323fe2b89e976dc53356299d5cc3daeaaee5a7 by clementval
[mlir][openacc] Add init operation

This patch introduces the init operation that represents the init executable directive
from the OpenACC 3.0 specifications.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88254
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was modifiedmlir/test/Dialect/OpenACC/invalid.mlir
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
Commit ee34d9b210cb5a6d14fe069e2e2ae75b0548dba9 by spatel
[InstCombine] use redirect of input file in regression tests; NFC

This is a repeat of 1880092722 from 2009. We should have less risk
of hitting bugs at this point because we auto-generate positive CHECK
lines only, but this makes things consistent.

Copying the original commit msg:
"Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename."
The file was modifiedllvm/test/Transforms/InstCombine/signbit-lshr-and-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-right-shift-input-masking.ll
The file was modifiedllvm/test/Transforms/InstCombine/do-not-clone-dbg-declare.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-f.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr41164.ll
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-of-non-negative-by-negative-power-of-two.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/signbit-shl-and-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/cmp-x-vs-neg-x.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-shl.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/infinite-loop-postdom.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr38915.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-shl-nuw.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-mul-udiv.ll
The file was modifiedllvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr38897.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/high-bit-signmask.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/urem-via-udiv-mul-sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-exact-by-power-of-two.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/strict-sub-underflow-check-to-comparison-of-sub-operands.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
The file was modifiedllvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/conditional-variable-length-signext-after-high-bit-extract.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/high-bit-signmask-with-trunc.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-add.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-exact-by-negative-power-of-two.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-by-signext.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-xor.ll
The file was modifiedllvm/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/srem-via-sdiv-mul-sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr21891.ll
Commit 01c95f79424d1083a6c06ed28c98c0a647b85711 by mcinally
[SVE] Fix typo in CHECK lines for sve-fixed-length-int-reduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
Commit e456df77c2a5a2bf905f6848a09faf69b49c5752 by kostyak
[scudo][standalone] Fix Primary's ReleaseToOS test

Said test was flaking on Fuchsia for non-obvious reasons, and only
for ASan variants (the release was returning 0).

It turned out that the templating was off, `true` being promoted to
a `s32` and used as the minimum interval argument. This meant that in
some circumstances, the normal release would occur, and the forced
release would have nothing to release, hence the 0 byte released.

The symbols are giving it away (note the 1):
```
scudo::SizeClassAllocator64<scudo::FixedSizeClassMap<scudo::DefaultSizeClassConfig>,24ul,1,2147483647,false>::releaseToOS(void)
```

This also probably means that there was no MTE version of that test!

Differential Revision: https://reviews.llvm.org/D88457
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp
Commit c816ee13ad9e14ec1b69e07b1d3851d8b548ff8c by simon.moll
[OpenMP][VE plugin] Fixing failure to build VE plugin with consolidated error handling in libomptarget

The libomptarget VE plugin [[
http://lab.llvm.org:8014/builders/clang-ve-ninja/builds/8937/steps/build-unified-tree/logs/stdio
| fails zu build ]] after ae95ceeb8f98d81f615c69da02f73b5ee6b1519a .

Differential Revision: https://reviews.llvm.org/D88476
The file was modifiedopenmp/libomptarget/plugins/ve/src/rtl.cpp
Commit 30c0bea5714400d52ab50693e4a7e738ab789400 by llvm-dev
SparcSubtarget.h - cleanup include dependencies. NFCI.

TargetFrameLowering.h is guaranteed to be covered by SparcFrameLowering.h

Fix missing implicit Triple.h dependency.
The file was modifiedllvm/lib/Target/Sparc/SparcSubtarget.h
Commit 8f34216ece714f30f08092d108b85c0e7e77384a by llvm-dev
NVPTXTargetMachine.h - remove unused includes. NFCI.
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetMachine.h
Commit a06581ef39284f8ec66778807adf0e2d244a33d1 by llvm-dev
MSP430TargetMachine.h - remove unused includes. NFCI.
The file was modifiedllvm/lib/Target/MSP430/MSP430TargetMachine.h
Commit a9f63d22fafb0d7de768efc6b7447f8e7f6bb220 by usx
[clangd] Disable msan instrumentation for generated Evaluate().

MSAN build times out for generated DecisionForest inference runtime.

A solution worth trying is splitting the function into 300 smaller
functions and then re-enable msan.

For now we are disabling instrumentation for the generated function.

Differential Revision: https://reviews.llvm.org/D88495
The file was modifiedclang-tools-extra/clangd/quality/CompletionModelCodegen.py
Commit 119274748bce6d1248aa57cb55d79bfeae8a2f8e by Alex Lorenz
NFC, add a missing stdlib include for the use of abort

The FatalErrorHandler.cpp file uses 'abort', but doesn't include
'stdlib.h'. This causes a build error when modules are used in clang.
The file was modifiedclang/tools/libclang/FatalErrorHandler.cpp
Commit d0ed45dc920004bb7b6642d6086b4722443eeba2 by Jonas Devlieghere
[lldb] Configure LLDB_FRAMEWORK_DIR in multi-generator builds
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/utils/lldb-dotest/lldb-dotest.in
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
Commit 3e5f9dacb092a1414f72500111c2b049673e0055 by Louis Dionne
[libc++] Fix tests on GCC 10

Also, remove workarounds for ancient Clangs from is_constructible tests.
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
The file was modifiedlibcxx/test/std/namespace/addressable_functions.sh.cpp
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
Commit ccbb9827db4c30c93b92a204aeb2b98f9f3a723a by Jonas Devlieghere
[lldb] Also configure lldb_framework_dir in the lit.site.cfg.py

Configuring the variable in CMake isn't enought, because the build mode
can't be resolved until execution time, which requires the build mode to
be substituted by lit.
The file was modifiedlldb/test/API/lit.site.cfg.py.in