SuccessChanges

Summary

  1. [SCEV] Add a few test cases where the max BTC is limited by wrapping. (details)
  2. [MemLoc] Support memchr/memccpy in MemoryLocation::getForArgument (details)
  3. [InstCombine] foldAndOrOfICmpsOfAndWithPow2 - add vector support (details)
  4. [SVE][CodeGen]Use getFixedSize() function for TypeSize comparison in clang (details)
  5. [InstCombine] narrowRotate - minor refactoring for funnel shift support. NFC. (details)
  6. [ValueTracking] Clarify TypeSize comparisons (details)
  7. Recommit "[SCEV] Use nw flag and symbolic iteration count to sharpen ranges of AddRecs" (details)
  8. [Indvars][NFC] Remove duplicating checks (details)
  9. [AMDGPU] Add a message to an assert (details)
  10. [Indvars][NFCI] Remove meaningless restrictive code in IndVars (details)
  11. [InstCombine] Add trunc+zext 'narrow' funnel shift tests (PR35155) (details)
  12. [InstCombine] Fix typo in narrow funnel shift test (details)
  13. [lldb] Fix FreeBSD build for ea3a547 (details)
  14. [InstCombine] foldSelectRotate - canonicalize to OR(SHL,LSHR). NFCI. (details)
  15. [Indvars][NFC] Merge two functions together (details)
  16. [libc++] NFC: Move iterator.range tests into the right place (details)
  17. [libc++] NFCI: Use Lit features to disable tests instead of #if (details)
  18. [globalopt] Teach to look through `addrspacecast`. (details)
  19. Revert "[llvm-cov] don't include all source files when provided source files are filtered out" (details)
  20. [libcxx] Fix printf formats in two tests. (details)
  21. [libcxxabi] Fix printf formats in a test. (details)
  22. [clang-tidy] modernize-loop-convert reverse iteration support (details)
  23. [lldb] Modernize PseudoTerminal::OpenSecondary (details)
  24. [lldb] Minidump: check for .text hash match with directory (details)
  25. AMDGPU: Don't kill super-register with overlapping copy (details)
  26. llvm-reduce: Fix typo in status message (details)
  27. llvm-reduce: Don't replace intrinsic calls with undef (details)
  28. [flang] Failed call to CHECK() for call to ASSOCIATED(NULL()) (details)
  29. clang-format: Assert in-memory file created in createInMemoryFile, NFC (details)
  30. [libcxx] [test] Use string() instead of native() as parameter to std::ifstream/ofstream in copy_file_large.pass.cpp (details)
  31. [libcxx] [test] Use fs::path::string_type instead of std::string in fs.op.relative (details)
  32. [libcxx] [test] Mark tests for libcxx specific implementation details with LIBCPP_ONLY() (details)
  33. [libcxx] [test] Add (void) return casts on functions marked nodiscard in MS STL (details)
  34. [InstCombine] Remove custom and(trunc(and(x,c1)),c2) fold (details)
  35. [InstCombine] visitAnd - add some ((val OP C1) & C2) vector test coverage (details)
  36. [InstCombine] visitAnd - pull out repeated I.getType() calls. NFCI. (details)
  37. Disable DynamicLibraryTests when using LLVM_INTEGRATED_CRT_ALLOC (PR47881) (details)
  38. [Hexagon] Fix license headers in some .td files, NFC (details)
  39. Reapply "OpaquePtr: Add type to sret attribute" (details)
Commit e034c3f7043a0f5a0b0af834a4b84d06e6b8948e by flo
[SCEV] Add a few test cases where the max BTC is limited by wrapping.
The file was addedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-limit-by-wrapping.ll
Commit 28691cdd714fb9b4a4d69dfc4f83a886582bf774 by Dávid Bolvanský
[MemLoc] Support memchr/memccpy in MemoryLocation::getForArgument

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D89321
The file was modifiedllvm/test/Analysis/BasicAA/libfuncs.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll
The file was modifiedllvm/lib/Analysis/MemoryLocation.cpp
Commit 55991b44b7f96a0aaa33ac53fc229302ca8d5d02 by llvm-dev
[InstCombine] foldAndOrOfICmpsOfAndWithPow2 - add vector support

