[all-commits] [llvm/llvm-project] 90d2f8: [mlir][vector] Teach `TransferOptimization` to loo...

wanglei via All-commits all-commits at lists.llvm.org
Thu May 16 18:13:07 PDT 2024


  Branch: refs/heads/users/wangleiat/spr/main.loongarch-use-sign-extend-for-i32-arguments-in-makelibcall-on-la64
  Home:   https://github.com/llvm/llvm-project
  Commit: 90d2f8c630e1ddddd034e4a0e575929c08dd26bf
      https://github.com/llvm/llvm-project/commit/90d2f8c630e1ddddd034e4a0e575929c08dd26bf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to look through trivial aliases (#87805)

This allows `TransferOptimization` to eliminate and forward stores that
are to trivial aliases (rather than just to identical memref values).

A trivial aliases is (currently) defined as:

  1. A `memref.cast`
  2. A `memref.subview` with a zero offset and unit strides
  3. A chain of 1 and 2


  Commit: 1795fa58bac5092f758bf27e1b27a2b333307bab
      https://github.com/llvm/llvm-project/commit/1795fa58bac5092f758bf27e1b27a2b333307bab
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [NFC] Update example in comment


  Commit: 5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
      https://github.com/llvm/llvm-project/commit/5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp

  Log Message:
  -----------
  [analyzer] Clean up list of taint propagation functions (#91635)

This commit refactors GenericTaintChecker and performs various
improvements in the list of taint propagation functions:

1. The matching mode (usually `CDM::CLibrary` or
`CDM::CLibraryMaybeHardened`) was specified to avoid matching e.g. C++
methods or functions from a user-defined namespace that happen to share
the name of a well-known library function.
2. With these matching modes, a `CallDescription` can automatically
match builtin variants of the functions, so entries that explicitly
specified a builtin function were removed. This eliminated
inconsistencies where the "normal" and the builtin variant of the same
function was handled differently (e.g. `__builtin_strlcat` was covered,
while plain `strlcat` wasn't; while `__builtin_memcpy` and `memcpy` were
both on the list with different propagation rules).
3. The modeling of the functions `strlcat` and `strncat` was updated to
propagate taint from the first argument (index 0), because a tainted
string should remain tainted even if we append something else to it.
Note that this was already applied to `strcat` and `wcsncat` by commit
6ceb1c0ef9f544be0eed65e46cc7d99941a001bf.
4. Some functions were updated to propagate taint from a size/length
argument to the result: e.g. `memcmp(p, q, get_tainted_int())` will now
return a tainted value (because the attacker can manipulate it). This
principle was already present in some propagation rules (e.g.
`__builtin_memcpy` was handled this way), and even after this commit
there are still some functions where it isn't applied. (I only aimed for
consistency within the same function family.)
5. Functions that have hardened `__FOO_chk()` variants are matched in
`CDM:CLibraryMaybeHardened` to ensure consistent handling of the
"normal" and the hardened variant. I added special handling for the
hardened variants of "sprintf" and "snprintf" because there the extra
parameters are inserted into the middle of the parameter list.
6. Modeling of `sscanf_s` was added, to complete the group of `fscanf`,
`fscanf_s` and `sscanf`.
7. The `Source()` specifications for `gets`, `gets_s` and `wgetch` were
ill-formed: they were specifying variadic arguments starting at argument
index `ReturnValueIndex`. (That is, in addition to the return value they
were propagating taint to all arguments.)
8. Functions that were related to each other were grouped together. (I
know that this makes the diff harder to read, but I felt that the full
list is unreadable without some reorganization.)
9. I spotted and removed some redundant curly braces. Perhaps would be
good to switch to a cleaner layout with less nested braces...
10. I updated some obsolete comments and added two TODOs for issues that
should be fixed in followup commits.


  Commit: 83974a4b92d1fd33b8e21d7a868862893d9430e9
      https://github.com/llvm/llvm-project/commit/83974a4b92d1fd33b8e21d7a868862893d9430e9
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  Revert "[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)"

This reverts commit f0b3654701bde1cf7821d60698b42383edaff9f3.

This commit triggers UB by reading an uninitialized variable.

`UP.PartialThreshold` is used uninitialized in `getUnrollingPreferences()` when
it is called from `LoopVectorizationPlanner::executePlan()`. In this case the
`UP` variable is created on the stack and its fields are not initialized.

