FailedChanges

Summary

  1. [SDAG] Do not convert undef to 0 when folding CONCAT/BUILD_VECTOR (details)
  2. [Sema] Address-space sensitive check for unbounded arrays (v2) (details)
  3. [InstCombine] Add exact shift tests missed in D88475 (details)
  4. [mlir] Expose Dialect class and registration/loading to C API (details)
  5. [InstCombine] Inherit exact flags on extended shifts in trunc (lshr (sext A), C) --> (ashr A, C) (details)
  6. [clangd] Improve PopulateSwitch tweak to work on non-empty switches (details)
  7. [mlir][openacc] Add wait operation (details)
  8. [InstCombine] Add some basic trunc(lshr(zext(x),c)) tests (details)
  9. [mlir][openacc] Add init operation (details)
  10. [InstCombine] use redirect of input file in regression tests; NFC (details)
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 modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-cmp-sub128.ll
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-undef-not-zero.ll
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/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/const-eval.c
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
The file was addedclang/test/Sema/unbounded-array-bounds.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 modifiedmlir/include/mlir-c/IR.h
The file was addedmlir/lib/CAPI/Standard/StandardDialect.cpp
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was addedmlir/include/mlir-c/StandardDialect.h
The file was modifiedmlir/lib/CAPI/CMakeLists.txt
The file was addedmlir/lib/CAPI/Standard/CMakeLists.txt
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/invalid.mlir
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
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/test/Dialect/OpenACC/invalid.mlir
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
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/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/urem-via-udiv-mul-sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/infinite-loop-postdom.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/partally-redundant-left-shift-input-masking-after-truncation-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.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/shift-amount-reassociation-in-bittest-with-truncation-lshr.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/shift-amount-reassociation-with-truncation-shl.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
The file was modifiedllvm/test/Transforms/InstCombine/signbit-shl-and-icmpeq-zero.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/do-not-clone-dbg-declare.ll
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/unsigned-add-lack-of-overflow-check-via-add.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-right-shift-input-masking.ll
The file was modifiedllvm/test/Transforms/InstCombine/srem-via-sdiv-mul-sub.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-variant-b.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-b.ll
The file was modifiedllvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-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/unsigned-mul-overflow-check-via-udiv-of-allones.ll
The file was modifiedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr38897.ll
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-exact-by-negative-power-of-two.ll
The file was modifiedllvm/test/Transforms/InstCombine/high-bit-signmask-with-trunc.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-variant-d.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/unsigned-mul-overflow-check-via-mul-udiv.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/partally-redundant-left-shift-input-masking-variant-c.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/partally-redundant-left-shift-input-masking-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-exact-by-power-of-two.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.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/conditional-variable-length-signext-after-high-bit-extract.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/unsigned-add-lack-of-overflow-check-via-xor.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/pr38915.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/shift-amount-reassociation-with-truncation-lshr.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-shl-nuw.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/shift-by-signext.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.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/partally-redundant-left-shift-input-masking-after-truncation-variant-d.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/shl-and-negC-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr41164.ll
The file was modifiedllvm/test/Transforms/InstCombine/high-bit-signmask.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr21891.ll