Support vector cases for folding:

(iszero(A & K1) | iszero(A & K2)) -> (A & (K1 | K2)) != (K1 | K2)
(!iszero(A & K1) & !iszero(A & K2)) -> (A & (K1 | K2)) == (K1 | K2)
The file was modifiedllvm/test/Transforms/InstCombine/onehot_merge.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit e8d9ee9c7cfe46d9b552111a27d866fce0498b0a by caroline.concatto
[SVE][CodeGen]Use getFixedSize() function for TypeSize comparison in clang

This patch makes sure that the instance of TypeSize comparison operator
is done with a fixed type size.

Differential Revision: https://reviews.llvm.org/D89312
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit 1cf347e48b588ea277cc550b3ac57ecfa540618c by llvm-dev
[InstCombine] narrowRotate - minor refactoring for funnel shift support. NFC.

Prep work for PR35155 - renamed narrowRotate to narrowFunnelShift, rewrote some comments and adjusted code to collect separate shift values, although we bail if they don't match (still only rotations are only actually folded).

I'm trying to match matchFunnelShift as much as possible in case we finally get to merge these one day.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
Commit fbd62fe60fb2281ca33da35dc25ca3c87ec0bb51 by cullen.rhodes
[ValueTracking] Clarify TypeSize comparisons

TypeSize comparisons using overloaded operators should be replaced by
the new isKnownXY comparators when the operands can be fixed-length or
scalable vectors.

In ValueTracking there are several uses of the overloaded operators in
`isKnownNonZero` and `ComputeMultiple`. In the former we already bail
out on scalable vectors since we currently have no way to represent
DemandedElts, and the latter is operating on scalar integers, so we can
assume fixed-size in both instances.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D89387
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 32b72c3165bf65cca2e8e6197b59eb4c4b60392a by mkazantsev
Recommit "[SCEV] Use nw flag and symbolic iteration count to sharpen ranges of AddRecs"

It was reverted because of negative compile time impact. In this version,
less powerful proof methods are used (non-recursive reasoning only), and
scope limited to constant End values to avoid explision of complex proofs.

Differential Revision: https://reviews.llvm.org/D89381
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/test/Transforms/IndVarSimplify/promote-iv-to-eliminate-casts.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/X86/eliminate-trunc.ll
Commit 0ee0c7dcc3282b541befaaeaf8179abe1483370c by mkazantsev
[Indvars][NFC] Remove duplicating checks

Some facts have already been checked in widenWithVariantUse and then
checked again in widenWithVariantUseCodegen. The latter is redundant,
we can replace it with asserts.
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit dd3f7a494af90c6136268fe17be857af591e2e53 by sebastian.neubauer
[AMDGPU] Add a message to an assert
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
Commit bb39372e5e66e8d36735fa205d48e06c06a8fa00 by mkazantsev
[Indvars][NFCI] Remove meaningless restrictive code in IndVars

Variable ExtendOperExpr only exists to check whether it is a SCEV ext.
We create it as SCEV ext right here, so semantically this check is
trivially true. In theory, it may fail if SCEV is smart enough and can
simplify the expression. However, no matter whether it is an ext or not,
we never use this fact for further reasoning. So this code is currently
useless and in theory may become harmful with SCEV's development.

We do not expect any behavior changes with removing it. If it caused
negative changes, the patch should be reverted.
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 76996470ef3e16b20498bc1ee083ef5a50e5ff8f by llvm-dev
[InstCombine] Add trunc+zext 'narrow' funnel shift tests (PR35155)

Based on the rotation equivalents in rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit ef0ab3cdfe205c65879e8e3288f3c63d1a809f63 by llvm-dev
[InstCombine] Fix typo in narrow funnel shift test
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit e338ca7bced14277b703325537b89d9d9674a2c6 by pavel
[lldb] Fix FreeBSD build for ea3a547
The file was modifiedlldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h
Commit 981fdf01d527e890e158c32bdc3c1a1bef731abf by llvm-dev
[InstCombine] foldSelectRotate - canonicalize to OR(SHL,LSHR). NFCI.