```
==8802==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x557c0b081b99 in llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h
    #1 0x557c0b07a40c in llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h:2277:17
    #2 0x557c0f5d69ee in llvm::TargetTransformInfo::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) const llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp:387:19
    #3 0x557c0e6b96a0 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7624:7
    #4 0x557c0e6e4b63 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10253:13
    #5 0x557c0e6f2429 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10344:30
    #6 0x557c0e6f2f97 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10383:9

[...]

  Uninitialized value was created by an allocation of 'UP' in the stack frame
    #0 0x557c0e6b961e in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7623:3
```


  Commit: ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
      https://github.com/llvm/llvm-project/commit/ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/AST/ast-dump-expr.cpp

  Log Message:
  -----------
  [clang] Fix CXXNewExpr end source location for 'new struct S' (#92266)

Currently, `new struct S` fails to set any valid end source location
because the token corresponding to `S` is consumed in
`ParseClassSpecifier` and is not accessible in the
`ParseDeclarationSpecifiers` that normally sets the end source location.

Fixes #35300


  Commit: 239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
      https://github.com/llvm/llvm-project/commit/239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp

  Log Message:
  -----------
  [AST] RecursiveASTVisitor: Don't traverse the alias deduction guides in the default mode. (#91454)

By default (`shouldVisitImplicitCode()` returns `false`), RAV should not
traverse AST nodes that are not spelled in the source code. Deduction
guides for alias templates are always synthesized, so they should not be
traversed.

This is usually done by checking the implicit bit of the Decl. However,
this doesn't work deduction guides that are synthesized from explicit
user-defined deduction guides, as we must maintain the explicit bit to
ensure correct overload resolution.


  Commit: a9605730a481707623358d3b12220f05cfdc50a8
      https://github.com/llvm/llvm-project/commit/a9605730a481707623358d3b12220f05cfdc50a8
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang] CTAD: implement the missing IsDeducible constraint for alias templates  (#89358)

Fixes https://github.com/llvm/llvm-project/issues/85192
Fixes https://github.com/llvm/llvm-project/issues/84492

This patch implements the "IsDeducible" constraint where the template
arguments of the alias template can be deduced from the returned type of
the synthesized deduction guide, per C++ [over.match.class.deduct]p4. In
the implementation, we perform the deduction directly, which is more
efficient than the way specified in the standard.

Also update relevant CTAD tests which were incorrectly compiled due to
the missing constraint.


  Commit: 46bc54f4e688870da8356a9b85257ffb12d47e1f
      https://github.com/llvm/llvm-project/commit/46bc54f4e688870da8356a9b85257ffb12d47e1f
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (#92355)

Fixes
https://github.com/llvm/llvm-project/pull/92084#issuecomment-2114083188.


  Commit: 0bc1ec5cda8d68a681534bda9fd121b7f58fb495
      https://github.com/llvm/llvm-project/commit/0bc1ec5cda8d68a681534bda9fd121b7f58fb495
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp

  Log Message:
  -----------
  [GlobalISel] Reduce KnownBits usage in matcher combines (#92381)

Two icmp/and combines forced computation of KnownBits on all operands
everytime. We can avoid computing KnownBits on the LHS by exploiting a
couple of properties:
- Constants are always on the RHS for those instructions. If we have no
KnownBits on the RHS, we can bail out early and avoid computing LHS
knownbits.
- For icmp uge/ult 0, we don't need to know the KBs of the LHS to infer
the result

This allows to save some KnownBits calls, which are very expensive,
without affecting codegen.


  Commit: 7d81062352f75cf328d91d4900af52c1842b950e
      https://github.com/llvm/llvm-project/commit/7d81062352f75cf328d91d4900af52c1842b950e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Refactor Combiner MatchData & Apply C++ Code Handling (#92239)

Combiners that use C++ code in their "apply" pattern only use that. They
never mix it with MIR patterns as that has little added value.

This patch restricts C++ apply code so that if C++ is used, we cannot
use MIR patterns or builtins with it. Adding this restriction allows us
to merge calls to match and apply C++ code together, which in turns
makes it so we can just have MatchData variables on the stack.

So before, we would have
```
  GIM_CheckCxxInsnPredicate // match
  GIM_CheckCxxInsnPredicate // apply
  GIR_Done
```
Alongside a massive C++ struct holding the MatchData of all rules
possible (which was a big space/perf issue).

Now we just have
```
GIR_DoneWithCustomAction
```

And the function being ran just does
```
unsigned SomeMatchData;
if (match(SomeMatchData))
  apply(SomeMatchData)
```

This approach solves multiple issues in one:
- MatchData handling is greatly simplified and more efficient, "don't
pay for what you don't use"
  - We reduce the size of the match table
- Calling C++ code has a certain overhead (we need a switch), and this
overhead is only paid once now.

Handling of C++ code inside PatFrags is unchanged though, that still
emits a `GIM_CheckCxxInsnPredicate`. This is completely fine as they
can't use MatchDatas.


  Commit: cf92e51f5b66afc315f2b43c238291ca87a5602e
      https://github.com/llvm/llvm-project/commit/cf92e51f5b66afc315f2b43c238291ca87a5602e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7d81062352f7


  Commit: 311339e25cd4d431902f93b1cbc6b67ac3fd2abf
      https://github.com/llvm/llvm-project/commit/311339e25cd4d431902f93b1cbc6b67ac3fd2abf
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - ISD::AND - only request DemandedElts when looking for a splat constant

Limit the isConstOrConstSplat call to the vector elements we care about

Noticed while investigating regressions in #92096


  Commit: fdaad738753cde2bba6480c2ee5d1e9fb45064b9
      https://github.com/llvm/llvm-project/commit/fdaad738753cde2bba6480c2ee5d1e9fb45064b9
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll

  Log Message:
  -----------
  [Reg2Mem] Handle CallBr instructions (#90953)

Fixes #90900


  Commit: 911207338add39b8439a09fd7f9d97bbe4a335bd
      https://github.com/llvm/llvm-project/commit/911207338add39b8439a09fd7f9d97bbe4a335bd
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c

  Log Message:
  -----------
  [RemoveDIs][NFC] Fix rotten green C API test (#92362)

`llvm_test_dibuilder(/*NewDebugInfoMode=*/true)` isn't currently executed in 
`return llvm_test_dibuilder(false) && llvm_test_dibuilder(true);`
because `llvm_test_dibuilder` returns 0 for success.

Split the llvm-c-test flag `--test-dibuilder` into two, one for the old and
one for the new debug info format. Add another lit test for the new format.

Now that the test actually runs, it crashes using the new format with
`llvm/lib/IR/LLVMContextImpl.cpp:53:llvm::LLVMContextImpl::~LLVMContextImpl(): Assertion 'TrailingDbgRecords.empty() && "DbgRecords in blocks not cleaned"' failed. Aborted`.

Insert terminators into the blocks so that we don't leave the debug records
trailing, unattached to any instructions, which fixes that.


  Commit: 03d8e613911bdef52fec23924a4e5b4235997bb8
      https://github.com/llvm/llvm-project/commit/03d8e613911bdef52fec23924a4e5b4235997bb8
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wsign-compare in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:54:23:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
    for (int i = 0; i < CBI->getNumSuccessors(); i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 99de3a685170c24208b00ef83fe0416373387acc
      https://github.com/llvm/llvm-project/commit/99de3a685170c24208b00ef83fe0416373387acc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png

  Log Message:
  -----------
  [VPlan] Document current status. (#85689)

Update VectorizationPlan.rst to include a section about the current
status of VPlan and its use in LoopVectorize, based on "VPlan: Status
Update and Future Roadmap", LLVM Developers’ Meeting 2023,
https://www.youtube.com/watch?v=SzGP4PgMuLE

PR: https://github.com/llvm/llvm-project/pull/85689


  Commit: 7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
      https://github.com/llvm/llvm-project/commit/7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/MSVC.cpp
    A clang/test/Driver/flang/msvc-link.f90

  Log Message:
  -----------
  [clang][flang][windows] Prefer user-provided library paths (-L) (#90758)

Currently the paths to compiler-rt and the Flang runtimes from the LLVM
build/install directory are preferred over any user-provided library
paths. This means a user can't override compiler-rt or the Flang
runtimes with custom versions.

This patch changes the link order to prefer library paths specified with
-L over the LLVM paths. This matches the behaviour of clang and flang on
Linux.


  Commit: 7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
      https://github.com/llvm/llvm-project/commit/7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h

  Log Message:
  -----------
  [flang][OpenMP] Remove unnecessary `Fortran::` qualification, NFC (#92298)

The `Fortran::` namespace is redundant for all parts of the code in this
PR, except for names of functions in their definitions.


  Commit: 2bc9af96567eeda1effdf0cb7662511d896fb386
      https://github.com/llvm/llvm-project/commit/2bc9af96567eeda1effdf0cb7662511d896fb386
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py

  Log Message:
  -----------
  [lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)

Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.


  Commit: 588ce34ba626a369a416b883342af48c69e70925
      https://github.com/llvm/llvm-project/commit/588ce34ba626a369a416b883342af48c69e70925
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp

  Log Message:
  -----------
  [libc++][z/OS] Fixup two linear_congruential_engine tests (#92261)


  Commit: e948da1021b207dbcee9ed484ccb3409c2295561
      https://github.com/llvm/llvm-project/commit/e948da1021b207dbcee9ed484ccb3409c2295561
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp

  Log Message:
  -----------
  [Transforms] Fix -Wunused-variable in DemoteRegToStack.cpp (NFC)

llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:58:21:
error: unused variable 'BB' [-Werror,-Wunused-variable]
        BasicBlock *BB = SplitCriticalEdge(II, i);
                    ^
1 error generated.


  Commit: 80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
      https://github.com/llvm/llvm-project/commit/80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/rot32.ll

  Log Message:
  -----------
  [X86] rot32.ll - remove old shld check prefixes

This was missed in 8dbd745b09c9f65fefc2ffac14e8f7f288766861


  Commit: 44eded31e0bd5739391298497affe3412e4091aa
      https://github.com/llvm/llvm-project/commit/44eded31e0bd5739391298497affe3412e4091aa
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [lldb] Move TestBase.runCmd() to the Base class (#92252)

runCmd() is called from Base.getCPUInfo() but implemented only in
TestBase(Base). Usually it works if TestBase is used. But call
getCPUInfo() from a class based on Base will cause something like
```
File "E:\projects\llvm-nino\lldb\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1256, in getCPUInfo
  self.runCmd('platform get-file "/proc/cpuinfo" ' + cpuinfo_path)
AttributeError: 'TestGdbRemoteExpeditedRegisters' object has no attribute 'runCmd'
```
BTW, TestBase.setUp() called runCmd() before applying
LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT_NEXT_LAUNCH.

This patch fixes the test TestGdbRemoteExpeditedRegisters in case of
Windows host and Linux target.


  Commit: f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
      https://github.com/llvm/llvm-project/commit/f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
  Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for bfloat16 min/max/minnm/maxnm (#90105)

According to specifications in
[ARM-software/acle/pull/309](https://github.com/ARM-software/acle/pull/309)
Add following intrinsics:

```
// svmax single,multi
svbfloat16x2_t svmax_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmax_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmax_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmax_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmin single,multi
svbfloat16x2_t svmin_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmin_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmin_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmin_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svmaxnm single,multi
svbfloat16x2_t svmaxnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmaxnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmaxnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmaxnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```

```
// svminnm single,multi
svbfloat16x2_t svminnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svminnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svminnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svminnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
- Variations other than bfloat16 are already supported.


  Commit: af57ad6536c7df19e6df7217d9d976067fdaf882
      https://github.com/llvm/llvm-project/commit/af57ad6536c7df19e6df7217d9d976067fdaf882
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/include/__algorithm/simd_utils.h

  Log Message:
  -----------
  [libc++][z/OS] Correct a definition of __native_vector_size (#91995)

Fix `std/ranges/range.adaptors/range.lazy.split/general.pass.cpp` which
started failing on z/OS after this
[commit](https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0af).

This test case is passing on other platforms such as AIX. This is
because the `__ALTIVEC__` macro is defined and `__mismatch` under
`_LIBCPP_VECTORIZE_ALGORITHMS` guard is compiled out. However, on z/OS
`_LIBCPP_VECTORIZE_ALGORITHMS` is defined. Analyzing the algorithm of
`__mismatch` shows that the culprit is the definition of
`__native_vector_size` which was defined wrongly as 1. This PR corrects
the definition of `__native_vector_size` and fixes the affected test.


  Commit: 4a5dffc67499640c71357d8f3f49edc97af5482f
      https://github.com/llvm/llvm-project/commit/4a5dffc67499640c71357d8f3f49edc97af5482f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC][NFC] Add ARM64EC alias symbols test. (#92100)


  Commit: 54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
      https://github.com/llvm/llvm-project/commit/54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll

  Log Message:
  -----------
  [X86] Reduce znver3/4 LoopMicroOpBufferSize to practical loop unrolling values (#91340)

The znver3/4 scheduler models have previously associated the LoopMicroOpBufferSize with the maximum size of their op caches, and when this led to quadratic complexity issues this were reduced to a value of 512 uops, based mainly on compilation time and not its effectiveness on runtime performance.

>From a runtime performance POV, a large LoopMicroOpBufferSize leads to a higher number of loop unrolls, meaning the cpu has to rely on the frontend decode rate (4 ins/cy max) for much longer to fill the op cache before looping begins and we make use of the faster op cache rate (8/9 ops/cy).

This patch proposes we instead cap the size of the LoopMicroOpBufferSize based off the maximum rate from the op cache (znver3 = 8op/cy, znver4 = 9op/cy) and the branch misprediction penalty from the opcache (~12cy) as a estimate of the useful number of ops we can unroll a loop by before mispredictions are likely to cause stalls. This isn't a perfect metric, but does try to be closer to the spirit of how we use LoopMicroOpBufferSize in the compiler vs the size of a similar naming buffer in the cpu.


  Commit: 93c02b7dc3bd07d3d62b56cb3299288901205f3a
      https://github.com/llvm/llvm-project/commit/93c02b7dc3bd07d3d62b56cb3299288901205f3a
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC] Use MCSymbolRefExpr::VK_None for function aliases. (#92100)


  Commit: c675a58edec6d1a876a0d0e7d261f74764855b38
      https://github.com/llvm/llvm-project/commit/c675a58edec6d1a876a0d0e7d261f74764855b38
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen][SubtargetEmitter] Early exit from loop in FindWriteResources and FindReadAdvance (#92202)

This gives us a 30% speed improvement in our downstream.


  Commit: 6c7ec6e1e6646fb334064bda6f301fdb52390d9b
      https://github.com/llvm/llvm-project/commit/6c7ec6e1e6646fb334064bda6f301fdb52390d9b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Remove empty line in test (NFC) (#92404)


  Commit: 74a87548e5b62881108e6cd1fd63b45580fc3097
      https://github.com/llvm/llvm-project/commit/74a87548e5b62881108e6cd1fd63b45580fc3097
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [flang][MLIR][OpenMP] make reduction by-ref toggled per variable (#92244)

Fixes #88935

Toggling reduction by-ref broke when multiple reduction clauses were
used. Decisions made for the by-ref status for later clauses could then
invalidate decisions for earlier clauses. For example,

```
reduction(+:scalar,scalar2) reduction(+:array)
```

The first clause would choose by value reduction and generate by-value
reduction regions, but then after this the second clause would force
by-ref to support the array argument. But by the time the second clause
is processed, the first clause has already had the wrong kind of
reduction regions generated.

This is solved by toggling whether a variable should be reduced by
reference per variable. In the above example, this allows only `array`
to be reduced by ref.


  Commit: d94582eea410a04f9f84e39a54276a8418aa2dbb
      https://github.com/llvm/llvm-project/commit/d94582eea410a04f9f84e39a54276a8418aa2dbb
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90

  Log Message:
  -----------
  [flang][OpenMP] Add test for checking overloaded operator in atomic update (#88471)

Atomic update expression does not allow overloaded user-defined
operators. This PR adds a test case for the same; the semantic check is
already existent.


  Commit: f579dcf816b5626724e9eae5feea594008b5c863
      https://github.com/llvm/llvm-project/commit/f579dcf816b5626724e9eae5feea594008b5c863
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb] Fixed an invalid error message in the DAP disconnect response (#92345)

The `disconnect` response contains the `error` message with invalid
characters (a junk data). To reproduce this issue it is enough to run
the `TestDAP_commands` test on Windows host and Linux target. The test
will fail to run ELF file on Windows and dap_server will be disconnected
unexpectedly.

Note dap_server hangs if read_packet() cannot decode JSON with invalid
characters. read_packet() must return None in this case instead of an
exception. But dap_server does not require any fix after this patch.


  Commit: d665d51c9296fc0b57945bb67e06040e26cd03c5
      https://github.com/llvm/llvm-project/commit/d665d51c9296fc0b57945bb67e06040e26cd03c5
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92398)

These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.


  Commit: d1f96d4cfe25770827b5f819b6a9de6fef142c9c
      https://github.com/llvm/llvm-project/commit/d1f96d4cfe25770827b5f819b6a9de6fef142c9c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [clang][NFC] Claim support for P3106R1 since Clang 17

Test for this paper were added in https://github.com/llvm/llvm-project/pull/91435


  Commit: 5ac34358181b21135851979c1c949632be5a9d32
      https://github.com/llvm/llvm-project/commit/5ac34358181b21135851979c1c949632be5a9d32
  Author: Dana Jansens <danakj at chromium.org>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp

  Log Message:
  -----------
  Respect the [[clang::unsafe_buffer_usage]] attribute for constructors (#91777)

The -Wunsafe-buffer-usage warning should fire on any call to a function
annotated with [[clang::unsafe_buffer_usage]], however it omitted calls
to constructors, since the expression is a CXXConstructExpr which does
not subclass CallExpr. Thus the matcher on callExpr() does not find
these expressions.

Add a new WarningGadget that matches cxxConstructExpr that are calling a
CXXConstructDecl annotated by [[clang::unsafe_buffer_usage]] and fires
the warning. The new UnsafeBufferUsageCtorAttrGadget gadget explicitly
avoids matching against the std::span(ptr, size) constructor because
that is handled by SpanTwoParamConstructorGadget and we never want two
gadgets to match the same thing (and this is guarded by asserts).

The gadgets themselves do not report the warnings, instead each gadget's
Stmt is passed to the UnsafeBufferUsageHandler (implemented by
UnsafeBufferUsageReporter). The Reporter is previously hardcoded that a
CXXConstructExpr statement must be a match for std::span(ptr, size), but
that is no longer the case. We want the Reporter to generate different
warnings (in the -Wunsafe-buffer-usage-in-container subgroup) for the
span contructor. And we will want it to report more warnings for other
std-container-specific gadgets in the future. To handle this we allow
the gadget to control if the warning is general (it calls
handleUnsafeBufferUsage()) or is a std-container-specific warning (it
calls handleUnsafeOperationInContainer()).

Then the WarningGadget grows a virtual method to dispatch to the
appropriate path in the UnsafeBufferUsageHandler. By doing so, we no
longer need getBaseStmt in the Gadget interface. The only use of it for
FixableGadgets was to get the SourceLocation, so we make an explicit
virtual method for that on Gadget. Then the handleUnsafeOperation()
dispatcher can be a virtual method that is only in WarningGadget.

The SpanTwoParamConstructorGadget gadget dispatches to
handleUnsafeOperationInContainer() while the other WarningGadgets all
dispatch to the original handleUnsafeBufferUsage().

Tests are added for annotated constructors, conversion operattors, call
operators, fold expressions, and regular methods.

Issue #80482


  Commit: ee407e17a3a4986bab49272665abc9973d78691d
      https://github.com/llvm/llvm-project/commit/ee407e17a3a4986bab49272665abc9973d78691d
  Author: Renaud Kauffmann <50748669+Renaud-K at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir

  Log Message:
  -----------
  [flang] AliasAnalysis: More formally define and distinguish between data and non-data  (#91020)

This PR is an implementation for changes proposed in
https://discourse.llvm.org/t/rfc-distinguish-between-data-and-non-data-in-fir-alias-analysis/78759

Test updates were made when the query was on the wrong reference. So, it
is my hope that this will clear ambiguity on the nature of the queries
from here on.
There are also some TODOs that were addressed. 

It also partly implements what
https://github.com/llvm/llvm-project/pull/87723 is attempting to
accomplish. At least, on a point-to-point query between references, the
distinction is made. To apply it to TBAA, would be another PR.

Note that, the changes were minimal in the TBAA code to retain the
current results.


  Commit: cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
      https://github.com/llvm/llvm-project/commit/cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll

  Log Message:
  -----------
  PlaceSafepoints: Fix using default constructed TargetLibraryInfo (#92411)


  Commit: 309a881dccb82bf1f101cf138bee3e7400968ed8
      https://github.com/llvm/llvm-project/commit/309a881dccb82bf1f101cf138bee3e7400968ed8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py

  Log Message:
  -----------
  [VPlan] Address remaining comments for #85689.

Address comments missed when landing
https://github.com/llvm/llvm-project/pull/85689.


  Commit: 117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
      https://github.com/llvm/llvm-project/commit/117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll

  Log Message:
  -----------
  [DAG] SimplifyDemandedBits - use ComputeKnownBits instead of getValidShiftAmountConstant to check for constant shift amounts. (#92412)

This allows us to handle cases where the constant has already been type legalized behind a bitcast

Despite calling ComputeKnownBits I'm not seeing any notable change in compile time.


  Commit: 3abd3d6e597cba5161f37fa0478382fc93a8c9fd
      https://github.com/llvm/llvm-project/commit/3abd3d6e597cba5161f37fa0478382fc93a8c9fd
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/device.cpp

  Log Message:
  -----------
  [Libomptarget] Remove requires information from plugin (#80345)

Summary:
Currently this is only used for the zero-copy handling. However, this
can easily be moved into `libomptarget` so that we do not need to bother
setting the requires flags in the plugin. The advantage here is that we
no longer need to do this for every device redundently. Additionally,
these requires flags are specifically OpenMP related, so they should
live in `libomptarget`.


  Commit: b28766eb3f20354d1d7a34ea83b9d915c3715032
      https://github.com/llvm/llvm-project/commit/b28766eb3f20354d1d7a34ea83b9d915c3715032
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll

  Log Message:
  -----------
  [Arm64EC] Correctly handle sret in entry thunks. (#92326)

I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.

Fixes #90229


  Commit: b82fd5d75cff87f7480a24d4a16ea8400cc35c86
      https://github.com/llvm/llvm-project/commit/b82fd5d75cff87f7480a24d4a16ea8400cc35c86
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h

  Log Message:
  -----------
  [GlobalISel] Initialize variables in IndexedLoadStoreMatchInfo


  Commit: e8692b88bec1d43325804d75166d9483d6c17fc7
      https://github.com/llvm/llvm-project/commit/e8692b88bec1d43325804d75166d9483d6c17fc7
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Transforms/Internalize/lists.ll

  Log Message:
  -----------
  [NewPM] Add pass options for InternalizePass to preserve GVs (reland) (#92383)

Reland of https://github.com/llvm/llvm-project/pull/91334, which broke
the gcc7 buildbot and was reverted in
https://github.com/llvm/llvm-project/pull/92321.
Work around the failure by being explicit about returning an `Expected`.

cc @joker-eph


  Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
      https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/task_ast_print.cpp

  Log Message:
  -----------
  Avoid unevaluated implicit private (#92055)

For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.

---------

Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>


  Commit: 033fa81480a7e8d0a6cf2f72b52232275145d105
      https://github.com/llvm/llvm-project/commit/033fa81480a7e8d0a6cf2f72b52232275145d105
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc

  Log Message:
  -----------
  [Offload][NFC] Remove unused files following static plugins

Summary:
Forgot to remove these when I landed the initial patch, they are no
longer used.


  Commit: 224116ab9f4d97acb0cca76dc63c1d3d4a253078
      https://github.com/llvm/llvm-project/commit/224116ab9f4d97acb0cca76dc63c1d3d4a253078
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Revert "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)"

This reverts commit 17daa204feadf9c28fc13b7daa69c3cbe865b238.

Multiple examples on the PR
https://github.com/llvm/llvm-project/pull/87933

show regressions, so reverting until they can be fixed in the followup.


  Commit: bd6c358d01f6ebc3851996e2c29c47b08e992525
      https://github.com/llvm/llvm-project/commit/bd6c358d01f6ebc3851996e2c29c47b08e992525
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap] Update repository in package.json

Use https://github.com/llvm/vscode-lldb instead of the monorepo, for
consistency with the other two extensions (mlir, clangd).


  Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
      https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp

  Log Message:
  -----------
  [libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)

## Abstract

This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).

## Reference

- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)


  Commit: c7ae8c6639370ccbc583dca019bbb78761ce423d
      https://github.com/llvm/llvm-project/commit/c7ae8c6639370ccbc583dca019bbb78761ce423d
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py

  Log Message:
  -----------
  [lldb] Fixed the DAP tests in case of a remote target (#92416)

These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.


  Commit: 0dc80e4b2640f80a5b421e6e636d2a7243150917
      https://github.com/llvm/llvm-project/commit/0dc80e4b2640f80a5b421e6e636d2a7243150917
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [memprof] Group MemProf data structures into a struct (NFC) (#92360)

This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it.  This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.

As a follow-up, we can use the new struct in MemProfReader also.  That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.


  Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
      https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Separate user and developer documentation (#92428)

The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.

[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap


  Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
      https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC


  Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
      https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`

`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.

`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.

Proofs: https://alive2.llvm.org/ce/z/sc5k22

Closes #87180


  Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
      https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC


  Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
      https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll

  Log Message:
  -----------
  [InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`

This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.

Proofs: https://alive2.llvm.org/ce/z/35NsrR

NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.

Closes #87935


  Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
      https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp

  Log Message:
  -----------
  [Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)

When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);

template<auto N>
struct A;

template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.

This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.


  Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
      https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/tools/clang-fuzzer/dictionary/dictionary.c

  Log Message:
  -----------
  [clang-fuzzer-dictionary] Skip EmptySpellingName after #89358

The dictionary entry `=""` is invalid.


  Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
      https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible  constraint is evaluated to false. (#92389)

Fixes https://github.com/llvm/llvm-project/issues/92225


  Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
      https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
  Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp

  Log Message:
  -----------
  [clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)

Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:

`'auto' not allowed in lambda parameter before C++14`

This does not change the behavior for `decltype(auto)` and `__auto_type`
though.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
      https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [nfc] Clarify when the various PGO instrumentation passes run (#92330)

The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.


  Commit: b5f6cc9eb4f661816ef264ad41cb703004380636
      https://github.com/llvm/llvm-project/commit/b5f6cc9eb4f661816ef264ad41cb703004380636
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/unittests/Support/ErrorTest.cpp

  Log Message:
  -----------
  Unittest for Error forwarding, follow-up to PR #92208 (#92314)

Added a unittest demonstrating Error -> Expected<T> forwarding.


  Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
      https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp

  Log Message:
  -----------
  Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"

LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.

This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.


  Commit: f42f57b52dd279e6ae19270d063aeb8d59e3f11c
      https://github.com/llvm/llvm-project/commit/f42f57b52dd279e6ae19270d063aeb8d59e3f11c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)

Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.

This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.


  Commit: 9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
      https://github.com/llvm/llvm-project/commit/9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc][NFC] Replace address space with constant GPU utility

Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.


  Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
      https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc] Fix constant variable initializer


  Commit: 479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
      https://github.com/llvm/llvm-project/commit/479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp

  Log Message:
  -----------
  [memprof] Update comments for writeMemProf and its helpers (#92446)

This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner.  The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.

Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.


  Commit: f05c068429a86ef2187eae094354c73e8339baa2
      https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)

https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.


  Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
      https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)

Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.


  Commit: d311a62e2f1ae34a0329c3812f2969cedac93561
      https://github.com/llvm/llvm-project/commit/d311a62e2f1ae34a0329c3812f2969cedac93561
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp

  Log Message:
  -----------
  [ctx_profile] Decouple ctx  instrumentation from PGOOpt (#92445)

We currently don't support passing files and don't need frontend involvement either.


  Commit: 6d2219acabc1882508d695e23d444d3e1cae4ff3
      https://github.com/llvm/llvm-project/commit/6d2219acabc1882508d695e23d444d3e1cae4ff3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/src/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Pass '-Werror=global-constructors' to the libomptarget build (#88531)

Summary:
A runtime library should not have global constructors. Everything is now
expected to go through the init methods. This patch ensures that global
constructors will not accidentally be introduced.


  Commit: 47d80ec1802d70082c8fd32b4396c98db2c4dba2
      https://github.com/llvm/llvm-project/commit/47d80ec1802d70082c8fd32b4396c98db2c4dba2
  Author: Jacob Lalonde <jjjlalonde at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB/Coredump] Only take the Pthread from stack start to the stackpointer + red_zone (#92002)

Currently in Core dumps, the entire pthread is copied, including the
unused space beyond the stack pointer. This causes large amounts of core
dump inflation when the number of threads is high, but the stack usage
is low. Such as when an application is using a thread pool.

This change will optimize for these situations in addition to generally
improving the core dump performance for all of lldb.


  Commit: e5e562361555fc96c768b1dd3dd99f403f500838
      https://github.com/llvm/llvm-project/commit/e5e562361555fc96c768b1dd3dd99f403f500838
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port #91960 (#92458)


  Commit: 997eae3673dcd635b60ac63031f01f5dded92f32
      https://github.com/llvm/llvm-project/commit/997eae3673dcd635b60ac63031f01f5dded92f32
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/X86/big-array-init.ll

  Log Message:
  -----------
  [AsmPrinter] Increase upper bound for size in global structs

This is part of the fixes to address #57353

https://reviews.llvm.org/D133845

Pull Request: https://github.com/llvm/llvm-project/pull/92334


  Commit: c86a53d75995d65601d5745b2fceb2d50a970645
      https://github.com/llvm/llvm-project/commit/c86a53d75995d65601d5745b2fceb2d50a970645
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] Implement provisional wording for CWG2398 regarding packs (#90820)

This solves some ambuguity introduced in P0522 regarding how
template template parameters are partially ordered, and should reduce
the negative impact of enabling `-frelaxed-template-template-args`
by default.

When performing template argument deduction, a template template
parameter
containing no packs should be more specialized than one that does.

Given the following example:
```C++
template<class T2> struct A;
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>>; // #1
template<template<class    T5 > class TT2, class T6> struct A<TT2<T6>>; // #2

template<class T1> struct B;
template struct A<B<char>>;
```

Prior to P0522, candidate `#2` would be more specialized.
After P0522, neither is more specialized, so this becomes ambiguous.
With this change, `#2` becomes more specialized again,
maintaining compatibility with pre-P0522 implementations.

The problem is that in P0522, candidates are at least as specialized
when matching packs to fixed-size lists both ways, whereas before,
a fixed-size list is more specialized.

This patch keeps the original behavior when checking template arguments
outside deduction, but restores this aspect of pre-P0522 matching
during deduction.

---

Since this changes provisional implementation of CWG2398 which has
not been released yet, and already contains a changelog entry,
we don't provide a changelog entry here.


  Commit: c79690040acf5bb3d857558b0878db47f7f23dc3
      https://github.com/llvm/llvm-project/commit/c79690040acf5bb3d857558b0878db47f7f23dc3
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    A llvm/test/Transforms/GlobalOpt/alias-weak.ll

  Log Message:
  -----------
  [GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)

Fixes #91312.

Don't perform the transform if the alias may be replaced at link time.


  Commit: e578314c049bb9ae6dc3983db5cf27513e29517b
      https://github.com/llvm/llvm-project/commit/e578314c049bb9ae6dc3983db5cf27513e29517b
  Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/IR/CommonAttrConstraints.td

  Log Message:
  -----------
  [MLIR Attr] add ArrayMaxCount attribute constraint (#92453)

this is the dual of ArrayMinCount. I saw that I needed it but it didn't
exist yet


  Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
      https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)

Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.

** x86_64 **

```
ud1l   0x19(%eax), %eax
```

** arm64 **

```
brk    #0x5519
```

To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.

`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.

rdar://126884014

Co-authored-by: Dan Liew <dan at su-root.co.uk>


  Commit: d6f9278ae9e587d2d23a9940a2364aaafba74735
      https://github.com/llvm/llvm-project/commit/d6f9278ae9e587d2d23a9940a2364aaafba74735
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
    M llvm/test/CodeGen/X86/atomic-non-integer.ll
    A llvm/test/CodeGen/X86/atomic-unaligned.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/atomic128.ll
    M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll

  Log Message:
  -----------
  [X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (#74275)

In late 2021, both Intel and AMD finally documented that every
AVX-capable CPU has always been guaranteed to execute aligned 16-byte
loads/stores atomically, and further, guaranteed that all future CPUs
with AVX will do so as well.

Therefore, we may use normal SSE 128-bit load/store instructions to
implement atomics, if AVX is enabled.

Per AMD64 Architecture Programmer's manual, 7.3.2 Access Atomicity:

> Processors that report [AVX] extend the atomicity for cacheable,
> naturally-aligned single loads or stores from a quadword to a double
> quadword.

Per Intel's SDM:

> Processors that enumerate support for Intel(R) AVX guarantee that the
> 16-byte memory operations performed by the following instructions will
> always be carried out atomically:
> - MOVAPD, MOVAPS, and MOVDQA.
> - VMOVAPD, VMOVAPS, and VMOVDQA when encoded with VEX.128.
> - VMOVAPD, VMOVAPS, VMOVDQA32, and VMOVDQA64 when encoded with
>   EVEX.128 and k0 (masking disabled).

This was also confirmed to be true for Zhaoxin CPUs with AVX, in
https://gcc.gnu.org/PR104688


  Commit: f88760f3118a106be847a8d5296931a8e44c72f8
      https://github.com/llvm/llvm-project/commit/f88760f3118a106be847a8d5296931a8e44c72f8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h

  Log Message:
  -----------
  [TableGen] Remove unnecessary StringRef constructor call from LessRecord(). NFC

Record::getName already returns a StringRef. When this code was
originally written getName returned const std::string &.


  Commit: 2a4ee605b03bc69c296d0388239d9c837e787995
      https://github.com/llvm/llvm-project/commit/2a4ee605b03bc69c296d0388239d9c837e787995
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/TableGen/Record.cpp

  Log Message:
  -----------
  [TableGen] Use LessRecord() for the sort in getAllDerivedDefinitions instead of re-implementing it. NFC


  Commit: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
      https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] constrain `SemaCXX/cxx20-ctad-type-alias.cpp` target triple

The test expectations are otherwise affected by the underlying type of size_t.


  Commit: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
      https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] NFC: stray space cleanup


  Commit: fa9b1be45088dce1e4b602d451f118128b94237b
      https://github.com/llvm/llvm-project/commit/fa9b1be45088dce1e4b602d451f118128b94237b
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    A llvm/test/ThinLTO/X86/ref-ifunc.ll

  Log Message:
  -----------
  [ThinLTO]Mark referencers of local ifunc not eligible for import (#92431)

If an ifunc has local linkage, do not add it into ref edges and mark its
referencer (a function or global variable) not eligible for import. An
ifunc doesn't have summary and ThinLTO cannot promote it. Importing the
referencer may cause linkage errors.

To reference a similar fix, https://reviews.llvm.org/D158961 marks
callers of local ifunc not eligible for import to fix
https://github.com/llvm/llvm-project/issues/58740


  Commit: 96d2db4ba9016b4512e7cd27d7dfda209d07ce62
      https://github.com/llvm/llvm-project/commit/96d2db4ba9016b4512e7cd27d7dfda209d07ce62
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/libcall-extend.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit test for lib call auguments extension

Reviewed By: SixWeining

Pull Request: https://github.com/llvm/llvm-project/pull/92374


  Commit: b5a9aa86248dfc840c47fd51779abf074fa2680a
      https://github.com/llvm/llvm-project/commit/b5a9aa86248dfc840c47fd51779abf074fa2680a
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-default-init-json.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp
    M clang/test/CXX/drs/cwg16xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/special/class.temporary/p6.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
    A clang/test/Driver/flang/msvc-link.f90
    M clang/test/OpenMP/task_ast_print.cpp
    M clang/test/SemaCXX/auto-cxx0x.cpp
    M clang/test/SemaCXX/constexpr-default-arg.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/eval-crashes.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/tools/clang-fuzzer/dictionary/dictionary.c
    A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
    M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
    A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
    M flang/test/Fir/omp-reduction-embox-codegen.fir
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M lldb/docs/index.rst
    A lldb/docs/resources/lldbdap.md
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
    M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package.json
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/VectorizationPlan.rst
    M llvm/docs/conf.py
    A llvm/docs/vplan-scope.png
    A llvm/docs/vplan-transform-pipeline.png
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ScheduleZnver3.td
    M llvm/lib/Target/X86/X86ScheduleZnver4.td
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
    M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
    M llvm/test/Bindings/llvm-c/debug_info.ll
    A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
    M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
    M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
    M llvm/test/CodeGen/PowerPC/pr44183.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
    M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
    M llvm/test/CodeGen/X86/atomic-non-integer.ll
    A llvm/test/CodeGen/X86/atomic-unaligned.ll
    M llvm/test/CodeGen/X86/atomic-unordered.ll
    M llvm/test/CodeGen/X86/atomic128.ll
    A llvm/test/CodeGen/X86/big-array-init.ll
    M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
    M llvm/test/CodeGen/X86/rot32.ll
    M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
    A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    A llvm/test/ThinLTO/X86/ref-ifunc.ll
    A llvm/test/Transforms/GlobalOpt/alias-weak.ll
    M llvm/test/Transforms/InstCombine/icmp-trunc.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/Internalize/lists.ll
    M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
    M llvm/test/Transforms/PlaceSafepoints/libcall.ll
    A llvm/test/Transforms/Reg2Mem/callbr-crash.ll
    M llvm/tools/llvm-c-test/debuginfo.c
    M llvm/tools/llvm-c-test/main.c
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/Support/ErrorTest.cpp
    M llvm/utils/TableGen/Common/CMakeLists.txt
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
    M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
    R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
    M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/IR/CommonAttrConstraints.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    M offload/CMakeLists.txt
    R offload/include/Shared/PluginAPI.h
    R offload/include/Shared/PluginAPI.inc
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/CMakeLists.txt
    M offload/src/device.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.5-bogner

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/5bd2366ea0fc...b5a9aa86248d

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list