Match the canonicalization code that was added to matchFunnelShift at rG02295e6d1a15
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit 0857029011a91c664ba36574ab1e00faea6db532 by mkazantsev
[Indvars][NFC] Merge two functions together

Logic of widenWithVariantUse is split into check and transform
part, unlike any other transform in IndVars. We want to pass some
extra flags from analysis to transform part and standartize
the code at once, so merging them together.
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit c474d829d0b80ce211f4145711e3db54c86d78e4 by Louis Dionne
[libc++] NFC: Move iterator.range tests into the right place

They seem to have been placed under stream.iterators by mistake.
This is relevant for some upcoming UNSUPPORTED markup.
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/end_array.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/begin_const.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/begin_const.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/begin_non_const.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/end_non_const.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/begin_array.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/end_const.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/end_array.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/begin_array.pass.cpp
The file was addedlibcxx/test/std/iterators/iterator.range/end_const.pass.cpp
Commit 13410fa79ff0176fd111b8e3e1ea64c54bc7fea1 by Louis Dionne
[libc++] NFCI: Use Lit features to disable tests instead of #if
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
The file was modifiedlibcxx/test/std/utilities/intseq/intseq.intseq/integer_seq.compile.fail.cpp
The file was modifiedlibcxx/test/std/strings/string.view/string.view.nonmem/quoted.pass.cpp
Commit 98f254960f0c7bfa96caffca05e14b3431b916d1 by michael.hliao
[globalopt] Teach to look through `addrspacecast`.

- so that global variables in numbered address spaces could be properly
  analyzed.

Differential Revision: https://reviews.llvm.org/D89140
The file was modifiedllvm/test/Transforms/GlobalOpt/unnamed-addr.ll
The file was modifiedllvm/lib/Transforms/Utils/GlobalStatus.cpp
Commit 0a7f41739fd994a502484cea06910719e8ff1fc0 by jeremy.morse
Revert "[llvm-cov] don't include all source files when provided source files are filtered out"

This reverts commit c2bd20ef652 and the follow up fix 16605bba6fb.

The tools/llvm-cov/warnings.h continues to fail on Windows platforms even
after the follow up, for example on the llvm-clang-win-x-armv7l builder:

    http://lab.llvm.org:8011/#/builders/60/builds/94
The file was modifiedllvm/test/tools/llvm-cov/sources-specified.test
The file was modifiedllvm/test/tools/llvm-cov/warnings.h
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
The file was modifiedllvm/test/tools/llvm-cov/universal_bin_wrapping_archives.test
The file was modifiedllvm/test/tools/llvm-cov/native_separators.c
Commit 4d60467f99a0b00df230c363170a29e36c8ad798 by simon.tatham
[libcxx] Fix printf formats in two tests.

rGcc69d211d0d65d7b introduced several uses of `printf` with format
directives `%lu` and `%ld` to format values of type `size_t` and
`ptrdiff_t` respectively.

That doesn't reliably work in all C implementations, because those
types aren't necessarily the same thing as 'long int': sometimes
they're not even the same size, and when they are the same size, they
might be officially defined as int rather than long (for example),
which causes clang to emit a diagnostic for the mismatch.

C has special-purpose printf modifier letters for these two types, so
it's safer to use them. Changed all `%lu` on `size_t` to `%zu`, and
all `%ld` on `ptrdiff_t` to `%td`.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D89545
The file was modifiedlibcxx/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
Commit bcb7b87706202cfd846500a457d93f047bfe8134 by simon.tatham
[libcxxabi] Fix printf formats in a test.

This is the libcxxabi counterpart of D89545, and would have been part
of that patch if I'd spotted it soon enough (oops). One test in
libcxxabi is using the `%lu` printf format to refer to `size_t`, which
should be `%zu`.

Reviewed By: ldionne, #libc_abi

Differential Revision: https://reviews.llvm.org/D89547
The file was modifiedlibcxxabi/test/test_fallback_malloc.pass.cpp
Commit 8a548bc203cfb0b2f830959cb7ec578c25512025 by n.james93
[clang-tidy] modernize-loop-convert reverse iteration support

Enables support for transforming loops of the form
```
for (auto I = Cont.rbegin(), E = Cont.rend(); I != E;++I)
```

This is done automatically in C++20 mode using `std::ranges::reverse_view` but there are options to specify a different function to reverse iterator over a container.
This is the first step, down the line I'd like to possibly extend this support for array based loops
```
for (unsigned I = Arr.size() - 1;I >=0;--I) Arr[I]...
```

Currently if you pass a reversing function with no header in the options it will just assume that the function exists, however as we have the ASTContext it may be as wise to check before applying, or at least lower the confidence level if we can't find it.

Reviewed By: alexfh

Differential Revision: https://reviews.llvm.org/D82089
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/modernize-loop-convert.rst
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/modernize-loop-convert-reverse.cpp
Commit daae4a84828b131395c531cd5604dc013d9073b6 by pavel
[lldb] Modernize PseudoTerminal::OpenSecondary
The file was modifiedlldb/unittests/Editline/EditlineTest.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
The file was modifiedlldb/unittests/Host/MainLoopTest.cpp
The file was modifiedlldb/include/lldb/Host/PseudoTerminal.h
The file was modifiedlldb/source/Host/common/PseudoTerminal.cpp
Commit d30797b4041ffe215b92d376af60c4f26a0555ae by jotrem
[lldb] Minidump: check for .text hash match with directory

When opening a minidump, we might discover that it reports a UUID for a
module that doesn't match the build ID, but rather a hash of the .text
section (according to either of two different hash functions, used by
breakpad and Facebook respectively).  The current logic searches for a
module by filename only to check the hash; this change updates it to
first search by directory+filename.  This is important when the
directory specified in the minidump must be interpreted relative to a
user-provided sysoort, as the leaf directory won't be in the search path
in that case.

Also add a regression test; without this change, module validation fails
because we have just the placeholder module which reports as its path
the platform path in the minidump.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D89155
The file was addedlldb/test/API/functionalities/postmortem/minidump-new/libbreakpad-decoy.yaml
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.h
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
Commit ce16b6835bce18989e1dc0796305fe703e59ca4d by Matthew.Arsenault
AMDGPU: Don't kill super-register with overlapping copy

This would end up killing part of the result super-register, resulting
in a verifier error on a later use of the overlapping registers.  We
could add kills of any non-aliasing registers, but we should be moving
away from relying on kill flags.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/copy-overlap-vgpr-kill.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
Commit 952f43cb431ca77b52ba991b6dd7ecf834c75059 by Matthew.Arsenault
llvm-reduce: Fix typo in status message
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Commit ee6e25e4391a6d3ac0a3c89615474e512f44cda6 by Matthew.Arsenault
llvm-reduce: Don't replace intrinsic calls with undef

These don't really have function bodies to try to eliminate. This also
has a good chance of just producing invalid IR since intrinsics can
have special operand constraints (e.g. metadata arguments aren't valid
for an arbitrary call). This was wasting quite a bit of time producing
and failing on invalid IR when replacing dbg.values with undefs.
The file was addedllvm/test/Reduce/no-replace-intrinsic-callee-with-undef.ll
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Commit c757418869c01f5ee08f05661debabbba92edcf9 by psteinfeld
[flang] Failed call to CHECK() for call to ASSOCIATED(NULL())

Calling "ASSOCATED(NULL()) was causing an internal check of the compiler to
fail.

I fixed this by changing the entry for "ASSOCIATED" in the intrinsics table to
accept "AnyPointer" which contains a new "KindCode" of "pointerType".  I also
changed the function "FromActual()" to return a typeless intrinsic when called
on a pointer, which duplicates its behavior for BOZ literals.  This required
changing the analysis of procedure arguments.  While testing processing for
procedure arguments, I found another bad call to `CHECK()` which I fixed.

I made several other changes:
  -- I implemented constant folding for ASSOCIATED().
  -- I fixed handling of NULL() in relational operations.
  -- I implemented semantic analysis for ASSOCIATED().
    -- I noticed that the semantics for ASSOCIATED() are similar to those for
       pointer assignment.  So I extracted the code that pointer assignment uses
       for procedure pointer compatibility to a place where it could be used by
       the semantic analysis for ASSOCIATED().
    -- I couldn't figure out how to make the general semantic analysis for
       procedure arguments work with ASSOCIATED()'s second argument, which can
       be either a pointer or a target.  So I stopped using normal semantic
       analysis for arguments for ASSOCIATED().
  -- I added tests for all of this.

Differential Revision: https://reviews.llvm.org/D88313
The file was modifiedflang/test/Semantics/resolve63.f90
The file was modifiedflang/include/flang/Evaluate/characteristics.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/include/flang/Evaluate/type.h
The file was modifiedflang/lib/Semantics/check-call.cpp
The file was modifiedflang/test/Evaluate/folding06.f90
The file was modifiedflang/lib/Evaluate/characteristics.cpp
The file was addedflang/test/Semantics/associated.f90
The file was modifiedflang/lib/Evaluate/tools.cpp
The file was modifiedflang/lib/Semantics/pointer-assignment.cpp
The file was modifiedflang/lib/Evaluate/fold-logical.cpp
The file was modifiedflang/test/Semantics/call09.f90
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/test/Semantics/call02.f90
Commit 59a3b1afb28541d5bf37445b028bfd711e3c556a by Duncan P. N. Exon Smith
clang-format: Assert in-memory file created in createInMemoryFile, NFC

`SourceManager::createFileID` asserts that the given `FileEntry` is not
null, so remove the logic that passed in `nullptr`. Since we just added
the file to an in-memory FS via an API that cannot fail, use
`llvm_unreachable` on the error path. Didn't use an `assert` since it
seems cleaner semantically to check the error (and better,
hypothetically, for updating the API to use `Expected` instead of
`ErrorOr`).

I noticed this incidentally while auditing calls to `createFileID`.
The file was modifiedclang/tools/clang-format/ClangFormat.cpp
Commit fdbfff8fd41f874f05a4c0a3f8f20964942d7833 by martin
[libcxx] [test] Use string() instead of native() as parameter to std::ifstream/ofstream in copy_file_large.pass.cpp

This fixes building with libstdc++ for windows. MS STL has got
ifstream/ofstream overloads that taken wide strings though.

Differential Revision: https://reviews.llvm.org/D89539
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
Commit 701fa703fc7774bad01a70d6e4c721f634bbeceb by martin
[libcxx] [test] Use fs::path::string_type instead of std::string in fs.op.relative

Differential Revision: https://reviews.llvm.org/D89538
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
Commit 66427d7359ac94d11bda18d613984ddf296c0302 by martin
[libcxx] [test] Mark tests for libcxx specific implementation details with LIBCPP_ONLY()

This matches an existing marking in enum.path.format.pass.cpp.

Differential Revision: https://reviews.llvm.org/D89534
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
Commit ddb4693a92e763d6cc0e7e2b3b60d662d0716581 by martin
[libcxx] [test] Add (void) return casts on functions marked nodiscard in MS STL

Differential Revision: https://reviews.llvm.org/D89533
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
Commit 253f24cf4c455f732423ef8ddf230b111ea41bee by llvm-dev
[InstCombine] Remove custom and(trunc(and(x,c1)),c2) fold

This is more correctly handled by canEvaluateTruncated (one use checks etc.) and covers all the tests cases that were added for this fold.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit fe8281e2d009d9ab0b89cad2cb56defceb7fa9b1 by llvm-dev
[InstCombine] visitAnd - add some ((val OP C1) & C2) vector test coverage
The file was modifiedllvm/test/Transforms/InstCombine/and.ll
The file was modifiedllvm/test/Transforms/InstCombine/add.ll
Commit 83ae625f0c6a6e86ffa80bd52c2dedccda80ff77 by llvm-dev
[InstCombine] visitAnd - pull out repeated I.getType() calls. NFCI.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit 95fb3542e8f195454ad4aa2290ca02906f5dfb78 by hans
Disable DynamicLibraryTests when using LLVM_INTEGRATED_CRT_ALLOC (PR47881)
The file was modifiedllvm/unittests/Support/CMakeLists.txt
Commit 97533b10b27db058cc77c81a4f964b66392871c6 by kparzysz
[Hexagon] Fix license headers in some .td files, NFC
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatterns.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonIntrinsicsV60.td
Commit 0a7cd99a702595ccf73c957be0127af9f25fb9a2 by Matthew.Arsenault
Reapply "OpaquePtr: Add type to sret attribute"

This reverts commit eb9f7c28e5fe6d75fed3587023e17f2997c8024b.

Previously this was incorrectly handling linking of the contained
type, so this merges the fixes from D88973.
The file was modifiedclang/test/CodeGen/ppc64-vector.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGenCXX/x86_64-arguments.cpp
The file was modifiedclang/test/CodeGen/ppc64-soft-float.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-iamcu.c
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/test/CodeGen/windows-swiftcall.c
The file was modifiedllvm/lib/Bitcode/Writer/ValueEnumerator.cpp
The file was modifiedllvm/test/Bitcode/compatibility-5.0.ll
The file was modifiedclang/test/CodeGen/arm64-arguments.c
The file was modifiedclang/test/CodeGen/c11atomics-ios.c
The file was modifiedclang/test/CodeGen/ppc32-and-aix-struct-return.c
The file was modifiedclang/test/CodeGen/mips-zero-sized-struct.c
The file was modifiedclang/test/CodeGen/arc/arguments.c
The file was modifiedclang/test/CodeGenCXX/matrix-type.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-arguments-darwin.c
The file was modifiedllvm/test/Bitcode/compatibility-6.0.ll
The file was modifiedclang/test/CodeGen/le32-arguments.c
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedclang/test/CodeGen/2006-05-19-SingleEltReturn.c
The file was modifiedclang/test/CodeGen/mcu-struct-return.c
The file was modifiedclang/test/CodeGenCXX/homogeneous-aggregates.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
The file was modifiedclang/test/CodeGenCXX/thunk-returning-memptr.cpp
The file was modifiedclang/test/CodeGen/arm64_32.c
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-abi.c
The file was modifiedclang/test/CodeGen/arm-varargs.c
The file was modifiedclang/test/CodeGen/regparm-struct.c
The file was modifiedllvm/test/Bitcode/attributes-3.3.ll
The file was modifiedclang/test/CodeGen/aligned-sret.c
The file was modifiedclang/test/CodeGenCXX/conditional-gnu-ext.cpp
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
The file was modifiedllvm/test/Bitcode/attributes.ll
The file was modifiedclang/test/CodeGenObjC/stret-1.m
The file was modifiedclang/test/CodeGen/sparcv9-abi.c
The file was modifiedclang/test/CodeGenObjC/weak-in-c-struct.m
The file was modifiedclang/test/CodeGen/riscv32-ilp32-abi.c
The file was modifiedclang/test/CodeGen/ppc64-qpx-vector.c
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedclang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
The file was modifiedclang/test/CodeGenCXX/x86_32-arguments.cpp
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-win32.c
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedclang/test/CodeGenCXX/temporaries.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/IR/Core.cpp
The file was addedllvm/test/Linker/Inputs/sret-type-input.ll
The file was addedllvm/test/Linker/sret-types.ll
The file was modifiedclang/test/CodeGen/arm-vector-arguments.c
The file was modifiedclang/test/CodeGenCXX/stack-reuse.cpp
The file was modifiedclang/test/CodeGen/lanai-arguments.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32d-abi.c
The file was modifiedclang/test/CodeGen/riscv64-lp64d-abi.c
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments2.cpp
The file was modifiedllvm/test/Bitcode/compatibility-4.0.ll
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGen/riscv64-lp64-abi.c
The file was modifiedclang/test/CodeGen/windows-struct-abi.c
The file was modifiedclang/test/CodeGen/ppc-aggregate-abi.cpp
The file was modifiedclang/test/CodeGenCXX/exceptions.cpp
The file was modifiedclang/test/CodeGen/ppc64le-aggregates.c
The file was modifiedclang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
The file was modifiedllvm/test/Verifier/align.ll
The file was modifiedclang/test/CodeGenCXX/regcall.cpp
The file was modifiedclang/test/CodeGenCXX/unknown-anytype.cpp
The file was modifiedclang/test/CodeGen/arm-homogenous.c
The file was modifiedclang/test/CodeGen/aix-alignment.c
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was modifiedclang/test/CodeGen/c11atomics.c
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedclang/test/CodeGenObjC/nontrivial-c-struct-exception.m
The file was modifiedclang/test/CodeGenCXX/matrix-type-builtins.cpp
The file was modifiedclang/test/CodeGenCXX/cxx1z-copy-omission.cpp
The file was modifiedllvm/test/Bitcode/compatibility-3.9.ll
The file was modifiedclang/test/CodeGen/vectorcall.c
The file was modifiedclang/test/CodeGenCXX/arm-cc.cpp
The file was modifiedclang/test/CodeGen/arm-aapcs-vfp.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
The file was modifiedclang/test/CodeGen/struct-passing.c
The file was modifiedllvm/test/Bitcode/compatibility.ll
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
The file was modifiedclang/test/CodeGen/ppc64le-f128Aggregates.c
The file was modifiedllvm/test/Verifier/noundef.ll
The file was modifiedclang/test/CodeGen/mingw-long-double.c
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments-nacl.c
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
The file was modifiedclang/test/CodeGenCXX/wasm-args-returns.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
The file was addedllvm/test/Assembler/sret-type-attr.ll
The file was modifiedclang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was modifiedclang/test/CodeGenCXX/builtin-source-location.cpp
The file was modifiedclang/test/CodeGen/arm-neon-vld.c
The file was modifiedclang/test/CodeGenCXX/pass-by-value-noalias.cpp
The file was modifiedclang/test/CodeGen/renderscript.c
The file was modifiedllvm/test/Bitcode/compatibility-3.6.ll
The file was modifiedclang/test/CodeGen/wasm-varargs.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
The file was modifiedclang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
The file was modifiedllvm/test/Bitcode/highLevelStructure.3.2.ll
The file was modifiedclang/test/CodeGen/ppc64-elf-abi.c
The file was modifiedclang/test/CodeGen/wasm-arguments.c
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedclang/test/CodeGen/aggregate-assign-call.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
The file was modifiedclang/test/CodeGen/64bit-swiftcall.c
The file was modifiedllvm/lib/AsmParser/LLParser.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedclang/test/CodeGen/blocks.c
The file was modifiedllvm/test/Bitcode/compatibility-3.7.ll
The file was modifiedclang/test/CodeGen/arm-vfp16-arguments.c
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp
The file was modifiedclang/test/CodeGenCXX/thiscall-struct-return.cpp
The file was modifiedllvm/lib/Transforms/Utils/ValueMapper.cpp
The file was modifiedclang/test/CodeGen/arm-swiftcall.c
The file was modifiedclang/test/CodeGenObjC/arc.m
The file was modifiedclang/test/CodeGen/ms_abi.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
The file was modifiedclang/test/CodeGen/arm64-microsoft-arguments.cpp
The file was modifiedclang/test/CodeGenCXX/aix-alignment.cpp
The file was modifiedclang/test/CodeGenOpenCLCXX/addrspace-of-this.cl
The file was modifiedllvm/test/Verifier/byref.ll
The file was modifiedclang/test/CodeGenCXX/call-with-static-chain.cpp
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp
The file was modifiedclang/test/CodeGen/X86/x86_64-arguments.c
The file was modifiedclang/test/CodeGen/powerpc-c99complex.c
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
The file was modifiedclang/test/CodeGen/mips64-padding-arg.c
The file was modifiedclang/test/CodeGen/riscv32-ilp32f-abi.c
The file was modifiedclang/test/CodeGenCXX/lambda-expressions.cpp
The file was modifiedclang/test/Modules/templates.mm
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedclang/test/CodeGenOpenCL/addr-space-struct-arg.cl
The file was modifiedclang/test/CodeGen/aarch64-varargs.c
The file was modifiedclang/test/CodeGen/ppc64-align-struct.c
The file was modifiedclang/test/CodeGenCXX/thunks.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/CodeGenObjC/stret_lookup.m
The file was modifiedllvm/test/Bitcode/compatibility-3.8.ll