[all-commits] [llvm/llvm-project] c8864b: [BOLT] Fix race condition in a test (#91866)

Pengcheng Wang via All-commits all-commits at lists.llvm.org
Tue May 21 21:00:08 PDT 2024


  Branch: refs/heads/users/wangpc-pp/spr/aarch64-remove-usage-of-postrascheduler
  Home:   https://github.com/llvm/llvm-project
  Commit: c8864bceeb20582b4e7a739d8ba3e11052f0e49f
      https://github.com/llvm/llvm-project/commit/c8864bceeb20582b4e7a739d8ba3e11052f0e49f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-05-11 (Sat, 11 May 2024)

  Changed paths:
    M bolt/test/runtime/bolt-reserved.cpp

  Log Message:
  -----------
  [BOLT] Fix race condition in a test (#91866)

Fix race condition in internal NFC test.


  Commit: 1d6bf0ca29322b08e8b50681d440e7182441b025
      https://github.com/llvm/llvm-project/commit/1d6bf0ca29322b08e8b50681d440e7182441b025
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp

  Log Message:
  -----------
  [clang][NFC] Remove class layout scissor (#89055)

PR #87090 amended `accumulateBitfields` to do the correct clipping. The scissor is no longer necessary and  `checkBitfieldClipping` can compute its location directly when needed.


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h

  Log Message:
  -----------
  [CostModel][X86] Remove getGSScalarCost and use getCommonMaskedMemoryOpCost directly

The generic getCommonMaskedMemoryOpCost now gives the same cost estimates for scalarized gather/scatter.


  Commit: 502e77df1fc4aa859db6709e14e93af6207e4dc4
      https://github.com/llvm/llvm-project/commit/502e77df1fc4aa859db6709e14e93af6207e4dc4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp

  Log Message:
  -----------
  [CostModel][X86] getGSVectorCost - remove FIXME

getGSVectorCost has supported other TargetCostKind since a55127281b2ed5f24f848b9e5c70870ad170bc3f


  Commit: 78b3a00418ce6da0426a261a64a77608d0264fe5
      https://github.com/llvm/llvm-project/commit/78b3a00418ce6da0426a261a64a77608d0264fe5
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp

  Log Message:
  -----------
  [mlir] `int-range-optmizations`: Fix referencing of deleted ops (#91807)

The pass runs a `DataFlowSolver` and collects state information on the
input IR. Then, the rewrite driver and folding is applied. During
pattern application and folding it can happen that an Op from the input
IR is deleted and a new Op is created at the same address. When the
newly created Ops is looked up in the `DataFlowSolver` state memory, the
state of the original Op is returned.

This patch adds a method to `DataFlowSolver` which removes all state
related to a `ProgramPoint`. It also adds a listener to the Pass which
clears the state information of deleted Ops from the `DataFlowSolver`.

Fix https://github.com/llvm/llvm-project/issues/81228


  Commit: 17daa204feadf9c28fc13b7daa69c3cbe865b238
      https://github.com/llvm/llvm-project/commit/17daa204feadf9c28fc13b7daa69c3cbe865b238
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-13 (Mon, 13 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:
  -----------
  [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)

This PR complete [DR1815](https://wg21.link/CWG1815) under the guidance
of `FIXME` comments. And reuse `CXXDefaultInitExpr` rewrite machinery to
clone the initializer expression on each use that would lifetime extend
its temporaries.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
      https://github.com/llvm/llvm-project/commit/b7ed097f29d712b1cc839e15ab68d2c8a2ce07cc
  Author: David Green <david.green at arm.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Add intrinsics handling to shuffleToIdentity (#91000)

This is probably the most involved addition, as it tries to make use of
isTriviallyVectorizable with isVectorIntrinsicWithScalarOpAtArg to handle a
number of different intrinsics that are all lane-wise. Additional tests have
been added for some of the different intrinsics from
isVectorIntrinsicWithScalarOpAtArg / isVectorIntrinsicWithOverloadTypeAtArg.


  Commit: b5af667b01458e9083256f2614df175916c73e5a
      https://github.com/llvm/llvm-project/commit/b5af667b01458e9083256f2614df175916c73e5a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Map branch source address to the containing basic block in BAT YAML

Fix an issue where the profile for all branches that have a BRANCHENTRY
is dropped. If the branch has an entry in BAT, it will be translated to
its input offset. We used to only permit the basic block offset as a
branch source. Perform a lookup of containing basic block instead.

Test Plan: Updated bolt-address-translation-yaml.test

Reviewers: maksfb, dcci, rafaelauler, ayermolo

Reviewed By: maksfb

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


  Commit: 5bde8017a1109128d011510dcf4ba79140a224fe
      https://github.com/llvm/llvm-project/commit/5bde8017a1109128d011510dcf4ba79140a224fe
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGen/vectorcall.c

  Log Message:
  -----------
  [X86][vectorcall] Pass built types byval when xmm0~6 exhausted (#91846)

This is how MSVC handles it. https://godbolt.org/z/fG386bjnf


  Commit: 626025ac7796b70cde9fc0fd4f688c3441949d04
      https://github.com/llvm/llvm-project/commit/626025ac7796b70cde9fc0fd4f688c3441949d04
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  Revert "[clang-format] Fix buildbot failures"

This reverts commit 0869204cff22831d0bb19a82c99bf85e4deb4ae3, which caused a
buildbot failure:
https://lab.llvm.org/buildbot/#/builders/5/builds/43322


  Commit: ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
      https://github.com/llvm/llvm-project/commit/ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll

  Log Message:
  -----------
  [RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)

This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same


  Commit: de641e289269061f8bdb138bb5c50e27ef4b354f
      https://github.com/llvm/llvm-project/commit/de641e289269061f8bdb138bb5c50e27ef4b354f
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Fix buildbot failures

Fix the following buildbot failures by making LangOpts in the unit test
static:
https://lab.llvm.org/buildbot/#/builders/236/builds/11223
https://lab.llvm.org/buildbot/#/builders/239/builds/6968


  Commit: abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
      https://github.com/llvm/llvm-project/commit/abe3c5ac19e455d8a6df3120fa5e7a6e5f9005a6
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    M llvm/test/Transforms/GVNSink/int_sideeffect.ll

  Log Message:
  -----------
  [GVNSink] Fix non-determinisms by using a deterministic ordering (#90995)

GVNSink used to order instructions based on their pointer values and was
prone to non-determinism because of that.
This patch ensures all the values stored are using a deterministic
order. I have also added a verfier(`ModelledPHI::verifyModelledPHI`) to
assert when ordering isn't preserved.

Additionally, I have added a test case (mirror graph image of an
existing test) that would have failed before this patch.

Fixes: #77852


  Commit: d67c3a4b1f465da681b829fda54619ff0b5bd1b5
      https://github.com/llvm/llvm-project/commit/d67c3a4b1f465da681b829fda54619ff0b5bd1b5
  Author: ShihPo Hung <shihpo.hung at sifive.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll

  Log Message:
  -----------
  Revert "[RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)"

This reverts commit ed16e7aac44f2024b45d8c6c9dc2817d77d0ea97.


  Commit: 22213d58832e8fce344a7222ed705e4c7f4eb6b1
      https://github.com/llvm/llvm-project/commit/22213d58832e8fce344a7222ed705e4c7f4eb6b1
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll

  Log Message:
  -----------
  Recommit [RISCV][TTI] Support fdiv/udiv/sdiv/srem/urem in getArithmeticInstrCost (#89170)

Insert a break to fix the implicit-fallthrough caught by sanitizer.

Original commit message:

This patch made following changes:
1. Support ISD FDIV/UDIV/SDIV/UREM/SREM
2. Classify instructions which cost the same


  Commit: b1f04d57f5818914d7db506985e2932f217844bd
      https://github.com/llvm/llvm-project/commit/b1f04d57f5818914d7db506985e2932f217844bd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M lld/test/ELF/aarch64-thunk-reuse2.s
    M lld/test/ELF/linkerscript/orphan-phdrs2.test
    M lld/test/ELF/mips-got-page-script.s
    M lld/test/ELF/ttext-tdata-tbss.s

  Log Message:
  -----------
  [ELF,test] Fix typo in check prefixes


  Commit: cb4fca929bd10a5c160a0f9bd58f2d7499669a89
      https://github.com/llvm/llvm-project/commit/cb4fca929bd10a5c160a0f9bd58f2d7499669a89
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll

  Log Message:
  -----------
  [AMDGPU] Extend llvm.amdgcn.update.dpp intrinsic to support f64 (#91190)

Follow up patch to https://github.com/llvm/llvm-project/pull/89217,
before we make changes to atomic optimizer.


  Commit: 2163ae761808ca0e5478357384f6ddbacce279eb
      https://github.com/llvm/llvm-project/commit/2163ae761808ca0e5478357384f6ddbacce279eb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVStringPool.h

  Log Message:
  -----------
  [LVStringPool] Remove incorrect std::move (NFCI)

"Value" is still used afterwards in the return value. In this case,
this doesn't actually make a difference because a move for a
primitive type is the same as a copy, so there is no actual
misbehavior. Still drop the std::move to make the code less
confusing.


  Commit: eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
      https://github.com/llvm/llvm-project/commit/eeafc9daa15d2d022bcdd456d4b8bafd23f5f121
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/include/mlir/Transforms/Mem2Reg.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    A mlir/test/Transforms/mem2reg.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [MLIR][Mem2Reg] Fix multi slot handling & move retry handling (#91464)

This commit fixes Mem2Regs mutli-slot allocator handling and extends the
test dialect to test this.

Additionally, this modifies Mem2Reg's API to always attempt a full
promotion on all the passed in "allocators". This ensures that the pass
does not require unnecessary walks over the regions and improves caching
benefits.


  Commit: 662267daea7e76ee3cee90c63ab2bc2964b77b76
      https://github.com/llvm/llvm-project/commit/662267daea7e76ee3cee90c63ab2bc2964b77b76
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    A llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll

  Log Message:
  -----------
  [PPC] add testcase, nfc


  Commit: e6785fd75284f53b9e23db6f249598e09f3fc39f
      https://github.com/llvm/llvm-project/commit/e6785fd75284f53b9e23db6f249598e09f3fc39f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp

  Log Message:
  -----------
  [Scalar] Fix a warning

This patch fixes:

  llvm/lib/Transforms/Scalar/GVNSink.cpp:270:33: error: lambda capture
  'this' is not used [-Werror,-Wunused-lambda-capture]

While I am at it, this patch replaces llvm::for_each with a
range-based for loop.


  Commit: e74a34b6932965dfdc182b69f779e5bee551585a
      https://github.com/llvm/llvm-project/commit/e74a34b6932965dfdc182b69f779e5bee551585a
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Merge IdentID with IdentifierID

In ASTBitCodes.h, there are two type alias for the ID type of
Identifiers with the same underlying type. It is confusing. This patch
tries to merge the `IdentID` to `IdentifierID` to erase such confusion.


  Commit: f841ca0c355ae53c96f615996d0aff4648da8618
      https://github.com/llvm/llvm-project/commit/f841ca0c355ae53c96f615996d0aff4648da8618
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M lld/COFF/DebugTypes.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/Driver.cpp
    M lld/wasm/InputChunks.cpp

  Log Message:
  -----------
  Use StringRef::operator== instead of StringRef::equals (NFC) (#91864)

I'm planning to remove StringRef::equals in favor of
StringRef::operator==.

- StringRef::operator==/!= outnumber StringRef::equals by a factor of
  276 under llvm-project/ in terms of their usage.

- The elimination of StringRef::equals brings StringRef closer to
  std::string_view, which has operator== but not equals.

- S == "foo" is more readable than S.equals("foo"), especially for
  !Long.Expression.equals("str") vs Long.Expression != "str".


  Commit: 1fadb2b0c881ced247931f442fdee6c4ed96dccb
      https://github.com/llvm/llvm-project/commit/1fadb2b0c881ced247931f442fdee6c4ed96dccb
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-12 (Sun, 12 May 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  Revert "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"

This reverts commits e62ce1f8842c, 5cd280433e8e, and de641e289269 due to
buildbot failures.


  Commit: b5f4210e9f51f938ae517f219f04f9ab431a2684
      https://github.com/llvm/llvm-project/commit/b5f4210e9f51f938ae517f219f04f9ab431a2684
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/bit_ceil.ll

  Log Message:
  -----------
  [InstCombine] Drop nuw flag when CtlzOp is a sub nuw (#91776)

See the following case:
```
define i32 @src1(i32 %x) {
  %dec = sub nuw i32 -2, %x
  %ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
  %sub = sub nsw i32 32, %ctlz
  %shl = shl i32 1, %sub
  %ugt = icmp ult i32 %x, -2
  %sel = select i1 %ugt, i32 %shl, i32 1
  ret i32 %sel
}

define i32 @tgt1(i32 %x) {
  %dec = sub nuw i32 -2, %x
  %ctlz = tail call i32 @llvm.ctlz.i32(i32 %dec, i1 false)
  %sub = sub nsw i32 32, %ctlz
  %and = and i32 %sub, 31
  %shl = shl nuw i32 1, %and
  ret i32 %shl
}
```
`nuw` in `%dec` should be dropped after the select instruction is
eliminated.

Alive2: https://alive2.llvm.org/ce/z/7S9529

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


  Commit: fd4efecac21d92428d2f804f43e85bdfa460bdd5
      https://github.com/llvm/llvm-project/commit/fd4efecac21d92428d2f804f43e85bdfa460bdd5
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/test/CAPI/transform_interpreter.c

  Log Message:
  -----------
  [mlir] Fix warning due to non ISO standard __FUNCTION__ usage (#91851)

This PR fixes the warning message due to the non ISO standard usage of
`__FUNCTION__`

```
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c: In function ‘testApplyNamedSequence’:
/home/lewuathe/llvm-project/mlir/test/CAPI/transform_interpreter.c:21:27: warning: ISO C does not support ‘__FUNCTION__’ predefined identifier [-Wpedantic]
   21 |   fprintf(stderr, "%s\n", __FUNCTION__);
      |  
```

As `__FUNCTION__` is another name of `__func__` and it conforms to the
specification. We should be able to use `__func__` here.

Ref:
https://stackoverflow.com/questions/52962812/how-to-silence-gcc-pedantic-wpedantic-warning-regarding-function


Compiler

```
Ubuntu clang version 18.1.3 (1)
Target: x86_64-pc-linux-gnu
```


  Commit: 5082feabd155a59d7ae0249713def100516b839d
      https://github.com/llvm/llvm-project/commit/5082feabd155a59d7ae0249713def100516b839d
  Author: Alcaro <floating at muncher.se>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/docs/Block-ABI-Apple.rst

  Log Message:
  -----------
  [Documentation][Blocks ABI] Fix typoed integer (#65688)

Fix an integer value in the prose to match the rest of the content.


  Commit: 5ca368501ae81ca364f66ee6053aa4f8104fdbdd
      https://github.com/llvm/llvm-project/commit/5ca368501ae81ca364f66ee6053aa4f8104fdbdd
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Update BUILD file for 1337622a492f4e77604b09ac8ff97042e46d8d42


  Commit: baa5beecc04aef9da258e31e4a9de1a27051ee5a
      https://github.com/llvm/llvm-project/commit/baa5beecc04aef9da258e31e4a9de1a27051ee5a
  Author: tyb0807 <sontuan.vu119 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/DialectNVGPU.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/nvgpu.py
    M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [NFC] Make NVGPU casing consistent (#91903)


  Commit: 0bacffbbfc081b4147ac935512e2c5da9e3c06f0
      https://github.com/llvm/llvm-project/commit/0bacffbbfc081b4147ac935512e2c5da9e3c06f0
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp
    A mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Update tests/patterns for vector.transpose (#91359)

Pretty much all logic that we have today for lowering vector.transpose
assumes fixed length vectors (it's done via vector.shuffle that don't
support scalable vectors). This patch updates related tests and patterns
to capture and document this limitation more explicitly.

Note that `vector.transpose` is a valid operation in the context of
scalable vectors, but we are yet to implement the missing lowerings.

Summary of changes:
* `@transpose_nx8x2xf32` is renamed as `@transpose_scalabl`e
  and moved near other tests using `lowering_strategy = "shuffle_1d"
  (to avoid duplicating TD sequences)
* tests specific to X86  (`avx2_lowering_strategy = true`) are moved to
  a dedicated file (to separate generic tests from target-specific
  tests)
* `@transpose10_nx4xnx1xf32` duplicated `@transpose10_4xnx1xf32` and was
  deleted (the latter is renamed as `@transpose10_4x1xf32_scalable` to
  match its fixed-width counterpart: `@transpose10_4x1xf32`)


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

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: fix the transformation for the require-clause expr (#90961)

In the clang AST, constraint nodes are deliberately not instantiated
unless they are actively being evaluated. Consequently, occurrences of
template parameters in the require-clause expression have a subtle
"depth" difference compared to normal occurrences in places, such as
function parameters. When transforming the require-clause, we must take
this distinction into account.

The existing implementation overlooks this consideration. This patch is
to rewrite the implementation of the require-clause transformation to
address this issue.

Fixes #90177


  Commit: 109ede496ecf6de5dabace08d73ec7604b343a6b
      https://github.com/llvm/llvm-project/commit/109ede496ecf6de5dabace08d73ec7604b343a6b
  Author: David Green <david.green at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
    M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
    M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
    M llvm/test/CodeGen/AArch64/vector-llrint.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll

  Log Message:
  -----------
  [AArch64] Extend v2i64 fptosi.sat to v2f64 (#91714)

This helps it produce a single instruction for the saturate, as opposed
to having to scalarize.


  Commit: ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
      https://github.com/llvm/llvm-project/commit/ae2a18d6cbc3328410bdb7e629fdc59766b73e4b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Adjust BUILD.bazel for eeafc9daa15d2d022bcdd456d4b8bafd23f5f121


  Commit: 279a659e9772e48d95ad7d81f6deb00ee31e35e1
      https://github.com/llvm/llvm-project/commit/279a659e9772e48d95ad7d81f6deb00ee31e35e1
  Author: Corentin Ferry <corentin.ferry at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
    M mlir/test/Dialect/Math/expand-math.mlir
    M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir][math] lower rsqrt to sqrt + fdiv (#91344)

This commit creates an expansion pattern to lower math.rsqrt(x) into
fdiv(1, sqrt(x)).


  Commit: d4f5cf267936a082196b0c22fe45c730b24b9fe0
      https://github.com/llvm/llvm-project/commit/d4f5cf267936a082196b0c22fe45c730b24b9fe0
  Author: Azmat Yusuf <azmatyusuf2022 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp

  Log Message:
  -----------
  [Clang] Added check for unexpanded pack in attribute [[assume]] (#91893)

Added a check for unexpanded parameter pack in attribute [[assume]].
Tested it with expected-error statements from clang fronted. 

This fixes #91232.


  Commit: 220756f1f92b335cbafdff67c570d096a6925d87
      https://github.com/llvm/llvm-project/commit/220756f1f92b335cbafdff67c570d096a6925d87
  Author: David Green <david.green at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/Transforms/Inline/AArch64/binop.ll

  Log Message:
  -----------
  [AArch64][Inline] Regenerate Inline/AArch64/binop.ll test check lines. NFC

Should hopefully help with #91854


  Commit: 0fb7546c587198df11714cfc433d4c5552af0888
      https://github.com/llvm/llvm-project/commit/0fb7546c587198df11714cfc433d4c5552af0888
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/icmp.ll

  Log Message:
  -----------
  [AArch64][NFC] Pre-commit Test for Select G_ICMP instruction through TableGen (#89932)


  Commit: c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
      https://github.com/llvm/llvm-project/commit/c6c7afd21edd0d16ebda916ea4939949e4e0fa8e
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir

  Log Message:
  -----------
  [mlir][math] fix rsqrt test to not check sign of NaN

Hotfix for "[mlir][math] lower rsqrt to sqrt + fdiv (#91344)"


  Commit: 61d4ca872215d3dfff0b3c92151dcbdc546a0aab
      https://github.com/llvm/llvm-project/commit/61d4ca872215d3dfff0b3c92151dcbdc546a0aab
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Distinguish between record kind for display and for RTTI (#91466)

rdar://127732562


  Commit: 119aecb955df91173d69c455bba0abd74271c215
      https://github.com/llvm/llvm-project/commit/119aecb955df91173d69c455bba0abd74271c215
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
    M llvm/test/DebugInfo/ARM/bitfield.ll
    M llvm/test/DebugInfo/NVPTX/packed_bitfields.ll
    M llvm/test/DebugInfo/X86/packed_bitfields.ll

  Log Message:
  -----------
  [DebugInfo] Emit negative DW_AT_bit_offset in explicit signed form (#87994)

Before this patch, the value of DW_AT_bit_offset, used for bitfields
before DWARF version 4, was always emitted as an unsigned integer using
the form DW_FORM_data<n>. If the value was originally a signed integer,
for instance in the case of negative offsets, it was up to debug
information consumers to re-cast it to a signed integer.

This is problematic since the burden of deciding if the value should be
read as signed or unsigned was put onto the debug info consumers: the
DWARF specification doesn't define DW_AT_bit_offset's underlying type.
If a debugger decided to interpret this attribute in the form data<n> as
unsigned, then negative offsets would be completely broken.

The DWARF specification version 3 mentions in the Data Representation
section, page 127:

> If one of the DW_FORM_data<n> forms is used to represent a signed or
unsigned integer, it can be hard for a consumer to discover the context
necessary to determine which interpretation is intended. Producers are
therefore strongly encouraged to use DW_FORM_sdata or DW_FORM_udata for
signed and unsigned integers respectively, rather than DW_FORM_data<n>.

Therefore, the proposal is to use DW_FORM_sdata, which is explicitly
signed. This is an indication to consumers that the offset must be
parsed unambiguously as a signed integer.

Finally, gcc already uses DW_FORM_sdata for negative offsets, fixing the
potential ambiguity altogether.

This patch mimics gcc's behaviour by emitting negative values of
DW_AT_bit_offset using the DW_FORM_sdata form. This eliminates any
potential misinterpretation.

One could argue that all values should use DW_FORM_sdata, but for the
sake of parity with gcc, it is safe to restrict the change to negative
values.


  Commit: 3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
      https://github.com/llvm/llvm-project/commit/3438d8ac1ba58d098ff8d25a814b2c8c22d5844b
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp

  Log Message:
  -----------
  [libcxx] [test] Fix the locale ctype widen tests on AIX (#91744)

The C locale on AIX uses `ISO-8859-1`, where `0xFB` is a valid
character. Widening char(-5) succeeds and produces L'\u00fb' the same as
on macOS, FreeBSD, and Windows. This patch removes `XFAIL:
LIBCXX-AIX-FIXME` and uses the macOS, FreeBSD, and WIN32 code path for
AIX.


  Commit: 7eeccc1430eeaa434724522945245ba21c97ac57
      https://github.com/llvm/llvm-project/commit/7eeccc1430eeaa434724522945245ba21c97ac57
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Fix numpunct grouping tests on AIX (#91781)

The `grouping` string for locale `en_US.UTF-8` and `fr_FR.UTF-8` on AIX
is `3`. This is different from Linux's `3;3` but is the same as Windows.
This patch removes `XFAIL: LIBCXX-AIX-FIXME` and changes to use the
`WIN32` code path.


  Commit: fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
      https://github.com/llvm/llvm-project/commit/fbb37e960616efcf7cd5c1ebbe95f75c65d565dc
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
    A llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
    A llvm/test/CodeGen/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [AArch64] Add an all-in-one histogram intrinsic

Based on discussion from
https://discourse.llvm.org/t/rfc-vectorization-support-for-histogram-count-operations/74788

Current interface is:

llvm.experimental.histogram(<vecty> ptrs, <intty> inc_amount, <vecty> mask)

The integer type used by 'inc_amount' needs to match the type of the buckets in memory.

The intrinsic covers the following operations:
  * Gather load
  * histogram on the elements of 'ptrs'
  * multiply the histogram results by 'inc_amount'
  * add the result of the multiply to the values loaded by the gather
  * scatter store the results of the add

Supports lowering to histcnt instructions for AArch64 targets, and scalarization for all others at present.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix -Wunused-variable in AArch64ISelLowering.cpp (NFC)

llvm-project/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:27379:19:
error: unused variable 'CID' [-Werror,-Wunused-variable]
  ConstantSDNode *CID = cast<ConstantSDNode>(IntID.getNode());
                  ^
1 error generated.


  Commit: 0a6103eaeb7f22c009f9add87c84780b6f7f293a
      https://github.com/llvm/llvm-project/commit/0a6103eaeb7f22c009f9add87c84780b6f7f293a
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test

  Log Message:
  -----------
  Revert "[lldb] Attempt to fix signal-in-leaf-function-aarch64 on darwin"

This reverts commit b903badd73a2467fdd4e363231f2bf9b0704b546.

TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
see lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261


  Commit: 4b44502ac81259630b422e791a82e0252e6478c3
      https://github.com/llvm/llvm-project/commit/4b44502ac81259630b422e791a82e0252e6478c3
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    R lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    R lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp

  Log Message:
  -----------
  Revert "[lldb/aarch64] Fix unwinding when signal interrupts a leaf function (#91321)"

This reverts commit fd1bd53ba5a06f344698a55578f6a5d79c457e30.

TestInterruptBacktrace was broken on AArch64/Windows as a result of this change.
See lldb-aarch64-windows buildbot here:
https://lab.llvm.org/buildbot/#/builders/219/builds/11261


  Commit: 99934daa9b795278b8cc168fad430e09473b4992
      https://github.com/llvm/llvm-project/commit/99934daa9b795278b8cc168fad430e09473b4992
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/unittests/ADT/APIntTest.cpp

  Log Message:
  -----------
  [ADT] Introduce `APInt::clearHighBits` (#91938)

This patch addresses
https://github.com/llvm/llvm-project/pull/90034#discussion_r1579235844.


  Commit: efe91cf78bccda90637c817e3e592b5f34e891d0
      https://github.com/llvm/llvm-project/commit/efe91cf78bccda90637c817e3e592b5f34e891d0
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/test/Analysis/gh-issue-89185.c

  Log Message:
  -----------
  [clang][analyzer] Check for label location bindings in `DereferenceChecker` (#91119)

Resolves #89264

Values should not be stored in addresses of labels, this throws a fatal
error when this happens.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 345f57df16af7e4fac3a321035e504b5d49206f4
      https://github.com/llvm/llvm-project/commit/345f57df16af7e4fac3a321035e504b5d49206f4
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Overflow flags propagation in arith canonicalizations. (#91646)


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
    M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll

  Log Message:
  -----------
  InstCombine: Preserve inbounds in PointerReplacer (#91735)

This avoids spurious test changes in a future commit.


  Commit: 91d7ca904c601d181c431bffbf2773165de2fabd
      https://github.com/llvm/llvm-project/commit/91d7ca904c601d181c431bffbf2773165de2fabd
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    A llvm/test/DebugInfo/assignment-tracking/X86/hotcoldsplit.ll

  Log Message:
  -----------
  [DebugInfo] Remap extracted DIAssignIDs in hotcoldsplit (#91940)

Fix #91814

When instructions are extracted into a new function the `DIAssignID` metadata
uses and attachments need to be remapped so that the stores and assignment
markers don't link to stores and assignment markers in the original function.

This matches existing inlining behaviour for DIAssignIDs.


  Commit: 32939a16bcb084c2572f201ee42613413784cf7e
      https://github.com/llvm/llvm-project/commit/32939a16bcb084c2572f201ee42613413784cf7e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M offload/src/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove unused compiler definition from CMake


  Commit: bc17361c2baa0351f7f19b716fbe76bc9f99e903
      https://github.com/llvm/llvm-project/commit/bc17361c2baa0351f7f19b716fbe76bc9f99e903
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test

  Log Message:
  -----------
  [lldb][DWARF] Fix delayed-definition-die-searching.test for Windows

This is follow up fix on top of 9a7262c2601874e5aa64c5db19746770212d4b44

This fixes delayed-definition-die-searching.test to use -gdwarf. This is
required to explicitly select DWARF instead of PDB on windows.

Fixe LLDB build lldb-aarch64-windows:
https://lab.llvm.org/buildbot/#/builders/219/builds/11303


  Commit: 710d95d1ecb4b6d69507cb910274ef3077ddc9c9
      https://github.com/llvm/llvm-project/commit/710d95d1ecb4b6d69507cb910274ef3077ddc9c9
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/test/API/commands/settings/TestSettings.py

  Log Message:
  -----------
  [lldb] Fixed the test TestSettings when run with a remote target (#91915)

The setting `platform.module-cache-directory` is a local path on the
host. It cannot be set to a working directory from the remote target.
This test failed in case of Windows host and Linux target because of the
incompatible path. Use the local build dir instead.


  Commit: 7ce3dd49eb80816e3af52022ba2521b28a068c7b
      https://github.com/llvm/llvm-project/commit/7ce3dd49eb80816e3af52022ba2521b28a068c7b
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/test/API/commands/settings/quoting/TestQuoting.py

  Log Message:
  -----------
  [lldb] Fixed the test TestQuoting (#91886)

os.path.join() uses the path separator of the host OS by default.
outfile_arg will be incorrect in case of Windows host and Linux target.
Use lldbutil.append_to_process_working_directory() instead.


  Commit: 4ff45eee36f003cda18a3654df4086e69dc245b5
      https://github.com/llvm/llvm-project/commit/4ff45eee36f003cda18a3654df4086e69dc245b5
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [GlobalISel][KnownBits] Simplify G_CONSTANT handling (#91946)

We called getIConstantVRegVal which again queried MRI to get the VReg
def. We already have the def, so just get the CImm directly. It can't
fail.


  Commit: 8823abea6fb029bf24abd501e43844e3f5b9c444
      https://github.com/llvm/llvm-project/commit/8823abea6fb029bf24abd501e43844e3f5b9c444
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp

  Log Message:
  -----------
  InstCombine: Simplify vector initialization


  Commit: 3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
      https://github.com/llvm/llvm-project/commit/3f0e1d4cf09b0c90abfb1d06a26cc4c85c1f9568
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Swap order of arguments to MatchBinaryAddToConst (NFCI). (#91945)

The argument order to MatchBinaryAddToConst doesn't match the comment
and also is counter-intuitive (passing RHS before LHS, C2 before C1).

This patch adjusts the order to be inline with the calls above, which
should be equivalent, but more natural:
https://alive2.llvm.org/ce/z/ZWGp-Z

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


  Commit: 19a62fbe00930d7eaa9f948c8dd26d58f5422c00
      https://github.com/llvm/llvm-project/commit/19a62fbe00930d7eaa9f948c8dd26d58f5422c00
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [OpenMP][MLIR] Fix llvm::sort comparator. (#91947)

llvm::sort requires the comparator to return `false` for equal elements,
otherwise it triggers `Your comparator is not a valid strict-weak
ordering` assert.


  Commit: 5e9401c2c21efcd55aae42d0b3d68034d344b08d
      https://github.com/llvm/llvm-project/commit/5e9401c2c21efcd55aae42d0b3d68034d344b08d
  Author: Chris Warner <73851242+cwarner-8702 at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/tool/ClangQuery.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-query/Inputs/empty.script
    A clang-tools-extra/test/clang-query/Inputs/file.script
    A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
    M clang-tools-extra/test/clang-query/errors.c
    A clang-tools-extra/test/clang-query/file-empty.c
    A clang-tools-extra/test/clang-query/file-query.c
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp

  Log Message:
  -----------
  [clang-query] Load queries and matchers from file during REPL cycle (#90603)

The clang-query tool has the ability to execute or pre-load queries from
a file when the tool is launched, but doesn't have the ability to do the
same from the interactive REPL prompt. Because the prompt also doesn't
seem to allow multi-line matchers, this can make prototyping and
iterating on more complicated matchers difficult.

Supporting a dynamic load at REPL time allows the cost of reading the
compilation database and building the AST to be imposed just once, and
allows faster prototyping.


  Commit: e76b257483e6c6743de0fa6eca4d0cc60e08385d
      https://github.com/llvm/llvm-project/commit/e76b257483e6c6743de0fa6eca4d0cc60e08385d
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [Clang][OpenMP][Tile] Ensure AST node uniqueness. (#91325)

One of the constraints of an AST is that every node object must appear
at most once, hence we define lamdas that create a new AST node at every
use.


  Commit: 061db17a3075e34c55ebd463d06e16771e398e04
      https://github.com/llvm/llvm-project/commit/061db17a3075e34c55ebd463d06e16771e398e04
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp

  Log Message:
  -----------
  Fix MSVC "signed/unsigned mismatch" warning. NFC.


  Commit: 1a4b113a41266b94fe217e5fe90d91db15d2356b
      https://github.com/llvm/llvm-project/commit/1a4b113a41266b94fe217e5fe90d91db15d2356b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp

  Log Message:
  -----------
  [CostModel][X86] getCastInstrCost - update cost tables to support CostKinds

Add TypeConversionCostKindTblEntry to hold the costs kinds and update the cast tables to take the existing default codesize/latency/sizelatency values (I'll update these values in future commits).

I've moved AdjustCost to the end of the function to ensure we don't accidentally use it, apart from when we fallback to default cost calculations.


  Commit: f0590581aa01944a3bb502a622a412617d1efcbb
      https://github.com/llvm/llvm-project/commit/f0590581aa01944a3bb502a622a412617d1efcbb
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [Clang][OpenMP] Fix unused lambda capture warning.


  Commit: ca1bd5995f6ed934f9187305190a5abfac049173
      https://github.com/llvm/llvm-project/commit/ca1bd5995f6ed934f9187305190a5abfac049173
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    A flang/lib/Lower/OpenMP/Decomposer.cpp
    A flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
    A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)

A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.

Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.

Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.

The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.


  Commit: d2676a73336b83607565fb2e4ce61bd67d732b09
      https://github.com/llvm/llvm-project/commit/d2676a73336b83607565fb2e4ce61bd67d732b09
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pthread.h.def
    M libc/spec/posix.td
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    A libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    A libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    A libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_rwlockattr_test.cpp

  Log Message:
  -----------
  [libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions (#90249)

Closes #89443

I added the two missing functions and respective test cases. Let me know
if anything needs changing.


  Commit: 29a986bc0972c7d2deb85f8789ea3183c8ca06ca
      https://github.com/llvm/llvm-project/commit/29a986bc0972c7d2deb85f8789ea3183c8ca06ca
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  new-prs-labeler.yml: Include conversion passes of TOSA/emitc (#91921)


  Commit: 27595c4befbbf42891ef7e13fe28926eb7fc825d
      https://github.com/llvm/llvm-project/commit/27595c4befbbf42891ef7e13fe28926eb7fc825d
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/pthread.h.def
    M libc/spec/posix.td
    M libc/src/pthread/CMakeLists.txt
    R libc/src/pthread/pthread_rwlockattr_getkind_np.cpp
    R libc/src/pthread/pthread_rwlockattr_getkind_np.h
    M libc/src/pthread/pthread_rwlockattr_init.cpp
    R libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    R libc/src/pthread/pthread_rwlockattr_setkind_np.h
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_rwlockattr_test.cpp

  Log Message:
  -----------
  Revert "[libc][POSIX][pthreads] implemented missing pthread_rwlockattr functions" (#91966)

Reverts llvm/llvm-project#90249

Fullbuild is broken:
https://lab.llvm.org/buildbot/#/builders/163/builds/56501


  Commit: 25a3ba33153e99c4614d404ba18b761d652e24de
      https://github.com/llvm/llvm-project/commit/25a3ba33153e99c4614d404ba18b761d652e24de
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    R flang/lib/Lower/OpenMP/Decomposer.cpp
    R flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
    R llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/unittests/Frontend/CMakeLists.txt
    R llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  Revert "[flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)"

It breaks some builds, e.g.
https://lab.llvm.org/buildbot/#/builders/268/builds/13909

This reverts commit ca1bd5995f6ed934f9187305190a5abfac049173.


  Commit: 1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
      https://github.com/llvm/llvm-project/commit/1a25b723628e439d62dfb28ca5fa52e4b2a78e5a
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/test/API/commands/platform/process/launch/TestPlatformProcessLaunch.py

  Log Message:
  -----------
  [lldb] Fixed the test TestPlatformProcessLaunch running on a remote target (#91923)

Transfer `stdio.log` from the remote target if necessary.


  Commit: 13cd88108f00fc97bcd1e4eb7cc9e4e388928677
      https://github.com/llvm/llvm-project/commit/13cd88108f00fc97bcd1e4eb7cc9e4e388928677
  Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/omptask_if_false.mlir

  Log Message:
  -----------
  [mlir][OpenMP] - Honor dependencies in code-generation of the if clause in `omp.task` correctly (#90891)

This patch fixes the code generation of the if clause, specifically when the
condition evaluates to false and when the task directive has the depend
clause on it. When the if clause of a task construct evaluates to false,
then the task is an undeferred task. This undeferred task still has to
honor dependencies. Previously, the OpenMPIRbuilder didn't honor
dependencies. This patch fixes that.

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


  Commit: 4445ed4244cd00981a04b1f461128ed4c47c1dec
      https://github.com/llvm/llvm-project/commit/4445ed4244cd00981a04b1f461128ed4c47c1dec
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [OpenMP][MLIR] Fix llvm::sort comparator. (#91963)

The current comparator doesn't work correctly when two identical entries
with -1 are compared. The comparator returns `first` is case when
`aIndex == -1 && bIndex == -1`, but it should `continue` as those
indexes are the same.


  Commit: c4e9e41199127bb288e84e9477da99f28941edb3
      https://github.com/llvm/llvm-project/commit/c4e9e41199127bb288e84e9477da99f28941edb3
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp

  Log Message:
  -----------
  [Clang] Ensure ``if consteval`` consititute an immediate function context (#91939)

We did not set the correct evaluation context for the compound statement
of an ``if consteval`` statement
in a templated entity in TreeTransform.

Fixes #91509


  Commit: b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
      https://github.com/llvm/llvm-project/commit/b0b6c16b470a7d5d9c63765058cca0ebe07ad57d
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/tile_ast_print.cpp
    M clang/test/OpenMP/tile_codegen.cpp
    M clang/test/OpenMP/tile_messages.cpp
    A openmp/runtime/test/transform/tile/intfor.c
    A openmp/runtime/test/transform/tile/negtile_intfor.c
    A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-intfor.cpp

  Log Message:
  -----------
  [Clang][OpenMP][Tile] Allow non-constant tile sizes. (#91345)

Allow non-constants in the `sizes` clause such as
```
#pragma omp tile sizes(a)
for (int i = 0; i < n; ++i)
```
This is permitted since tile was introduced in [OpenMP
5.1](https://www.openmp.org/spec-html/5.1/openmpsu53.html#x78-860002.11.9).

It is possible to sneak-in negative numbers at runtime as in
```
int a = -1;
#pragma omp tile sizes(a)
```
Even though it is not well-formed, it should still result in every loop
iteration to be executed exactly once, an invariant of the tile
construct that we should ensure. `ParseOpenMPExprListClause` is
extracted-out to be reused by the `permutation` clause of the
`interchange` construct. Some care was put into ensuring correct behavior
in template contexts.


  Commit: 69e13125af2511abd59499272c88fcb6f19b9300
      https://github.com/llvm/llvm-project/commit/69e13125af2511abd59499272c88fcb6f19b9300
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
    M llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select G_ICMP instruction through TableGen (#89932)

G_ICMP NE => XOR(G_ICMP EQ, -1) moved to Legalizer to allow for combines
if they come up in following passes.


  Commit: ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
      https://github.com/llvm/llvm-project/commit/ca051dfe9f0996e7fdad8fde5817e5b6ce758ab9
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    A mlir/utils/verify-canon/verify_canon.py

  Log Message:
  -----------
  [mlir][utils] Add script to verify canonicalizations against Alive2 (#91867)

This script takes IR before and after canonicalization, translates it
into llvm IR and converts it to format suitable for Alive2
https://alive2.llvm.org/ce/

This is primarily for arith canonicalizations verification, but
technically it can be adapted for any dialect translatable to llvm.

Usage `python verify_canon.py canonicalize.mlir -f func1 func2 ...`

Example output: https://alive2.llvm.org/ce/z/KhQs4J

Initial discussion:
https://github.com/llvm/llvm-project/pull/91646#pullrequestreview-2049342826


  Commit: 96ebed7c7481bb143c9d3db5f4c128bb32545229
      https://github.com/llvm/llvm-project/commit/96ebed7c7481bb143c9d3db5f4c128bb32545229
  Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def

  Log Message:
  -----------
  [analyzer][NFC] Move `CTUPhase1InliningMode` option to String analyzer options category (#91932)

The `CTUPhase1InliningMode`option was originally placed under Unsigned
analyzer options, but its value is a string.

This move aligns the option with its actual type.


  Commit: 3acc6919109d91c1f047a02229a1785b461259d9
      https://github.com/llvm/llvm-project/commit/3acc6919109d91c1f047a02229a1785b461259d9
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/test/OpenMP/target_ast_print.cpp
    M clang/test/OpenMP/target_map_messages.cpp

  Log Message:
  -----------
  Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91821)

… (#90885)"

This reverts commit eea81aa29848361eb5b24f24d2af643fdeb9adfd.


  Commit: 8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
      https://github.com/llvm/llvm-project/commit/8b7f178091b70d264c13b1f83b58e6c9dfe81c1b
  Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/test/Evaluate/rewrite-out_of_range.F90

  Log Message:
  -----------
  [flang] Fix Failing rewrite-out_of_range testcase to only check for real 10 on supported platforms (#91629)

The real 10 tests fail on `AIX` on `PPC`, only check them on `x86_64`

Co-authored-by: Mark Danial <mark.danial at ibm.com>


  Commit: d8197728145137e2aa00f3b2ed69914f48851d09
      https://github.com/llvm/llvm-project/commit/d8197728145137e2aa00f3b2ed69914f48851d09
  Author: Tuan Chuong Goh <chuong.goh at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/icmp.ll

  Log Message:
  -----------
  [AArch64][NFC] Pre-commit tests for Select G_ICMP Zero Instruction (#90054)


  Commit: c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
      https://github.com/llvm/llvm-project/commit/c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] device_type clause Sema for Compute constructs

device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to.  As we don't have a source for the valid
architectures yet, this patch just accepts all.

Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.


  Commit: 67c18721eb2170a6cd7af461e16d994b1b83363a
      https://github.com/llvm/llvm-project/commit/67c18721eb2170a6cd7af461e16d994b1b83363a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp] Return false from visitExpr() if allocateLocal failed


  Commit: 2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
      https://github.com/llvm/llvm-project/commit/2bd97ba390f9137f26eaf770a90c5f1cb72acbdb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerGlobalOrExternal - cleanup SDLoc. NFC.

Don't create a new local SDLoc and then take a reference to it, just create the SDLoc directly.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] FP_TO_INTHelper - remove duplicate SDLoc. NFC.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerTruncateVecI1 - reuse existing SDLoc. NFC.


  Commit: 0cc60235d178ebe18db14b9731aa01c24abd1c66
      https://github.com/llvm/llvm-project/commit/0cc60235d178ebe18db14b9731aa01c24abd1c66
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerFP_TO_INT - remove duplicate SDLoc. NFC.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerIntVSETCC_AVX512 - reuse existing SDLoc. NFC.


  Commit: 999fb097102f75feac1601c061b8bdf0a4cf6112
      https://github.com/llvm/llvm-project/commit/999fb097102f75feac1601c061b8bdf0a4cf6112
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 05cc2d5fe10c


  Commit: 9f858c7b79f9edff082050b930fee347887f8e6d
      https://github.com/llvm/llvm-project/commit/9f858c7b79f9edff082050b930fee347887f8e6d
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [mlir][vector][test] Update tests for vector.xfter_{read|write} (#91943)

Updates tests in "vector-transfer-permutation-lowering.mlir" to make a
clearer split into cases for :

* xfer_read vs xfer_write
* fixed-width vs scalable tests

A new test case is added for fixed-width vectors for vector.transfer_read.
This is to complement an existing test for scalable vectors.

This is in preparation for #90835 and also for adding more tests for
scalable vectors.


  Commit: 257013e4f5cbdf644646da9ec3d60d6209c9bf25
      https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Handle VariableArrayTypes


  Commit: 1f6f5bf9307033980121fc534815a7b59453e122
      https://github.com/llvm/llvm-project/commit/1f6f5bf9307033980121fc534815a7b59453e122
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h

  Log Message:
  -----------
  Fix warning from c4a9a374

I wasn't able to reproduce the test crash, but I believe this might be a
different definition of 'assert' on some platforms, so I believe this
patch should fix it (and fixes the suggested warning).


  Commit: be7c9e39572d876c16b6a8d7f4addaf9409071ff
      https://github.com/llvm/llvm-project/commit/be7c9e39572d876c16b6a8d7f4addaf9409071ff
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h
    A flang/lib/Lower/OpenMP/Decomposer.cpp
    A flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
    A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
    A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [flang][OpenMP] Decompose compound constructs, do recursive lowering (#90098)

A compound construct with a list of clauses is broken up into individual
leaf/composite constructs. Each such construct has the list of clauses
that apply to it based on the OpenMP spec.

Each lowering function (i.e. a function that generates MLIR ops) is now
responsible for generating its body as described below.

Functions that receive AST nodes extract the construct, and the clauses
from the node. They then create a work queue consisting of individual
constructs, and invoke a common dispatch function to process (lower) the
queue.

The dispatch function examines the current position in the queue, and
invokes the appropriate lowering function. Each lowering function
receives the queue as well, and once it needs to generate its body, it
either invokes the dispatch function on the rest of the queue (if any),
or processes nested evaluations if the work queue is at the end.

Re-application of ca1bd5995f6ed934f9187305190a5abfac049173 with fixes for
compilation errors.


  Commit: e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
      https://github.com/llvm/llvm-project/commit/e8eb52d167eb2bf972b3cfa67ff1028b86cd209d
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Common/Fortran.h
    M flang/lib/Common/Fortran.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/cuf14.cuf
    A flang/test/Semantics/cuf15.cuf
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang][cuda] Extends matching distance computation (#91810)

Extends the computation of the matching distance in the generic
resolution to support options described in the table:
https://docs.nvidia.com/hpc-sdk/archive/24.3/compilers/cuda-fortran-prog-guide/index.html#cfref-var-attr-unified-data

Options are added as language features in the `SemanticsContext` and a
flag is added in bbc for testing purpose.


  Commit: 06f04b2e27f2586d3db2204ed4e54f8b78fea74e
      https://github.com/llvm/llvm-project/commit/06f04b2e27f2586d3db2204ed4e54f8b78fea74e
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    R clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    R clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    R clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  Revert "[OpenACC] device_type clause Sema for Compute constructs"

This reverts commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.

This and the followup patch keep hitting an assert I wrote on the build
bots in a way that isn't clear.  Reverting so I can fix it without a
rush.


  Commit: 1934e4afd6276cd2440357b788d7efe6a4abdebe
      https://github.com/llvm/llvm-project/commit/1934e4afd6276cd2440357b788d7efe6a4abdebe
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h

  Log Message:
  -----------
  [flang][OpenMP] Add explicit N to SmallVector to avoid size error

This fixes https://lab.llvm.org/buildbot/#/builders/268/builds/13925,
which somehow doesn't show in any of my local builds.


  Commit: 2d511cdc10be611999d2a3c8983a992dd90f892c
      https://github.com/llvm/llvm-project/commit/2d511cdc10be611999d2a3c8983a992dd90f892c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add missing test diagnostic output

This was left out from https://github.com/llvm/llvm-project/commit/257013e4f5cbdf644646da9ec3d60d6209c9bf25


  Commit: d95f7c9cabf493ffdc615df47a420a80d4be8e5c
      https://github.com/llvm/llvm-project/commit/d95f7c9cabf493ffdc615df47a420a80d4be8e5c
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/stack-protector-target.ll

  Log Message:
  -----------
  [RISCV] Use the thread local stack protector for Android targets (#87672)

Android supports per thread stack protectors that are individually
managed and
initialized, which can provide stronger protections than using the
global stack
protector cookie. This patch matches the convention for other
architectures
targeting Android platforms.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn build] Port be7c9e39572d


  Commit: 754ff0f54a4b09a8e4b00783475c51f66b949b66
      https://github.com/llvm/llvm-project/commit/754ff0f54a4b09a8e4b00783475c51f66b949b66
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [TableGen][RISCV] Use getAllDerivedDefinitionsIfDefined in RISCVTargetDefEmitter (#91941)

getAllDerivedDefinitions produces a fatal error if there are no
definitions. In practice this isn't much of a problem for
llvm/lib/Target/RISCV/*.td where it's hard to imagine not having at
least one of the required defitions. But it limits our ability to
structure and maintain tests (which is how I came across this issue).

This commit moves to using getAllDerivedDefinitionsIfDefined and aims to
skip emission of data structures that make no sense if no definitions
were found.


  Commit: 89a080cb79972abae240c226090af9a3094e2269
      https://github.com/llvm/llvm-project/commit/89a080cb79972abae240c226090af9a3094e2269
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [llvm][NFC] Document cl::opt MisExpectTolerance and fix typo



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


  Commit: 596a9c1f9b3179b3c77cbde1e96619292ce2a10a
      https://github.com/llvm/llvm-project/commit/596a9c1f9b3179b3c77cbde1e96619292ce2a10a
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix bug where operator-> typo corrects in the current instantiation (#91972)

#90152 introduced a bug that occurs when typo-correction attempts to fix a reference to a
non-existent member of the current instantiation (even though
`operator->` may return a different type than the object type). This
patch fixes it by simply considering the object expression to be of type
`ASTContext::DependentTy` when the arrow operator is used with a
dependent non-pointer non-function operand (after any implicit
conversions).


  Commit: 1066eb55477044a3a92f3a40471375194dfcdbc8
      https://github.com/llvm/llvm-project/commit/1066eb55477044a3a92f3a40471375194dfcdbc8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang] Fix a warning

This patch fixes:

  flang/lib/Lower/OpenMP/OpenMP.cpp:2346:14: error: unused variable
  'origDirective' [-Werror,-Wunused-variable]


  Commit: 79643565a890d29560782fea23877ae61ea5b987
      https://github.com/llvm/llvm-project/commit/79643565a890d29560782fea23877ae61ea5b987
  Author: chenlin <chenlin138 at huawei.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll

  Log Message:
  -----------
  [LoopUnroll] Remove redundant debug instructions after blocks have been merged (#91246)

Remove redundant debug instructions after blocks have been merged into
the predecessor, It can reduce some compile time in some cases.

This change only fixes the situation of loop unrolling, and other
situations are not considered. "RemoveRedundantDbgInstrs" seems to be
very time-consuming. Thus, we just add here after the "Dest" has been
merged into the "Fold", this may be a more targeted solution!!!

fixes: https://github.com/llvm/llvm-project/issues/89073


  Commit: 91a14dbf825b79ff143d1b16124763a4a80facab
      https://github.com/llvm/llvm-project/commit/91a14dbf825b79ff143d1b16124763a4a80facab
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/test/Dialect/Polynomial/attributes.mlir
    M mlir/test/Dialect/Polynomial/ops.mlir
    M mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir

  Log Message:
  -----------
  Support polynomial attributes with floating point coefficients (#91137)

In summary:

- `Monomial` -> `MonomialBase` with two inheriting `IntMonomial` and
`FloatMonomial` for the different coefficient types
- `Polynomial` -> `PolynomialBase` with `IntPolynomial` and
`FloatPolynomial` inheriting
- `PolynomialAttr` -> `IntPolynomialAttr`, and new `FloatPolynomialAttr`
attribute, both of which may be input to `polynomial.constant`
- Refactoring common parts of attribute parsers.

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 6140b5bae475069f958f90a81fb9d69c969daab6
      https://github.com/llvm/llvm-project/commit/6140b5bae475069f958f90a81fb9d69c969daab6
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll

  Log Message:
  -----------
  [RISCV] Use RISCVISD::SHL_ADD in transformAddShlImm (#89832)

Doing so avoids negative interactions with other combines which don't
know the shl_add is a single instruction. From the commit log, we've had
several combine loops already.

This was originally posted as part of #88791, where a bug was pointed
out. That bug was fixed by #89789 which hits the same issue from another
angle. To confirm the fix, I included the reduced test case here.


  Commit: 37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
      https://github.com/llvm/llvm-project/commit/37ffbbb19576a884c5bb93b9ac0ae97f89523b6b
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    A mlir/test/Dialect/SparseTensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor][sparse] don't drop encoding when infer result type (#91817)

A general question is: is it possible to support hooks here to infer the
encoding? E.g., when the extracted tensor slice is rank-reduced, the
encoding need to be updated accordingly as well.


  Commit: 2a114d171d4c1e6c742d039a289bf509b86668ac
      https://github.com/llvm/llvm-project/commit/2a114d171d4c1e6c742d039a289bf509b86668ac
  Author: Jover <joverzh at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore `if consteval` in else-after-return (#91588)


  Commit: ad727b1a6757c4c23b4121192b121fd67219820e
      https://github.com/llvm/llvm-project/commit/ad727b1a6757c4c23b4121192b121fd67219820e
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/test/Dialect/Polynomial/attributes.mlir
    M mlir/test/Dialect/Polynomial/ops.mlir
    M mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir

  Log Message:
  -----------
  Revert "Support polynomial attributes with floating point coefficients (#91137)" (#92001)

This reverts commit 91a14dbf825b79ff143d1b16124763a4a80facab.

Not sure how to fix the build error this introduced, so reverting until
I can figure it out

https://lab.llvm.org/buildbot/#/builders/264/builds/10468

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
      https://github.com/llvm/llvm-project/commit/cf40c93b5be5cd0011ebbf3a9eead224f7b7079a
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir

  Log Message:
  -----------
  [mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#91800)

Context: https://github.com/iree-org/iree/issues/17346.

Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:

https://github.com/iree-org/iree/pull/17359

This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).

This is limited to 1D, non-scalable vectors.


  Commit: 0f7906645d18a38a6b80a1e8e1d425396f6ab353
      https://github.com/llvm/llvm-project/commit/0f7906645d18a38a6b80a1e8e1d425396f6ab353
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/test/Dialect/Arith/int-range-opts.mlir

  Log Message:
  -----------
  [mlir][intrange] Fix `arith.shl` inference in case of overflow (#91737)

When an overflow happens during shift left, i.e. the last sign bit or
the most significant data bit gets shifted out, the current approach of
inferring the range of results does not work anymore.

This patch checks for possible overflow and returns the max range in
that case.

Fix https://github.com/llvm/llvm-project/issues/82158


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
    A clang/test/SemaTemplate/temp_arg_template_p0522.cpp

  Log Message:
  -----------
  [clang] Allow pack expansions when partial ordering against template template parameters (#91833)

When partial ordering alias templates against template template
parameters, allow pack expansions when the alias has a fixed-size
parameter list.

These expansions were generally disallowed by proposed resolution for
CWG1430.

By previously diagnosing these when checking template template
parameters, we would be too strict in trying to prevent any potential
invalid use.

This flows against the more general idea that template template
parameters are weakly typed, that we would rather allow an argument that
might be possibly misused, and only diagnose the actual misuses during
instantiation.

Since this interaction between P0522R0 and CWG1430 is also a
backwards-compat breaking change, we implement provisional wording to
allow these.

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


  Commit: 8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
      https://github.com/llvm/llvm-project/commit/8ef2011b2cd3a8fc2ef8d6ea0facb1a39a0dd621
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
    A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  Reapply "[OpenACC] device_type clause Sema for Compute constructs"

device_type, also spelled as dtype, specifies the applicability of the
clauses following it, and takes a series of identifiers representing the
architectures it applies to.  As we don't have a source for the valid
architectures yet, this patch just accepts all.

Semantically, this also limits the list of clauses that can be applied
after the device_type, so this implements that as well.

This reverts commit 06f04b2e27f2586d3db2204ed4e54f8b78fea74e.
This reapplies commit c4a9a374749deb5f2a932a7d4ef9321be1b2ae5d.
The build failures were caused by the patch depending on the order of
evaluation of arguments to a function. This reapplication separates out
the capture of one of the values.


  Commit: 673114447b66335268467396a073cdaaadd0b601
      https://github.com/llvm/llvm-project/commit/673114447b66335268467396a073cdaaadd0b601
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/docs/ELF/linker_script.rst
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
    A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test

  Log Message:
  -----------
  [LLD] Implement --enable-non-contiguous-regions (#90007)

When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.

This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:

- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).

- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.

- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.

The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.

Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.

A few notable feature interactions occur:

- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.

- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).

- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.

- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.

- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.


  Commit: 81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
      https://github.com/llvm/llvm-project/commit/81f34afa5c39584c2721000e2bcf3b8ec02a4f4d
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/docs/ELF/linker_script.rst
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    R lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
    R lld/test/ELF/linkerscript/enable-non-contiguous-regions.test

  Log Message:
  -----------
  Revert "[LLD] Implement --enable-non-contiguous-regions" (#92005)

Reverts llvm/llvm-project#90007

Broke in merging I think.


  Commit: 276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
      https://github.com/llvm/llvm-project/commit/276c0bd4b386cc6b9d91e5e44ca7b053c11f13b5
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp

  Log Message:
  -----------
  [lldb][ExpressionParser][NFCI] Log pointers as hex (#91989)

This ensures that we log pointers as lower-case hex. E.g., instead of:
```
 LayoutRecordType on (ASTContext*)0x000000010E78D600 'scratch ASTContext' for (RecordDecl*)0x000000010E797
```
we now log:
```
 LayoutRecordType on (ASTContext*)0x000000010e78d600 'scratch ASTContext' for (RecordDecl*)0x000000010e797
```

Which is consistent with how the AST dump gets emitted into the log.
This makes it easier to correlate pointers we log from LLDB and pointers
that are part of any AST dumps in the same `expr` log.


  Commit: 0df67fa212feb3cb503cd05c440afac446bb9457
      https://github.com/llvm/llvm-project/commit/0df67fa212feb3cb503cd05c440afac446bb9457
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/frelaxed-template-template-args.cpp
    M clang/test/Driver/rewrite-legacy-objc.m
    M clang/test/Driver/rewrite-objc.m

  Log Message:
  -----------
  Revert "[clang] Revert default behavior change of P0522R0 implementation (#91811)" (#91837)

With blocking issues fixed, re-enable relaxed template template argument
matching by reverting these commits.

This reverts commit 4198aebc96cb0236fc63e29a92d886e6a2e3fedb.
This reverts commit 2d5634a4b39d8e5497b6a67caa54049b3cfade8e.


  Commit: 5df01ed79c47b0b10ea6be87251ec6e0484515a5
      https://github.com/llvm/llvm-project/commit/5df01ed79c47b0b10ea6be87251ec6e0484515a5
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    R mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir

  Log Message:
  -----------
  Revert "[mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV" (#92006)

Reverts llvm/llvm-project#91800

Reason: https://lab.llvm.org/buildbot/#/builders/268/builds/13935


  Commit: d03a1a6e5838c7c2c0836d71507dfdf7840ade49
      https://github.com/llvm/llvm-project/commit/d03a1a6e5838c7c2c0836d71507dfdf7840ade49
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  [ValueTracking] Compute knownbits from known fp classes (#86409)

This patch calculates knownbits from fp instructions/dominating fcmp
conditions. It will enable more optimizations with signbit idioms.


  Commit: 08177541267fff84a96701fc5fc232eb4f12f9d9
      https://github.com/llvm/llvm-project/commit/08177541267fff84a96701fc5fc232eb4f12f9d9
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll

  Log Message:
  -----------
  [RISCV] Improve testing of loads with offset in local-stack-slot-allocation.ll. NFC

The test we had didn't match it's description.

Now we have one test with a large offset that requires a virtual base register
and a test with a smaller offset that should not.

There is currently a bug that causes the offset to double counted
leading to the small case also using a virtual base register.


  Commit: 026686bac606ac03d688a44f2ea4cb829d7b08bc
      https://github.com/llvm/llvm-project/commit/026686bac606ac03d688a44f2ea4cb829d7b08bc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll

  Log Message:
  -----------
  [RISCV] Don't add getFrameIndexInstrOffset in RISCVRegisterInfo::needsFrameBaseReg.

It's already added in isFrameOffsetLegal so adding it in needsFrameBaseReg
causes it to be double counted.


  Commit: 66466ff151bd71fa64c63d951173efc589df2860
      https://github.com/llvm/llvm-project/commit/66466ff151bd71fa64c63d951173efc589df2860
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/docs/ELF/linker_script.rst
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
    A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test

  Log Message:
  -----------
  Reland: [LLD] Implement --enable-non-contiguous-regions (#90007)

When enabled, input sections that would otherwise overflow a memory
region are instead spilled to the next matching output section.

This feature parallels the one in GNU LD, but there are some differences
from its documented behavior:

- /DISCARD/ only matches previously-unmatched sections (i.e., the flag
does not affect it).

- If a section fails to fit at any of its matches, the link fails
instead of discarding the section.

- The flag --enable-non-contiguous-regions-warnings is not implemented,
as it exists to warn about such occurrences.

The implementation places stubs at possible spill locations, and
replaces them with the original input section when effecting spills.
Spilling decisions occur after address assignment. Sections are spilled
in reverse order of assignment, with each spill naively decreasing the
size of the affected memory regions. This continues until the memory
regions are brought back under size. Spilling anything causes another
pass of address assignment, and this continues to fixed point.

Spilling after rather than during assignment allows the algorithm to
consider the size effects of unspillable input sections that appear
later in the assignment. Otherwise, such sections (e.g. thunks) may
force an overflow, even if spilling something earlier could have avoided
it.

A few notable feature interactions occur:

- Stubs affect alignment, ONLY_IF_RO, etc, broadly as if a copy of the
input section were actually placed there.

- SHF_MERGE synthetic sections use the spill list of their first
contained input section (the one that gives the section its name).

- ICF occurs oblivious to spill sections; spill lists for merged-away
sections become inert and are removed after assignment.

- SHF_LINK_ORDER and .ARM.exidx are ordered according to the final
section ordering, after all spilling has completed.

- INSERT BEFORE/AFTER and OVERWRITE_SECTIONS are explicitly disallowed.


  Commit: dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
      https://github.com/llvm/llvm-project/commit/dc7ce3b41c936c4cc189b4bbf6a2e3b5475d9fc5
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h

  Log Message:
  -----------
  [lldb][TypeSystem][NFCI] Log creation of new TypeSystem instances to expression log (#91985)

We emit `ASTContext` and `TypeSystem` pointers into the `expr` log but
there is no easy way (that I know of) to correlate the pointer value
back to an easily readible form. This patch simply logs the name of the
`TypeSystem` and the associated `ASTContext` into the `expr` channel
whenever we create a new `TypeSystemClang`.

The following is an example of the new log entries:
```
$ grep Created /tmp/lldb.log 
 Created new TypeSystem for (ASTContext*)0x0000000101a2e200 'ASTContext for '/Users/michaelbuch/a.out''
 Created new TypeSystem for (ASTContext*)0x0000000102512a00 'scratch ASTContext'
 Created new TypeSystem for (ASTContext*)0x0000000102116a00 'ClangModulesDeclVendor ASTContext'
 Created new TypeSystem for (ASTContext*)0x00000001022e8c00 'Expression ASTContext for '<user expression 0>''
 Created new TypeSystem for (ASTContext*)0x00000001103e7200 'AppleObjCTypeEncodingParser ASTContext'
 Created new TypeSystem for (ASTContext*)0x00000001103f7000 'AppleObjCDeclVendor AST'
 Created new TypeSystem for (ASTContext*)0x00000001104bfe00 'Expression ASTContext for '<clang expression>''
 Created new TypeSystem for (ASTContext*)0x0000000101f01000 'Expression ASTContext for '<clang expression>''
 Created new TypeSystem for (ASTContext*)0x00000001025d3c00 'Expression ASTContext for '<clang expression>''
 Created new TypeSystem for (ASTContext*)0x0000000110422400 'Expression ASTContext for '<clang expression>''
 Created new TypeSystem for (ASTContext*)0x000000011602c200 'Expression ASTContext for '<user expression 1>''
 Created new TypeSystem for (ASTContext*)0x0000000110641600 'Expression ASTContext for '<clang expression>''
 Created new TypeSystem for (ASTContext*)0x0000000110617400 'Expression ASTContext for '<clang expression>''
```


  Commit: 4a67f809828e11988c6a097cb400fd7cbbf47628
      https://github.com/llvm/llvm-project/commit/4a67f809828e11988c6a097cb400fd7cbbf47628
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64_tree_tests.ll
    M llvm/test/CodeGen/SPARC/inlineasm-bad.ll
    M llvm/test/MC/AArch64/SVE/index.s
    M llvm/test/MC/XCOFF/inlineasm.s
    M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
    M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test

  Log Message:
  -----------
  [test] Fix check prefixes


  Commit: bd679865c05b29450428ad460e59e2dcd07fe974
      https://github.com/llvm/llvm-project/commit/bd679865c05b29450428ad460e59e2dcd07fe974
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll

  Log Message:
  -----------
  [AMDGPU] Add tests for vector rebroadcast. (#91322)

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: 69937982dbdd73172ec06580f6f93616edca8e9e
      https://github.com/llvm/llvm-project/commit/69937982dbdd73172ec06580f6f93616edca8e9e
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore unevaluated context in bugprone-optional-value-conversion (#90410)

Ignore optionals in unevaluated context, like static_assert or decltype.

Closes #89593


  Commit: af79372d6349cfba6beff26d54b7ad1b798fc4d5
      https://github.com/llvm/llvm-project/commit/af79372d6349cfba6beff26d54b7ad1b798fc4d5
  Author: Mike Crowe <mac at mcrowe.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp

  Log Message:
  -----------
  [clang-tidy] Add modernize-use-std-format check (#90397)

Add a new clang-tidy check that converts absl::StrFormat (and similar
functions) to std::format (and similar functions.)

Split the configuration of FormatStringConverter out to a separate
Configuration class so that we don't risk confusion by passing two
boolean configuration parameters into the constructor. Add
AllowTrailingNewlineRemoval option since we never want to remove
trailing newlines in this check.


  Commit: 5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
      https://github.com/llvm/llvm-project/commit/5944579ab20cfcb6d1a9d1a2fe3d4b478ea24c64
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

  Log Message:
  -----------
  [gn build] Port af79372d6349


  Commit: a037d88929460ff9571927c56d6db215be086149
      https://github.com/llvm/llvm-project/commit/a037d88929460ff9571927c56d6db215be086149
  Author: Lei Zhang <antiagainst at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir

  Log Message:
  -----------
  [mlir][gpu] Support extf before contract when converting to MMA ops (#91988)

This commit allows `inferFragType` to see through all arith.ext op
and other elementwise users before reaching contract op for
figuring out the fragment type.


  Commit: 54b17fa4eefb7ccb00fba8189e92fac2d46cc481
      https://github.com/llvm/llvm-project/commit/54b17fa4eefb7ccb00fba8189e92fac2d46cc481
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s

  Log Message:
  -----------
  [BOLT] Preserve Offset annotation in fixDoubleJumps (#91898)

Offset annotation was missed when optimizing an unconditional branch to
a tail call.

Test Plan: update bb-with-two-tail-calls.s


  Commit: fd4b5f4b52e414bb6fee7c906a22867891fb46b5
      https://github.com/llvm/llvm-project/commit/fd4b5f4b52e414bb6fee7c906a22867891fb46b5
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/API/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add CMake dependency tracking for SBLanguages generation script (#91686)

If you change the generation script and re-run ninja (or whatever drives
your build), it currently will not regenerate SBLanguages.h. With
dependency tracking, it should re-run when the script changes.


  Commit: a1d43c14d8a672730af48d946acc41fa01cf301e
      https://github.com/llvm/llvm-project/commit/a1d43c14d8a672730af48d946acc41fa01cf301e
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
    M mlir/lib/Conversion/VectorToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorInterleave.cpp
    A mlir/test/Dialect/Vector/vector-interleave-to-shuffle.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][vector] Add Vector-dialect interleave-to-shuffle pattern, enable in VectorToSPIRV (#92012)

This is the second attempt at merging #91800, which bounced due to a
linker error apparently caused by an undeclared dependency.
`MLIRVectorToSPIRV` needed to depend on `MLIRVectorTransforms`. In fact
that was a preexisting issue already flagged by the tool in
https://discourse.llvm.org/t/ninja-can-now-check-for-missing-cmake-dependencies-on-generated-files/74344.

Context: https://github.com/iree-org/iree/issues/17346.

Test IREE integrate showing it's fixing the problem it's intended to
fix, i.e. it allows IREE to drop its local revert of
https://github.com/llvm/llvm-project/pull/89131:

https://github.com/iree-org/iree/pull/17359

This is added to VectorToSPIRV because SPIRV doesn't currently handle
`vector.interleave` (see motivating context above).

This is limited to 1D, non-scalable vectors.


  Commit: 31a203fa8af47a8b2e8e357857b114cf90638b2e
      https://github.com/llvm/llvm-project/commit/31a203fa8af47a8b2e8e357857b114cf90638b2e
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaObjC.h
    M clang/lib/ARCMigrate/Transforms.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    A clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaObjC` (#89086)

This is continuation of efforts to split `Sema` up, following the
example of OpenMP, OpenACC, etc. Context can be found in
https://github.com/llvm/llvm-project/pull/82217 and
https://github.com/llvm/llvm-project/pull/84184.

I split formatting changes into a separate commit to help reviewing the
actual changes.


  Commit: bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
      https://github.com/llvm/llvm-project/commit/bb867b59b86ec48bb8a4e399cbb7ee99c7981d32
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp

  Log Message:
  -----------
  [MLIR] NFC: change variable name to lowercase to follow mlir convention. (#91974)


  Commit: e1223804458a99f82dc110d41647410bdac420df
      https://github.com/llvm/llvm-project/commit/e1223804458a99f82dc110d41647410bdac420df
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Use VPBuilder to create Select (NFCI).


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

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 31a203fa8af4


  Commit: a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
      https://github.com/llvm/llvm-project/commit/a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c

  Log Message:
  -----------
  [test] Use conventional -emit-llvm-only

This avoids 'Permission denied' when PWD is read-only.
While here, change the triple from a Linux one to a generic ELF one.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/local-stack-slot-allocation.ll

  Log Message:
  -----------
  [RISCV] Don't exlude the frame pointer from the callee saved registers in RISCVRegisterInfo::needsFrameBaseReg.

Instead of using getReservedRegs, just check the subtarget reserved
list. getReservedRegs considers the frame pointer to be reserved when
it is being used, but we do need to save/restore it so it should be
counted as a callee saved register. AArch64 hardcodes their callee
saved size, but the comment mentions the Frame Pointer being counted.


  Commit: 55e59083cb610f30ad21fe8c8cdb9900534937ec
      https://github.com/llvm/llvm-project/commit/55e59083cb610f30ad21fe8c8cdb9900534937ec
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll

  Log Message:
  -----------
  [RISCV] Exclude vector callee saved registers from RISCVRegisterInfo::needsFrameBaseReg

The vector callee saved registers shouldn't affect the frame pointer
offset so we don't want to consider them.

I've listed the GPR, FPR32, and FPR64 register classes explicitly
because getMinimalPhysRegClass is slow and this function is called
frequently. So explicitly listing the interesting classs should be
a compile time improvement.


  Commit: 34de2151e2328db800bcd226f31cb6b0cdcf08bb
      https://github.com/llvm/llvm-project/commit/34de2151e2328db800bcd226f31cb6b0cdcf08bb
  Author: David Green <david.green at arm.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/ptradd.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Improve legalization of G_PTR_ADD (#91763)

The testing we have for vector ptradd was a bit lacking. In adding tests
this patch found a couple of issues mostly with the way v3 vectors of
ptrs were sometimes legalized via i64, and with non-i64 additions. It
does not attempt to fix the issue with mergevalues from returning vector
ptrs.


  Commit: ef9090fcb5b8d1c9f56c11d567987ffa1000a486
      https://github.com/llvm/llvm-project/commit/ef9090fcb5b8d1c9f56c11d567987ffa1000a486
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
    M llvm/test/CodeGen/NVPTX/global-variable-big.ll
    M llvm/test/Instrumentation/MemorySanitizer/X86/msan_x86_bts_asm.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll

  Log Message:
  -----------
  [test] Fix check prefixes


  Commit: 70e227a404e51f9248c7ad5d79953805b2afacb4
      https://github.com/llvm/llvm-project/commit/70e227a404e51f9248c7ad5d79953805b2afacb4
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    A mlir/test/Dialect/SparseTensor/sparse_relu.mlir
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][sparse] recognize ReLu operation during sparsification (#92016)

This is a proof of concept recognition of the most basic forms of ReLu
operations, used to show-case sparsification of end-to-end PyTorch
models. In the long run, we must avoid lowering such constructs too
early (with this need for raising them back).

See discussion at

https://discourse.llvm.org/t/min-max-abs-relu-recognition-starter-project/78918


  Commit: 4ecf2caf687014a63f0434a63fe9a522ec9be445
      https://github.com/llvm/llvm-project/commit/4ecf2caf687014a63f0434a63fe9a522ec9be445
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Use aggregated FuncBranchData in writeBATYAML

Switch from FuncBranchData intermediate maps (Intra/InterIndex)
to aggregated Data, same as one used by DataReader:
https://github.com/llvm/llvm-project/blob/e62ce1f8842cca36eb14126d79dcca0a85bf6d36/bolt/lib/Profile/DataReader.cpp#L385-L389
This aligns the order of the output between YAMLProfileWriter and
writeBATYAML.

Test Plan: updated bolt-address-translation-yaml.test

Reviewers: rafaelauler, dcci, ayermolo, maksfb

Reviewed By: ayermolo, maksfb

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


  Commit: efc7bbb917428393f543b09eecddf6e4bb5fce08
      https://github.com/llvm/llvm-project/commit/efc7bbb917428393f543b09eecddf6e4bb5fce08
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
    A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll

  Log Message:
  -----------
  [AMDGPU] Make v2bf16 BUILD_VECTOR legal (#92022)

There is nothing specific here and it is not different from i16 or f16.


  Commit: 561c42df5712c346d4de2e6499b06712403d3164
      https://github.com/llvm/llvm-project/commit/561c42df5712c346d4de2e6499b06712403d3164
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libc/hdr/CMakeLists.txt
    A libc/hdr/errno_macros.h
    M libc/include/errno.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/error-number-macros.h
    M libc/include/llvm-libc-macros/generic-error-number-macros.h
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/error-number-macros.h
    A libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    A libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    A libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
    M libc/src/errno/CMakeLists.txt
    M libc/src/errno/libc_errno.cpp
    M libc/src/errno/libc_errno.h

  Log Message:
  -----------
  [libc][errno] Use macro instead of system header (#91150)

## Why
Currently, the system header `errno.h` is included in `libc_errno.h`,
which is supposed to be consumed by internal implementations only. As
unit and hermetic tests should never use `#include <errno.h>` but
instead use `#include "src/errno/libc_errno.h"`, we do not want to
implicitly include `errno.h`. In order to have a clear seperation
between those two, we want to pull out the definitions of errno numbers
from `errno.h`.

## What
* Extract the definitions of errno numbers from
[include/errno.h.def](https://github.com/llvm/llvm-project/pull/91150/files#diff-ed38ed463ed50571b498a5b69039cab58dc9d145da7f751a24da9d77f07781cd)
and place it under
[include/llvm-libc-macros/linux/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-d6192866629690ebb7cefa1f0a90b6675073e9642f3279df08a04dcdb05fd892)
* Provide mips-specific errno numbers in
[include/llvm-libc-macros/linux/mips/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-3fd35a4c94e0cc359933e497b10311d857857b2e173e8afebc421b04b7527743)
* Find definition of mips errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/mips/bits/errno.h#L32-L50)
(equally defined in the Linux kernel)
* Provide sparc-specific errno numbers in
[include/llvm-libc-macros/linux/sparc/error-number-macros.h](https://github.com/llvm/llvm-project/pull/91150/files#diff-5f16ffb2a51a6f72ebd4403aca7e1edea48289c99dd5978a1c84385bec4f226b)
* Find definition of sparc errno numbers in glibc
[here](https://github.com/bminor/glibc/blob/ea73eb5f581ef5931fd67005aa0c526ba43366c9/sysdeps/unix/sysv/linux/sparc/bits/errno.h#L33-L51)
(equally defined in the Linux kernel)
* Include proxy header `errno_macros.h` instead of the system header
`errno.h` in `libc_errno.h`/`libc_errno.cpp`

Closes https://github.com/llvm/llvm-project/issues/80172


  Commit: c5e67b86ef6718585120e3cabb04c1fc2d292cfb
      https://github.com/llvm/llvm-project/commit/c5e67b86ef6718585120e3cabb04c1fc2d292cfb
  Author: Sayan Saha <sayans at mathworks.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  [mlir] [tensor] Crash in getPackOpResultTypeShape for tensor.pack/unpack ops. (#90641)

Windows build of `mlir` with Visual Studio (19.36.32538 for x64) using
with the following command:

`cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release
-DLLVM_ENABLE_PROJECTS=mlir -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_RTTI=1
-DLLVM_TARGETS_TO_BUILD=host ../llvm`

is leading to a crash when calling canonicalization on
`tensor.pack`/`tensor.unpack` ops `mlir-opt --canonicalize input.mlir`
where the `input.mlir` is as follows (this is taken from one of the
filecheck tests for `tensor.pack`):

```
func.func @pack_unpack(%arg0: tensor<128x256xf32>) -> tensor<128x256xf32> {
          %pack_dest = tensor.empty() : tensor<8x16x8x32xf32>
          %unpack_dest = tensor.empty() : tensor<128x256xf32>
          %tp = tensor.pack %arg0 outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %pack_dest : tensor<128x256xf32> -> tensor<8x16x8x32xf32>
          %tup = tensor.unpack %tp outer_dims_perm = [1, 0] inner_dims_pos = [0, 1] inner_tiles = [8, 32] into %unpack_dest : tensor<8x16x8x32xf32> -> tensor<128x256xf32>
          return %tup : tensor<128x256xf32>
        }
```

The crash is seemingly coming from invalid memory access during
iterating over `innerDimsPos` within `getPackOpResultTypeShape`.

This crash is also causing the following tests to fail:


```
MLIR :: Dialect/Linalg/canonicalize.mlir                                                                                                                    
MLIR :: Dialect/Linalg/data-layout-propagation.mlir                                                                                                         
MLIR :: Dialect/Linalg/generalize-tensor-pack-tile.mlir                                                                                                     
MLIR :: Dialect/Linalg/generalize-tensor-pack.mlir                                                                                                          
MLIR :: Dialect/Linalg/generalize-tensor-unpack-tile.mlir                                                                                                   
MLIR :: Dialect/Linalg/generalize-tensor-unpack.mlir                                                                                                        
MLIR :: Dialect/Linalg/transform-lower-pack.mlir                                                                                                            
MLIR :: Dialect/Linalg/transform-op-fuse.mlir                                                                                                               
MLIR :: Dialect/Linalg/transform-op-pack.mlir                                                                                                               
MLIR :: Dialect/Linalg/transform-pack-greedily.mlir                                                                                                         
MLIR :: Dialect/Tensor/canonicalize.mlir                                                                                                                   
MLIR :: Dialect/Tensor/fold-into-pack-and-unpack.mlir                                                                                                       
MLIR :: Dialect/Tensor/invalid.mlir                                                                                                                         
MLIR :: Dialect/Tensor/ops.mlir                                                                                                                             
MLIR :: Dialect/Tensor/simplify-pack-unpack.mlir                                                                                                           
MLIR :: Dialect/Tensor/tiling.mlir
```


  Commit: 8960078765f141c770f70629a205b3ea88cd9781
      https://github.com/llvm/llvm-project/commit/8960078765f141c770f70629a205b3ea88cd9781
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libc/hdr/errno_macros.h

  Log Message:
  -----------
  [libc][errno] Include <linux/errno.h> for Linux in full build mode. (#92041)


  Commit: 943baf327409fdcb01c9d02aa3c3368f2fca114b
      https://github.com/llvm/llvm-project/commit/943baf327409fdcb01c9d02aa3c3368f2fca114b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Make compareByFilePosition a strict weak order

This fixes the new test linkerscript/enable-non-contiguous-regions.test
from #90007 in -stdlib=libc++ -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG builds.

adjustOutputSections does not discard the output section .potential_a
because it contained .a (which would be spilled to .actual_a).
.potential_a and .bc have the same address and will cause an assertion
failure.


  Commit: 531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
      https://github.com/llvm/llvm-project/commit/531a0b67ea1ad65ea4d1a99c67fee280beeb8fbb
  Author: Xiang Li <python3kgae at outlook.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/MC/MCDXContainerWriter.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/CodeGen/DirectX/embed-dxil.ll
    M llvm/unittests/Object/DXContainerTest.cpp

  Log Message:
  -----------
  [DirectX] Reapply Fix DXIL part header version encoding (#91956)

This reapplies
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
[DirectX] Fix DXIL part header version encoding. The endian issue was
fixed by
https://github.com/llvm/llvm-project/commit/f42117c8517cc928c6373bad35ebf75d94fe865b.

Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.

Fixes #89952


  Commit: 6cfac497e96978f2bfc50a00b51c198f2ed50f82
      https://github.com/llvm/llvm-project/commit/6cfac497e96978f2bfc50a00b51c198f2ed50f82
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test

  Log Message:
  -----------
  [lldb][DWARF] Mark delayed-definition-die-searching.test unsupported on Windows

This marks delayed-definition-die-searching.test as unsupported on
Windows. Clang uses link.exe as default linker if not marked explicitly
to use lld. When used with link.exe clang produces PDB format debug info
even when -gdwarf is specified.
This test will be unsupported until we make lldb-aarch64-windows buildbot
to use lld.


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

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

  Log Message:
  -----------
  [RISCV] Use printRegName in RISCVInstPrinter::printRlist. NFC

Instead of hardcoding all of the register name strings.


  Commit: b342d18a8f0240342ea5c461145e78c6e3af92cc
      https://github.com/llvm/llvm-project/commit/b342d18a8f0240342ea5c461145e78c6e3af92cc
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M libc/src/__support/threads/linux/CMakeLists.txt
    M libc/src/__support/threads/linux/futex_utils.h
    M libc/src/__support/time/linux/CMakeLists.txt
    A libc/src/__support/time/linux/abs_timeout.h
    A libc/src/__support/time/linux/clock_conversion.h
    R libc/src/__support/time/linux/clock_gettime.cpp
    M libc/src/__support/time/linux/clock_gettime.h
    A libc/src/__support/time/linux/monotonicity.h
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/time/CMakeLists.txt
    A libc/test/src/__support/time/linux/CMakeLists.txt
    A libc/test/src/__support/time/linux/timeout_test.cpp

  Log Message:
  -----------
  [libc] add timeout and clock conversion utilities (#91905)

This PR:

- Make `clock_gettime` a header-only library
- Add `clock_conversion` header library to allow conversion between
clocks relative to the time of call
- Add `timeout` header library to manage the absolute timeout used in
POSIX's timed locking/waiting APIs


  Commit: 5b6f15110422f4955212bd26a96057972e3304ad
      https://github.com/llvm/llvm-project/commit/5b6f15110422f4955212bd26a96057972e3304ad
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
    M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-matching-LCS.prof
    A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching-LCS.ll
    M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-matching.ll

  Log Message:
  -----------
  [SampleFDO] Improve stale profile matching by diff algorithm (#87375)

This change improves the matching algorithm by using the diff algorithm,
the current matching algorithm only processes the callsites grouped by
the same name functions, it doesn't consider the order relationships
between different name functions, this sometimes fails to handle this
ambiguous anchor case. For example. (`Foo:1` means a
calliste[callee_name: callsite_location])
```
IR :      foo:1  bar:2  foo:4  bar:5 
Profile :        bar:3  foo:5  bar:6
```
The `foo:1` is matched to the 2nd `foo:5` and using the diff
algorithm(finding longest common subsequence ) can help on this issue.
One well-known diff algorithm is the Myers diff algorithm(paper "An
O(ND) Difference Algorithm and Its Variations∗" Eugene W. Myers), its
variations have been implemented and used in many famous tools, like the
GNU diff or git diff. It provides an efficient way to find the longest
common subsequence or the shortest edit script through graph searching.
There are several variations/refinements for the algorithm, but as in
our case, the num of function callsites is usually very small, so we
implemented the basic greedy version in this change which should be good
enough.
We observed better matchings and positive perf improvement on our
internal services.


  Commit: 435771228caf77cce35406ecf57a49a06e227fe4
      https://github.com/llvm/llvm-project/commit/435771228caf77cce35406ecf57a49a06e227fe4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp

  Log Message:
  -----------
  [RISCV] Inogre CallingConv::RISCV_VectorCall in getCalleeSavedRegs if V/Zve is not enabled.

We can't save vector registers without V/Zve.


  Commit: 4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
      https://github.com/llvm/llvm-project/commit/4c79d38f82e1f6fe8575d88d8c74f2f1806b19ce
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [libc] add errno_macro header to bazel build (#92044)

Patch #91150 added a proxy header for errno macros. This patch fixes the
bazel build since it needs to be added as a dependency.


  Commit: c99d1156c28dfed67a8479dd97608d1f0d6cd593
      https://github.com/llvm/llvm-project/commit/c99d1156c28dfed67a8479dd97608d1f0d6cd593
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    A .github/workflows/pr-request-release-note.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [workflows] Add a job for requesting a release note on release branch PRs (#91826)

We have been collecting release notes from the PRs for most of the
18.1.x releases and this just helps automate the process.


  Commit: 23f8fac745bdde70ed4f9c585d19c4913734f1b8
      https://github.com/llvm/llvm-project/commit/23f8fac745bdde70ed4f9c585d19c4913734f1b8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/AsmParser/LLParser.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/CloningTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  Revert "Repply#2 "[RemoveDIs] Load into new debug info format by default in LLVM (#89799)""

This reverts commit 91446e2aa687ec57ad88dc0df793d0c6e694a7c9 and
a unittest followup 1530f319311908b06fe935c89fca692d3e53184f (#90476).

In a stage-2 -flto=thin -gsplit-dwarf -g -fdebug-info-for-profiling
-fprofile-sample-use= build of clang, a ThinLTO backend compile has
assertion failures:

    Global is external, but doesn't have external or weak linkage!
    ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE
    function declaration may only have a unique !dbg attachment
    ptr @_ZN5clang12ast_matchers8internal18makeAllOfCompositeINS_8QualTypeEEENS1_15BindableMatcherIT_EEN4llvm8ArrayRefIPKNS1_7MatcherIS5_EEEE

The failures somehow go away if -fprofile-sample-use= is removed.


  Commit: ad1083dce4f664265c5489ecd2e46649cd978683
      https://github.com/llvm/llvm-project/commit/ad1083dce4f664265c5489ecd2e46649cd978683
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp

  Log Message:
  -----------
  [mlir][sparse] introduce new pass to propagate sparse encodings. (#92052)


  Commit: 595de12ff307f3f06f4ccd2acafc400cc1262bc6
      https://github.com/llvm/llvm-project/commit/595de12ff307f3f06f4ccd2acafc400cc1262bc6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  [APFloat] Replace partsCount array with single variable (NFC) (#91910)

We only ever use the last element of this array, so there shouldn't be a
need to store the preceding elements as well.


  Commit: 37b8e5feb1d065a7c474e6595bac6d2f65faeb51
      https://github.com/llvm/llvm-project/commit/37b8e5feb1d065a7c474e6595bac6d2f65faeb51
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h

  Log Message:
  -----------
  Revert "[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)"

This reverts commit 9a7262c2601874e5aa64c5db19746770212d4b44.


  Commit: 70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
      https://github.com/llvm/llvm-project/commit/70de9b21cbdeb1297108c4ee520b8f6dbd6496a7
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

  Log Message:
  -----------
  Revert "[lldb][DWARF] Do not complete type from declaration die. (#91799)"

This reverts commit a7eff59f78f08f8ef0487dfe2a136fb311af4fd0.


  Commit: b06f97b039b3a4f2397281609069b2aaad86dd59
      https://github.com/llvm/llvm-project/commit/b06f97b039b3a4f2397281609069b2aaad86dd59
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/profile-passthrough-block.test

  Log Message:
  -----------
  [BOLT] Allow pass-through blocks in YAMLProfileReader (#91828)


  Commit: b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
      https://github.com/llvm/llvm-project/commit/b1c958e50e5d58040c53e2aa822f4dfbcbf9c273
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp

  Log Message:
  -----------
  [AArch64] Clarify atomic load/store size condition (NFCI) (#91907)

This is currently bailing out on MemSizeInBytes larger than 64 bytes.
However, the following code can only handle sizes up to 8 bytes.
Possibly there was confusion here between MemSizeInBytes and
MemSizeInBits.

I *think* that this can't actually result in an out of bounds read of
the opcode table because we'll only ever mark loads/stores of up to 8
bytes as legal (16 byte atomics are custom-legalized earlier). As such,
I've changed this condition to an assert.


  Commit: 4420ea7a4971eadad528c0cd609da471a7614422
      https://github.com/llvm/llvm-project/commit/4420ea7a4971eadad528c0cd609da471a7614422
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringMap.h

  Log Message:
  -----------
  [StringMap] Move free into StringMapImpl dtor (NFC) (#91908)

StringMapImpl allocates the memory for the table, but does not have a
dtor that free it. Instead, StringMap (which inherits from
StringMapImpl) contains the free call. I don't really see a good reason
why this free is performed in the "wrong" class, so move it into
StringMapImpl.


  Commit: 22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
      https://github.com/llvm/llvm-project/commit/22cc4488c9dde0f0d27c0cfc58f6e82517c83f7f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [bazel] Port libc #91905


  Commit: e6b2197a89f5d6d0f56a03c03b8afda561eee899
      https://github.com/llvm/llvm-project/commit/e6b2197a89f5d6d0f56a03c03b8afda561eee899
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    R lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test

  Log Message:
  -----------
  Revert a test that was failing after a previous reversion.

This test was modified as part of the commit:

9a7262c2601874e5aa64c5db19746770212d4b44

but without that patch this test is failing.  Remove the test for now
till the issue with the original patch can be sorted out.


  Commit: f12018eba11f8d4b74cf67dbc416c429c870a5f4
      https://github.com/llvm/llvm-project/commit/f12018eba11f8d4b74cf67dbc416c429c870a5f4
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
    R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx

  Log Message:
  -----------
  [clang-tidy] support expect no diagnosis test (#91293)

When someone wants to declare a test case without any diagnosis.
check-clang-tidy will failed with error message

```
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES not found in the input
```

This PR want to check there are no diagnosis from clang-tidy when
CHECK-FIXES, CHECK-MESSAGES or CHECK-NOTES are not found.

It also changes the extension of a test case. `hxx` is not a valid test
case extension and won't be tested.

---------

Co-authored-by: Danny Mösch <danny.moesch at icloud.com>


  Commit: 881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
      https://github.com/llvm/llvm-project/commit/881d45cd7d3c5ea97f0d409bab5c57ae7bd43ab2
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  [X86][BF16] Do not combine FP_TRUNC + FP_EXTEND if they come from user (#91420)

As discussed in
https://github.com/llvm/llvm-project/commit/3cf8535dbf0bf5fafa99ea1f300e2384a7254fba
We are not allowed to combine explicit fptrunc/fpext from user.


  Commit: c72e94382c21db2f5ff066d72103ac55eb8d2874
      https://github.com/llvm/llvm-project/commit/c72e94382c21db2f5ff066d72103ac55eb8d2874
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Move LeftRightQualifierAlignmentFixer::is...() (#91930)

Move static member functions LeftRightQualifierAlignmentFixer::is...()
out of the class so that #91712 can reland.


  Commit: e20800c16f0570562fea31e9a02d65ba56e6858a
      https://github.com/llvm/llvm-project/commit/e20800c16f0570562fea31e9a02d65ba56e6858a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Test IsQualifier only needs to call the lexer


  Commit: 05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
      https://github.com/llvm/llvm-project/commit/05a97a1a5143d0af60f2dc1e452c3f4ab7409b4c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/Analysis/MustExecute/const-cond.ll

  Log Message:
  -----------
  [MustExec] Drop duplicate RUN line (NFC)


  Commit: 3a25e358e2957cce912e701a544fb6163f572575
      https://github.com/llvm/llvm-project/commit/3a25e358e2957cce912e701a544fb6163f572575
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/Transforms/LICM/hoist-mustexec.ll

  Log Message:
  -----------
  [LICM] Generate test checks (NFC)


  Commit: b7adba8e78662b901099dac5e06fd9f4beda22b4
      https://github.com/llvm/llvm-project/commit/b7adba8e78662b901099dac5e06fd9f4beda22b4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/Transforms/LICM/hoist-mustexec.ll

  Log Message:
  -----------
  [LICM] Add must exec hoisting test with commuted operands (NFC)


  Commit: 7198c3d613f1087c78124928cbe2cbc4e03a0e5a
      https://github.com/llvm/llvm-project/commit/7198c3d613f1087c78124928cbe2cbc4e03a0e5a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

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

  Log Message:
  -----------
  [RISCV] Reduce the amount of similar code in RISCVInstPrinter::printRlist. NFC (#92053)

Remove the switch statement and instead do range checks to know which
pieces we need to print.


  Commit: f608ac261781b7707b2721563765e07c57366619
      https://github.com/llvm/llvm-project/commit/f608ac261781b7707b2721563765e07c57366619
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  [bazel] Actually port libc #91905


  Commit: cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
      https://github.com/llvm/llvm-project/commit/cf8b93d8234c13b6a6baf7f8a1e5bdb8c1c8cca1
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Allow explicit instantiation of Ref/RefPtr on call arguments. (#91875)

Co-authored-by: Ryosuke Niwa <rniwa at apple.com>


  Commit: cff9e77783aceb52da705b7e2b2e45bfbc86c628
      https://github.com/llvm/llvm-project/commit/cff9e77783aceb52da705b7e2b2e45bfbc86c628
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    A clang/test/SemaCXX/cxx2c-attributes.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang][NFC] Mark P2552 as implemented. (#92007)

wg21.link/P2552 suggest that __has_cpp_attribute
should return a non-zero value for all attributes that the
implementation does something interesting with.

Clang does something meaninful with all attributes except for:

- no_unique_address which we do not support for msvc target
- carries_dependency which arguably does nothing interesting. P2552
shies away from specifying a behavior for that attribute (despite being
the only one for which a recommandation would have been interesting,
arguably)

As such, we have nothing to change for this paper. This paper is a DR
and clang always behaved reasonably.


  Commit: e5a277b16755ad273d6c1caa5dd29b4a3ae29078
      https://github.com/llvm/llvm-project/commit/e5a277b16755ad273d6c1caa5dd29b4a3ae29078
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [TableGen][RISCV] Add initial support for marking profiles as experimental (#91993)

This is just the TableGen-side changes, split out as the minimal
testable unit. It doesn't yet transition RVA23 and friends to be
experimental (and add the necessary other changes for this to work).

Although choosing not to emit the SupportedExperimentalProfiles array if
no experimental profiles are present isn't consistent with what we do
for experimental extensions, we need to do this in order to avoid adding
a warning for the empty array when building LLVM for as long as we don't
have any experimental profiles defined.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp

  Log Message:
  -----------
  [RISCV] Remove AllPopRegs array from RISCVFrameLowering.cpp. NFC

The same registers are listed in the same order in FixedCSRFIMap.


  Commit: 96c23af8b39a222ce1facd2ec621fbe661e072b7
      https://github.com/llvm/llvm-project/commit/96c23af8b39a222ce1facd2ec621fbe661e072b7
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M libc/src/__support/time/units.h

  Log Message:
  -----------
  [libc] fix 32bit arm build (casting time_t) (#92065)


  Commit: 364f988d3feb46ead8fdb657c9eab78d93425a28
      https://github.com/llvm/llvm-project/commit/364f988d3feb46ead8fdb657c9eab78d93425a28
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  Reland "[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)"

Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.


  Commit: cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
      https://github.com/llvm/llvm-project/commit/cd45bb2e435b8e648ac528ed5f5fc1dc2bba48fe
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M libc/src/errno/libc_errno.cpp

  Log Message:
  -----------
  [libc][errno] Remove unnecessary include (#92063)

Since https://github.com/llvm/llvm-project/pull/91150, a proxy header
for the errno macros is available and gets included in `libc_errno.h`
since then.

As `libc_errno.cpp` includes `libc_errno.h`, which already includes the
proxy header `hdr/errno_macros.h`, there's no need to include it in
`libc_errno.cpp` if we are in overlay mode, because the proxy header
takes care to either include our header from libc/include/ (fullbuild)
or the corresponding underlying system header (overlay).


  Commit: f3b8d91ca885744925ce775026df40660d9a4d4e
      https://github.com/llvm/llvm-project/commit/f3b8d91ca885744925ce775026df40660d9a4d4e
  Author: appujee <124090381+appujee at users.noreply.github.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  LLVM vectorizer working group (#92068)

Recurring meeting at 3rd Thursday of every month.


  Commit: 12c0024d196189bd38a140512c0bfbda85d8d75e
      https://github.com/llvm/llvm-project/commit/12c0024d196189bd38a140512c0bfbda85d8d75e
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] Move extension aliases into tablegen (#91970)


  Commit: 922fafaff83319e33e8a890a692df073d3ce55c9
      https://github.com/llvm/llvm-project/commit/922fafaff83319e33e8a890a692df073d3ce55c9
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  [GlobalISel] Micro-optimize getConstantVRegValWithLookThrough (#91969)

I was benchmarking the MatchTable when I found that
`getConstantVRegValWithLookThrough` took a non-negligible amount of
time, about 7.5% of all of
`AArch64PreLegalizerCombinerImpl::tryCombineAll`.

I decided to take a closer look to see if I could squeeze some
performance out of it, and I landed on a few changes that:
- Avoid copying APint unnecessarily, especially returning
std::optional<APInt> can be expensive when a out parameter also works.
- Avoid indirect call by using templated function pointers instead of
function_ref/std::function

Both of those changes seem to speedup this function by about 50%, but my
benchmarking (`perf record`) seems inconsistent (so take measurements
with a grain of salt), I saw as high as 4.5% and as low as 2% for this
function on the exact same input after the changes, but it never got
close again to 7% in a few runs so this looks like a stable improvement.


  Commit: ea238974e1b5f2243b6753c2d737c1f04dd1f17b
      https://github.com/llvm/llvm-project/commit/ea238974e1b5f2243b6753c2d737c1f04dd1f17b
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir

  Log Message:
  -----------
  [mlir] [TOSA] Allow any floating point type (#91745)

After #86509 allowed all integer types in TOSA ops, this PR allows TOSA
ops on all floating point types.
This helps to experiment with `f64` and 8-bit float types when spec
conformance is not required.


  Commit: ecce5ccdd5725bd0669c24742bfd46dbf043fec2
      https://github.com/llvm/llvm-project/commit/ecce5ccdd5725bd0669c24742bfd46dbf043fec2
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp

  Log Message:
  -----------
  TosaToLinalg: Allow to skip the TOSA validation pass (#91742)

Allow to skip running the TOSA validation pass when spec conformance is
not required.


  Commit: 4014e2e045f5160ce9cbb9562d151f540d61c0bb
      https://github.com/llvm/llvm-project/commit/4014e2e045f5160ce9cbb9562d151f540d61c0bb
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [TableGen][RISCV] Strip experimental- prefix in profile names in SupportedExperimentalProfiles

This matches what we do for extensions, and saves us having to do it in
RISCVISAInfo.

This is a minor tweak to what I added in #91993.


  Commit: d488a54b408046eb4286727053cd44166dcd4daa
      https://github.com/llvm/llvm-project/commit/d488a54b408046eb4286727053cd44166dcd4daa
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/jumptable-swguarded.ll

  Log Message:
  -----------
  [RISCV] Use software guarded branch for indirect jump table branch. (#66762)

When Zicfilp enabled, indirect jump table branch should be a software
guarded branch.


  Commit: 9837a1cb53e94609c005ed44f937a99f24208452
      https://github.com/llvm/llvm-project/commit/9837a1cb53e94609c005ed44f937a99f24208452
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-05-13 (Mon, 13 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [NFC] Add missing spaces in BoolOption for apinotes (#92027)


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

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

  Log Message:
  -----------
  [lldb] Add lldbutil.install_to_target() helper (#91944)

It can be used in tests #91918, #91931 and such.


  Commit: 2df06e42d733a1f7a1cdf715894921a5bbbc2956
      https://github.com/llvm/llvm-project/commit/2df06e42d733a1f7a1cdf715894921a5bbbc2956
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/Driver.cpp
    A flang/test/Driver/print-resource-dir.F90

  Log Message:
  -----------
  [Flang][Driver] Add -print-resource-dir command line flag to emit Flang's resource directory (#90886)

This should be a NFC change for all drivers, but Flang.


  Commit: 3ae63430aae52b260ce7ea99e5d586c77963b94a
      https://github.com/llvm/llvm-project/commit/3ae63430aae52b260ce7ea99e5d586c77963b94a
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    R llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    R llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
    R llvm/test/CodeGen/SPIRV/link-attribute.ll
    R llvm/test/CodeGen/SPIRV/linkage-types.ll
    A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODR.ll
    A llvm/test/CodeGen/SPIRV/linkage/LinkOnceODRFun.ll
    A llvm/test/CodeGen/SPIRV/linkage/extern-weak-linkage.ll
    A llvm/test/CodeGen/SPIRV/linkage/link-attribute.ll
    A llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll

  Log Message:
  -----------
  [SPIR-V] Set non-kernel function linkage type via OpDecorate for all linkage types except for static functions (#91598)

This PR fixes the issue
https://github.com/llvm/llvm-project/issues/91595 by setting non-kernel
function linkage type via OpDecorate for all linkage types except for
static functions. A new test case is added.


  Commit: cf9a5a162b701b4c27eda1ddf823137ed16ca235
      https://github.com/llvm/llvm-project/commit/cf9a5a162b701b4c27eda1ddf823137ed16ca235
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    A llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll

  Log Message:
  -----------
  [SPIR-V] Support saturation arithmetic intrinsics in SPIR-V Backend (#91722)

This PR is to support saturation arithmetic intrinsics in SPIR-V
Backend.


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

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py

  Log Message:
  -----------
  [lldb] Fixed the test TestGdbRemoteLaunch (#91931)

Install `a.out` to the remote target (after handshake) if necessary and
use the remote path to call `vRun`.


  Commit: 2e165a2c4b2a0e9a9d34a721d756f9006d1502df
      https://github.com/llvm/llvm-project/commit/2e165a2c4b2a0e9a9d34a721d756f9006d1502df
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  Revert "[ValueTracking] Compute knownbits from known fp classes (#86409)"

This reverts commit d03a1a6e5838c7c2c0836d71507dfdf7840ade49.

This change caused failed assertions, see
https://github.com/llvm/llvm-project/pull/86409#issuecomment-2109469845
for details.


  Commit: fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
      https://github.com/llvm/llvm-project/commit/fcd020d561f28a2b33b6cc12a5a0164a6d5e4172
  Author: martinboehme <mboehme at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/ast-dump-anonymous-class.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix malformed AST for anonymous class access in template. (#90842)

# Observed erroneous behavior

Prior to this change, a `MemberExpr` that accesses an anonymous class
might have a prvalue as its base (even though C++ mandates that the base
of a `MemberExpr` must be a glvalue), if the code containing the
`MemberExpr` was in a template.

Here's an example on [godbolt](https://godbolt.org/z/Gz1Mer9oz) (that is
essentially identical to the new test this patch adds).

This example sets up a struct containing an anonymous struct:

```cxx
struct S {
  struct {
    int i;
  };
};
```

It then accesses the member `i` using the expression `S().i`.

When we do this in a non-template function, we get the following AST:

```
`-ExprWithCleanups <col:10, col:14> 'int'
  `-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
    `-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
      `-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue .S::(anonymous struct at line:2:3) 0xbdcb488
        `-MaterializeTemporaryExpr <col:10, col:12> 'S' xvalue
          `-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```

As expected, the AST contains a `MaterializeTemporarExpr` to materialize
the prvalue `S()` before accessing its members.

When we perform this access in a function template (that doesn't
actually even use its template parameter), the AST for the template
itself looks the same as above. However, the AST for an instantiation of
the template looks different:

```
`-ExprWithCleanups <col:10, col:14> 'int'
  `-ImplicitCastExpr <col:10, col:14> 'int' <LValueToRValue>
    `-MemberExpr <col:10, col:14> 'int' xvalue .i 0xbdcb3c0
      `-MaterializeTemporaryExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' xvalue
        `-MemberExpr <col:10, col:14> 'S::(anonymous struct at line:2:3)' .S::(anonymous struct at line:2:3) 0xbdcb488
          `-CXXTemporaryObjectExpr <col:10, col:12> 'S' 'void () noexcept' zeroing
```

Note how the inner `MemberExpr` (the one accessing the anonymous struct)
acts on a prvalue.

Interestingly, this does not appear to cause any problems for CodeGen,
probably because CodeGen is set up to deal with `MemberExpr`s on rvalues
in C. However, it does cause issues in the dataflow framework, which
only supports C++ today and expects the base of a `MemberExpr` to be a
glvalue.

Beyond the issues with the dataflow framework, I think this issue should
be fixed because it goes contrary to what the C++ standard mandates, and
the AST produced for the non-template case indicates that we want to
follow the C++ rules here.

# Reasons for erroneous behavior

Here's why we're getting this malformed AST.

First of all, `TreeTransform` [strips any
`MaterializeTemporaryExpr`s](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L14853)
from the AST.

It is therefore up to
[`TreeTransform::RebuildMemberExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2853)
to recreate a `MaterializeTemporaryExpr` if needed. In the [general
case](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2915),
it does this: It calls `Sema::BuildMemberReferenceExpr()`, which ensures
that the base is a glvalue by [materializing a
temporary](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/SemaExprMember.cpp#L1016)
if needed. However, when `TreeTransform::RebuildMemberExpr()` encounters
an anonymous class, it [calls
`Sema::BuildFieldReferenceExpr()`](https://github.com/llvm/llvm-project/blob/cd132dcbeb0fc79fd657bd5e0a8e9244c3fb5da6/clang/lib/Sema/TreeTransform.h#L2880),
which, unlike `Sema::BuildMemberReferenceExpr()`, does not make sure
that the base is a glvalue.

# Proposed fix

I considered several possible ways to fix this issue:

- Add logic to `Sema::BuildFieldReferenceExpr()` that materializes a
temporary if needed. This appears to work, but it feels like the fix is
in the wrong place:
- AFAIU, other callers of `Sema::BuildFieldReferenceExpr()` don't need
this logic.
- The issue is caused by `TreeTransform` removing the
`MaterializeTemporaryExpr`, so it seems the fix should also be in
`TreeTransform`

- Materialize the temporary directly in
`TreeTransform::RebuildMemberExpr()` if needed (within the case that
deals with anonymous classes).

This would work, too, but it would duplicate logic that already exists
in `Sema::BuildMemberReferenceExpr()` (which we leverage for the general
case).

- Use `Sema::BuildMemberReferenceExpr()` instead of
`Sema::BuildFieldReferenceExpr()` for the anonymous class case, so that
it also uses the existing logic for materializing the temporary.

This is the option I've decided to go with here. There's a slight
wrinkle in that we create a `LookupResult` that claims we looked up the
unnamed field for the anonymous class -- even though we would obviously
never be able to look up an unnamed field. I think this is defensible
and still better than the other alternatives, but I would welcome
feedback on this from others who know the code better.


  Commit: 79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
      https://github.com/llvm/llvm-project/commit/79a6a7e28fffd14e54a9a208af12d724b6eeb2d4
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix a warning

This patch fixes:

  llvm/lib/Target/RISCV/RISCVISelLowering.cpp:19848:11: error:
  enumeration value 'SW_GUARDED_BRIND' not handled in switch
  [-Werror,-Wswitch]


  Commit: 11e5d1cfee399cfaba373078879c1ac3e1109b11
      https://github.com/llvm/llvm-project/commit/11e5d1cfee399cfaba373078879c1ac3e1109b11
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Respect existing glue when lowering convergence tokens (#90834)


  Commit: c28529788955dbfada9f8a5092432f09eec2c3ab
      https://github.com/llvm/llvm-project/commit/c28529788955dbfada9f8a5092432f09eec2c3ab
  Author: aabhinavg <78288544+aabhinavg at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb] Fix redundant condition in Target.cpp (#91882)

This commit addresses issue #87244, where a redundant condition was
found in the Target.cpp file. Static analyzer cppcheck flagged the issue
in the Target.cpp file

fix #87244


  Commit: 0b5b2027f94c60c73d6871cf64d3f580c27c5a53
      https://github.com/llvm/llvm-project/commit/0b5b2027f94c60c73d6871cf64d3f580c27c5a53
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/include/mlir/Transforms/SROA.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Transforms/SROA.cpp
    A mlir/test/Transforms/sroa.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [MLIR][SROA] Reuse allocators to avoid rewalking the IR (#91971)

This commit extends the SROA interfaces to ensure the interface
instantiations can communicate newly created allocators to the
algorithm. This ensures that the SROA implementation does no longer
require re-walking the IR to find new allocators.


  Commit: 346f2b76246a46d5e634dfcf0004d72ac5127f8e
      https://github.com/llvm/llvm-project/commit/346f2b76246a46d5e634dfcf0004d72ac5127f8e
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py

  Log Message:
  -----------
  [lldb] Fix the test TestGdbRemotePlatformFile when run with a remote target (#91918)

It is necessary to transfer the test file to/from the really remote
target (for example Windows host and Linux target). Also ignore chmod
check in case of the Windows host.


  Commit: 632317e9ab5548e991d8974954353033bea62a5b
      https://github.com/llvm/llvm-project/commit/632317e9ab5548e991d8974954353033bea62a5b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Add non-poison propagating LogicalAnd VPInstruction opcode. (#91897)

Add a new opcode to mode non-poison propagating logical AND operations
used when generating edge masks. This follows the similar decision to
model Not as dedicated opcode as well, to improve clarity.

This also helps to simplify the matchers for
https://github.com/llvm/llvm-project/pull/89386.


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


  Commit: d9be51ce68b743bde4d73b6858c454e09df341c5
      https://github.com/llvm/llvm-project/commit/d9be51ce68b743bde4d73b6858c454e09df341c5
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll

  Log Message:
  -----------
  [AArch64] Improve code generation for experimental.cttz.elts (#91505)

This patch extends support for lowering the experimental.cttz.elts
intrinsic to BRKB + CNTP instruction sequences, using this lowering for
all legal predicate types. An unused parameter is also removed from some
of the related regression tests.


  Commit: 0bc23f10328e9f61200c33c02391a44abde59b27
      https://github.com/llvm/llvm-project/commit/0bc23f10328e9f61200c33c02391a44abde59b27
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-addv.ll
    M llvm/test/CodeGen/AArch64/arm64-vabs.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Select G_ICMP Zero Instruction (#90054)


  Commit: 429ce59bd0a7d93ef833939d4a92b56aae103a5a
      https://github.com/llvm/llvm-project/commit/429ce59bd0a7d93ef833939d4a92b56aae103a5a
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the test TestGdbRemoteMemoryTagging (#92077)

Windows path is case insensitive. Tests `test_QMemTags_packets` and
`test_qMemTags_packets` will use the same build dir and conflict. Added
a suffix to resolve conflicts.


  Commit: be9b4dab40c36a3d3d9be26498b24efedd8253bf
      https://github.com/llvm/llvm-project/commit/be9b4dab40c36a3d3d9be26498b24efedd8253bf
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    A llvm/test/CodeGen/SPIRV/spirv-decoration.ll

  Log Message:
  -----------
  [SPIR-V] Introduce support for 'spirv.Decorations' metadata node in SPIR-V Backend (#91736)

This PR is to introduce support for 'spirv.Decorations' metadata node in
SPIR-V Backend.
See also
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/main/docs/SPIRVRepresentationInLLVM.rst
that describes `spirv.Decorations` as an important part of
SPIRV-friendly LLVM IR.


  Commit: 3b8b1022684175e988f043f14596f2dc9b31c6c7
      https://github.com/llvm/llvm-project/commit/3b8b1022684175e988f043f14596f2dc9b31c6c7
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCContext.cpp

  Log Message:
  -----------
  [MC] Make ELFEntrySizeMap a DenseMap (#91728)

There is no need for an ordered std::map and also no need to duplicate
the section name, which is owned by the ELFSectionKey. Therefore, use a
DenseMap instead and don't copy the string. As a further, minor
performance optimization, avoid the hash table lookup in
isELFGenericMergeableSection when the section name was just added.

This slightly improves compilation performance in our application, where
we occasionally compile many small object files.


  Commit: 9f80f437c0b698478c6396c8c44ba094f7199144
      https://github.com/llvm/llvm-project/commit/9f80f437c0b698478c6396c8c44ba094f7199144
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/Hexagon/asr-rnd.ll
    M llvm/test/CodeGen/Hexagon/asr-rnd64.ll

  Log Message:
  -----------
  [Hexagon] Regenerate asr-rnd.ll + asr-rnd64.ll to show all test checks

These are affected by upcoming support for AVG legalization


  Commit: 995a8af81dc10140109cdd95c44bfb093e8a4c02
      https://github.com/llvm/llvm-project/commit/995a8af81dc10140109cdd95c44bfb093e8a4c02
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/MC/SystemZ/insn-good-z13.s
    M llvm/test/MC/SystemZ/insn-good-z14.s
    M llvm/test/MC/SystemZ/insn-good-zEC12.s
    M llvm/test/MC/SystemZ/insn-good.s

  Log Message:
  -----------
  [SystemZ] Add extended mnemonics tests. (#91733)

This adds tests for some extended mnemonics of load, branch, and
compare-and-trap instructions.


  Commit: e7d09cecc9123f89ace1712a617e252d78b179e9
      https://github.com/llvm/llvm-project/commit/e7d09cecc9123f89ace1712a617e252d78b179e9
  Author: Petr Kurapov <petr.kurapov at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp

  Log Message:
  -----------
  [MLIR][Linalg] Ternary Op & Linalg select (#91461)

Following #90236, adding `select` to linalg as `arith.select`. No
implicit type casting.
OpDSL doesn't expose a type restriction for bool, but I saw no reason in
adding it (put a separate symbolic type and check the semantics in the
builder).

---------

Co-authored-by: Renato Golin <rengolin at systemcall.eu>
Co-authored-by: Maksim Levental <maksim.levental at gmail.com>


  Commit: 8fe21fda7469f2fdf83980a2720a15baad74ae4f
      https://github.com/llvm/llvm-project/commit/8fe21fda7469f2fdf83980a2720a15baad74ae4f
  Author: Andrew Sukach <134116196+soukatch at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    A clang/test/Analysis/unreachable-code-exceptions.cpp

  Log Message:
  -----------
  [clang][analyzer] Ignore try-statements in UnreachableCode checker (#91675)

Fixes #90162


  Commit: 7b1b1279414217ea7f2402a03dfb5a18ea5a5367
      https://github.com/llvm/llvm-project/commit/7b1b1279414217ea7f2402a03dfb5a18ea5a5367
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/source/Target/Platform.cpp

  Log Message:
  -----------
  [lldb][Windows] Enforce exec permission using Platform::Install() from Windows host (#91887)

Target::Install() set 0700 permissions for the main executable file.
Platform::Install() just copies permissions from the source. But the
permission eFilePermissionsUserExecute is missing on the Windows host. A
lot of tests failed in case of Windows host and Linux target because of
this issue. There is no API to provide the exec flag. This patch set the
permission eFilePermissionsUserExecute for all files installed via
Platform::Install() from the Windows host. It fixes a lot of tests in
case of Windows host and Linux target.


  Commit: d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
      https://github.com/llvm/llvm-project/commit/d7ef34bfe3d432ffd66a05fc9fcc87fd6c3db2ee
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] update comment following 63d8058 (NFC) (#91120)

Address a review comment post landing 63d8058 (LoopVectorize: guard
appending InstsToScalarize; fix bug) to update a comment.


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

  Changed paths:
    M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py

  Log Message:
  -----------
  [lldb] Fixed the test TestDyldLaunchLinux (#92080)

Install a.out and libsignal_file.so to the remote target if necessary.


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

  Changed paths:
    M lldb/test/API/functionalities/exec/TestExec.py

  Log Message:
  -----------
  [lldb] Fixed the test TestExec (#92082)

Install `secondprog` to the remote target if necessary.


  Commit: 3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
      https://github.com/llvm/llvm-project/commit/3aae916ff7fe9d0953aa63b2ba1d0e871f6f76fc
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll

  Log Message:
  -----------
  Reland "[ValueTracking] Compute knownbits from known fp classes" (#92084)

This patch relands https://github.com/llvm/llvm-project/pull/86409.

I mistakenly thought that `Known.makeNegative()` clears the sign bit of
`Known.Zero`. This patch fixes the assertion failure by explicitly
clearing the sign bit.


  Commit: 58b9564d5d12063bb9c662039802ede8df615374
      https://github.com/llvm/llvm-project/commit/58b9564d5d12063bb9c662039802ede8df615374
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBlock.h

  Log Message:
  -----------
  [clang][Interp][NFC] Add some assertions

Make sure we pass a non-null Descriptor when creating a new Block.


  Commit: 0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
      https://github.com/llvm/llvm-project/commit/0aa5fa9630d0f4ea707c5b8d5cfa2f4bc8d06a14
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Improve Pointer::print()


  Commit: 5865482049872d3ae52ea5559abb9e8f4a1e55e5
      https://github.com/llvm/llvm-project/commit/5865482049872d3ae52ea5559abb9e8f4a1e55e5
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Don't pass on metadata size for composite arrays

We don't need the metadata size for every element, just for the topmost
descriptor.


  Commit: c1bd68867497cf6e2f2afdba1a3a2993a47b5856
      https://github.com/llvm/llvm-project/commit/c1bd68867497cf6e2f2afdba1a3a2993a47b5856
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Fix some dummy-related FIXME comments


  Commit: 31fb0ae23d3d1a1b90198a68c80c9116d844a01f
      https://github.com/llvm/llvm-project/commit/31fb0ae23d3d1a1b90198a68c80c9116d844a01f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/and_sext.ll

  Log Message:
  -----------
  [PowerPC] Regenerate and_sext.ll with test checks

I've kept the grep checks for extsh/extsb instructions, but we can now see the actual codegen as well


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

  Changed paths:
    M offload/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Remove support for old "BUILD_PLUGIN" options. (#91644)

Summary:
Since the move to the statically linked plugins, we added a new way to
directly control which plugins will be added. Delete these old ones as
they will cause the build to fail and suggest the new format.


  Commit: 363258a3ccbb752ec23f681d19b6a874c4db99ab
      https://github.com/llvm/llvm-project/commit/363258a3ccbb752ec23f681d19b6a874c4db99ab
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  [Offload] Remove old references to `isCtor` (#91766)

Summary:
These have long since been removed, support for ctors / dtors now
happens through special kernels the backend creates.


  Commit: cbd72cb0deec31a5c3063cf1f1af759761115eee
      https://github.com/llvm/llvm-project/commit/cbd72cb0deec31a5c3063cf1f1af759761115eee
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTranspose.cpp

  Log Message:
  -----------
  [mlir][vector] Split `TransposeOpLowering` into 2 patterns (#91935)

Splits `TransposeOpLowering` into two patterns:
1. `Transpose2DWithUnitDimToShapeCast` - rewrites 2D `vector.transpose`
    as `vector.shape_cast` (there has to be at least one unit dim),
  2. `TransposeOpLowering` - the original pattern without the part
    extracted into `Transpose2DWithUnitDimToShapeCast`.

The rationale behind the split:
  * the output generated by `Transpose2DWithUnitDimToShapeCast` doesn't
    really match the intended output from `TransposeOpLowering` as
    documented in the source file - it doesn't make much sense to keep
    it embedded inside `TransposeOpLowering`,
* `Transpose2DWithUnitDimToShapeCast` _does_ work for scalable vectors,
    `TransposeOpLowering` _does_ not.


  Commit: e6d3a4212d20b49a8e63f11fedea79cccf261479
      https://github.com/llvm/llvm-project/commit/e6d3a4212d20b49a8e63f11fedea79cccf261479
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
    M llvm/lib/CodeGen/PseudoSourceValue.cpp

  Log Message:
  -----------
  [CodeGen] Use SmallVector for FixedStackPSVs (#91760)

Frame indices are dense and consecutive, so use a vector instead of a
std::map. Due to possibly negative frame indices, use zig-zag encoding.
IndexedMap was not usable, as it attempted to copy the null value, which
is not possible with a std::unique_ptr.

This is just a minor performance improvement, but a low-hanging fruit.


  Commit: c7c5666aac543a49b485a133f4a94865e2613a43
      https://github.com/llvm/llvm-project/commit/c7c5666aac543a49b485a133f4a94865e2613a43
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M flang/include/flang/Lower/StatementContext.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/test/HLFIR/order_assignments/impure-where.fir
    M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
    M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
    A flang/test/HLFIR/order_assignments/where-cleanup.f90
    M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
    A flang/test/HLFIR/order_assignments/where-hoisting.f90
    A flang/test/Lower/HLFIR/where-nonelemental.f90

  Log Message:
  -----------
  [flang] Do not hoist all scalar sub-expressions from WHERE constructs (#91395)

The HLFIR pass lowering WHERE (hlfir.where op) was too aggressive in its
hoisting of scalar sub-expressions from LHS/RHS/MASKS outside of the
loops generated for the WHERE construct.
This violated F'2023 10.2.3.2 point 10 that stipulated that elemental
operations must be evaluated only for elements corresponding to true
values, because scalar operations are still elemental, and hoisting them
is invalid if they could have side effects (e.g, division by zero) and
if the MASK is always false (i.e., the loop body is never evaluated).

The difficulty is that 10.2.3.2 point 9 mandates that nonelemental
function must be evaluated before the loops. So it is not possible to
simply stop hoisting non hlfir.elemental operations.
Marking calls with an elemental/nonelemental attribute would not allow
the pass to be correct if inlining is run before and drops this
information, beside, extracting the argument tree that may have been
CSE-ed with the rest of the expression evaluation would be a bit
combursome.

Instead, lower nonelemental calls into a new hlfir.exactly_once
operation that will allow retaining the information that the operations
contained inside its region must be hoisted. This allows inlining to
operate before if desired in order to improve alias analysis.

The LowerHLFIROrderedAssignments pass is updated to only hoist the
operations contained inside hlfir.exactly_once bodies.


  Commit: b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
      https://github.com/llvm/llvm-project/commit/b1e99a699db02f3a61d5b66f5d6dd68bae3b9a69
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LV] Drop redundant comment from createEdgeMask (NFC).

Follow-up to remove a redundant comment post-commit
https://github.com/llvm/llvm-project/pull/91897


  Commit: 292b300c5131e54b9977305bb4aca9a03e1b4fed
      https://github.com/llvm/llvm-project/commit/292b300c5131e54b9977305bb4aca9a03e1b4fed
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/test/src/string/memcpy_test.cpp
    A libc/test/src/string/memory_utils/protected_pages.h
    M libc/test/src/string/memset_test.cpp

  Log Message:
  -----------
  [libc][bug] Fix out of bound write in memcpy w/ software prefetching (#90591)

This patch adds tests for `memcpy` and `memset` making sure that we
don't access buffers out of bounds. It relies on POSIX `mmap` /
`mprotect` and works only when FULL_BUILD_MODE is disabled.

The bug showed up while enabling software prefetching.
`loop_and_tail_offset` is always running at least one iteration but in
some configurations loop unrolled prefetching was actually needing only
the tail operation and no loop iterations at all.


  Commit: 9d4f7f44b64d87d1068859906f43b7ce03a7388b
      https://github.com/llvm/llvm-project/commit/9d4f7f44b64d87d1068859906f43b7ce03a7388b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
    M llvm/test/CodeGen/LoongArch/addrspacecast.ll
    M llvm/test/CodeGen/LoongArch/alloca.ll
    M llvm/test/CodeGen/LoongArch/alsl.ll
    M llvm/test/CodeGen/LoongArch/analyze-branch.ll
    M llvm/test/CodeGen/LoongArch/andn-icmp.ll
    M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/LoongArch/bitreverse.ll
    M llvm/test/CodeGen/LoongArch/block-address.ll
    M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
    M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
    M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
    M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
    M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
    M llvm/test/CodeGen/LoongArch/bstrins_d.ll
    M llvm/test/CodeGen/LoongArch/bstrins_w.ll
    M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
    M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
    M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
    M llvm/test/CodeGen/LoongArch/bswap.ll
    M llvm/test/CodeGen/LoongArch/bytepick.ll
    M llvm/test/CodeGen/LoongArch/code-models.ll
    M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
    M llvm/test/CodeGen/LoongArch/cpus.ll
    M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
    M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
    M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
    M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
    M llvm/test/CodeGen/LoongArch/expand-call.ll
    M llvm/test/CodeGen/LoongArch/frame.ll
    M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
    M llvm/test/CodeGen/LoongArch/gep-imm.ll
    M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
    M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
    M llvm/test/CodeGen/LoongArch/get-reg.ll
    M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
    M llvm/test/CodeGen/LoongArch/global-address.ll
    M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
    M llvm/test/CodeGen/LoongArch/imm.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
    M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-la32-error.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
    M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
    M llvm/test/CodeGen/LoongArch/jump-table.ll
    M llvm/test/CodeGen/LoongArch/ldptr.ll
    M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
    M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
    M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
    M llvm/test/CodeGen/LoongArch/load-store-offset.ll
    M llvm/test/CodeGen/LoongArch/memcmp.ll
    M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
    M llvm/test/CodeGen/LoongArch/nomerge.ll
    M llvm/test/CodeGen/LoongArch/not.ll
    M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
    M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
    M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
    M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
    M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
    M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
    M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
    M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
    M llvm/test/CodeGen/LoongArch/select-const.ll
    M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
    M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
    M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
    M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
    M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
    M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
    M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
    M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
    M llvm/test/CodeGen/LoongArch/stack-realignment.ll
    M llvm/test/CodeGen/LoongArch/stptr.ll
    M llvm/test/CodeGen/LoongArch/tail-calls.ll
    M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
    M llvm/test/CodeGen/LoongArch/thread-pointer.ll
    M llvm/test/CodeGen/LoongArch/tls-models.ll
    M llvm/test/CodeGen/LoongArch/trap.ll
    M llvm/test/CodeGen/LoongArch/unaligned-access.ll
    M llvm/test/CodeGen/LoongArch/xray-attribute-instrumentation.ll
    M llvm/test/CodeGen/LoongArch/zext-with-load-is-free.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll
    M llvm/test/Transforms/CodeGenPrepare/LoongArch/splitgep.ll
    M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll

  Log Message:
  -----------
  [test][LoongArch] Add -mattr=+d option. NFC

Because most of tests assume target-abi=`lp64d`, adding the
corresponding feature is reasonable.

rg -l loongarch -g '!*.s' | xargs sed -i '/mtriple=loongarch/ {/-mattr=/!{/target-abi/! s/mtriple=loongarch.. /&-mattr=+d /}}'


  Commit: 415616daa0bdf6c0065c4c1967f1c4050e6ea836
      https://github.com/llvm/llvm-project/commit/415616daa0bdf6c0065c4c1967f1c4050e6ea836
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Lower standalone ops via OMP dispatch, NFC (#92045)

This moves lowering of standalone OpenMP ops into the dispatch function.
Follow-up to PR90098.


  Commit: cc54129b983799e1aaea77aa0ff3040dc30cbc8c
      https://github.com/llvm/llvm-project/commit/cc54129b983799e1aaea77aa0ff3040dc30cbc8c
  Author: Justin Cady <desk at justincady.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp

  Log Message:
  -----------
  Add option to exclude headers from clang-tidy analysis (#91400)

This is a renewed attempt to land @toddlipcon's D34654. The comments on
that patch indicate a broad desire for some ability to ignore headers.

After considering various options, including migrating to std::regex, I
believe this is the best path forward. It's intuitive to have separate
regexes for including headers versus excluding them, and this approach
has the added benefit of being completely opt-in. No existing configs
will break, regardless of existing HeaderFilterRegex values.

This functionality is useful for improving performance when analyzing a
targeted subset of code, as well as in cases where some collection of
headers cannot be modified (third party source, for example).


  Commit: bf7a0f9958b93d9979e0adf93b80ad056615706d
      https://github.com/llvm/llvm-project/commit/bf7a0f9958b93d9979e0adf93b80ad056615706d
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/different-gep-types.ll

  Log Message:
  -----------
  Fix incorrect codegen with respect to GEPs #85333 (#92047)

As mentioned in #68882 and
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699

Gep arithmetic isn't consistent with different types. GVNSink didn't
realize this and sank all geps as long as their operands can be wired
via PHIs
in a post-dominator.

Fixes: #85333
Reapply: #88440 after fixing the non-determinism issues in #90995


  Commit: e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
      https://github.com/llvm/llvm-project/commit/e1685eb8d7de66ce6420cdd3340a2e3f892c09bd
  Author: Mubashar Ahmad <mubashar.ahmad at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvm] Add llvm.vector.deinterleave2 intrinsic (#91986)

Adds the LLVM vector.deinterleave2 intrinsic to the MLIR LLVM dialect. The 
deinterleave2 intrinsic takes a vector and returns two vectors with the first 
having even elements and the second with odd elements from the input 
vector. The inverse of vector.interleave2.


  Commit: cfa09473a6f904d214a1b514f41b9d4d9276c927
      https://github.com/llvm/llvm-project/commit/cfa09473a6f904d214a1b514f41b9d4d9276c927
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/MC/MCInst.cpp

  Log Message:
  -----------
  Cope with MCOperand null Insts (#91794)

MCOperand has a constructor that permits a nullptr MCInst, and BOLT makes use of that. Adjust MCOperand's dumper to permit such use.


  Commit: 725014d866e2a75bfe293ee2d168d4c8f302fc74
      https://github.com/llvm/llvm-project/commit/725014d866e2a75bfe293ee2d168d4c8f302fc74
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify CFG validation (#91977)

Remove 'Valid' local boolean that has a single use, and return directly instead.


  Commit: 312f83f0e0672118a6d82d4b4d3568e9c812086d
      https://github.com/llvm/llvm-project/commit/312f83f0e0672118a6d82d4b4d3568e9c812086d
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Fix dependency computation for pack indexing expression (#91933)

Given `foo...[idx]` if idx is value dependent, the expression is type
dependent.

Fixes #91885
Fixes #91884


  Commit: 1aff294f6ef9c0a1a264c55d55e441e37a353f17
      https://github.com/llvm/llvm-project/commit/1aff294f6ef9c0a1a264c55d55e441e37a353f17
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M bolt/lib/Core/BinaryBasicBlock.cpp

  Log Message:
  -----------
  [BOLT][NFC] Simplify successor check (#91980)

Remove excess parentheses and use `boolean ? true-case : false-case` idiom.


  Commit: 03eba209852c769ab6993be3bc01cdcc57d787b0
      https://github.com/llvm/llvm-project/commit/03eba209852c769ab6993be3bc01cdcc57d787b0
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/AST/OpenACCClause.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp

  Log Message:
  -----------
  [OpenACC] Fix ast-print of device_type clause

When writing the test for this I seemingly forgot to put 'CHECK' on the
lines, so I didn't notice that I was printing the identifiers as
pointers rather than their names.  This patch corrects the tests and the
print behavior.


  Commit: e60b83a645685f22375af9bca5af6624b3a805d0
      https://github.com/llvm/llvm-project/commit/e60b83a645685f22375af9bca5af6624b3a805d0
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M libclc/generic/lib/math/log_base.h

  Log Message:
  -----------
  [libclc] Clarify condition expression (NFC)

Closes #91188


  Commit: d422e90fcbdddd68749918ddd86c94188807efce
      https://github.com/llvm/llvm-project/commit/d422e90fcbdddd68749918ddd86c94188807efce
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
    A llvm/test/CodeGen/AArch64/pr92062.ll

  Log Message:
  -----------
  [GlobalIsel][AArch64] fix out of range access in regbankselect (#92072)

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


  Commit: 041baf2f60ac3e107399641aea04c77019e7eab8
      https://github.com/llvm/llvm-project/commit/041baf2f60ac3e107399641aea04c77019e7eab8
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.h
    A mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOpInterfaces.h
    M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
    M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
    M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
    M mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
    M mlir/test/Dialect/ArmSME/canonicalize.mlir
    R mlir/test/Dialect/ArmSME/cse.mlir
    M mlir/test/Dialect/ArmSME/roundtrip.mlir
    A mlir/test/Dialect/ArmSME/tile-allocation-copies.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-invalid.mlir
    M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
    A mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
    M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
    M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
    M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp

  Log Message:
  -----------
  [mlir][ArmSME] Use liveness information in the tile allocator (#90448)

This patch rewrites the ArmSME tile allocator to use liveness
information to make better tile allocation decisions and improve the
correctness of the ArmSME dialect. This algorithm used here is a linear
scan over live ranges, where live ranges are assigned to tiles as they
appear in the program (chronologically). Live ranges release their
assigned tile ID when the current program point is passed their end.
This is a greedy algorithm (which is mainly to keep the implementation
relatively straightforward), and because it seems to be sufficient for
most kernels (e.g. matmuls) that use ArmSME. The general steps of this
are roughly from
https://link.springer.com/content/pdf/10.1007/3-540-45937-5_17.pdf,
though there have been a few simplifications and assumptions made for
our use case.

Hopefully, the only changes needed for a user of the ArmSME dialect is
that:

- `-allocate-arm-sme-tiles` will no longer be a standalone pass 
  - `-test-arm-sme-tile-allocation` is only for unit tests 
- `-convert-arm-sme-to-llvm` must happen after `-convert-scf-to-cf` 
   - SME tile allocation is now part of the LLVM conversion

By integrating this into the `ArmSME -> LLVM` conversion we can allow
high-level (value-based) ArmSME operations to be side-effect-free, as we
can guarantee nothing will rearrange ArmSME operations before we emit
intrinsics (which could invalidate the tile allocation).

The hope is for ArmSME operations to have no hidden state/side effects
and allow easily lowering dialects such as `vector` and `arith` to SME,
without making assumptions about how the input IR looks, as the
semantics of the operations will be the same. That is no (new) side
effects and the IR follows the rules of SSA (a value will never change).

The aim is correctness, so we have a base for working on optimizations.


  Commit: 2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
      https://github.com/llvm/llvm-project/commit/2b15c4a62be6ceab124cb2505ae8dc6a98ba6e7d
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
    M llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
    M llvm/test/CodeGen/AArch64/sve2-histcnt.ll

  Log Message:
  -----------
  [AArch64] Postcommit fixes for histogram intrinsic (#92095)

A buildbot with expensive checks enabled flagged some problems with my patch. There was also a post-commit nit on the langref changes.


  Commit: d9db2664994ff672f50d7fd0117477935dac04f1
      https://github.com/llvm/llvm-project/commit/d9db2664994ff672f50d7fd0117477935dac04f1
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/lit.local.cfg

  Log Message:
  -----------
  [PowerPC][test] Catch any exception when retrieving git revision (#92004)

This makes the `vc-rev-enabled` feature unsupported if we fail to
retrieve the git revision for any reason, such as if git is not
installed.


  Commit: 8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
      https://github.com/llvm/llvm-project/commit/8070b2defa6df1f1a3f3d4ed4989047b0e1bb639
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/AST/ast-dump-concepts.cpp

  Log Message:
  -----------
  [Clang] Retain the angle loci for invented template parameters of constraints (#92104)

Clangd uses it to determine whether the argument is within the selection
range.

Fixes https://github.com/clangd/clangd/issues/2033


  Commit: a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
      https://github.com/llvm/llvm-project/commit/a4accdfe0c9415ad1bd3dac7dda8cb8bbcd1be2f
  Author: Artem Chikin <achikin at apple.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/SourceMgr.h
    M llvm/lib/Support/SourceMgr.cpp
    M llvm/unittests/Support/SourceMgrTest.cpp

  Log Message:
  -----------
  [Support] Add option to print SMDiagnostic into a buffer without the filename and location info (#92050)


  Commit: e08f1fda7508138d408cd61608bcbf30f8c3bb4d
      https://github.com/llvm/llvm-project/commit/e08f1fda7508138d408cd61608bcbf30f8c3bb4d
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    A clang/test/CodeGenHLSL/convergence/do.while.hlsl
    A clang/test/CodeGenHLSL/convergence/for.hlsl
    A clang/test/CodeGenHLSL/convergence/while.hlsl

  Log Message:
  -----------
  [clang][SPIR-V] Always add convergence intrinsics (#88918)

PR #80680 added bits in the codegen to lazily add convergence intrinsics
when required. This logic relied on the LoopStack. The issue is when
parsing the condition, the loopstack doesn't yet reflect the correct
values, as expected since we are not yet in the loop.

However, convergence tokens should sometimes already be available. The
solution which seemed the simplest is to greedily generate the tokens
when we generate SPIR-V.

Fixes #88144

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: ac0d415552922436c3136e3dd1446294858c2d7d
      https://github.com/llvm/llvm-project/commit/ac0d415552922436c3136e3dd1446294858c2d7d
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  Update documentation for buffer fat pointers (#92034)

Now that we've got (minus some issues around datatypes and invariant
loads) working lowerings for address space 7, update the table in the
AMDGPU usage guide to properly indicate the nature of these address
spaces.


  Commit: 736ffdc38347f3f83cf7b3c034b8e837f46f7eab
      https://github.com/llvm/llvm-project/commit/736ffdc38347f3f83cf7b3c034b8e837f46f7eab
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll

  Log Message:
  -----------
  [RISCV] Add X27 to SavedRegs when X26 is in SavedRegs for cm.push/pop (#92067)

cm.push can't save X26 without also saving X27. This removes two other
checks for this case.

This causes CFI to be emitted since X27 is now explicitly a callee saved
register.

The affected tests use inline assembly to clobber X26 rather than the
whole range of s0-s10.


  Commit: 2766f2174e428842a9ab1a9ba5b320be5878f87d
      https://github.com/llvm/llvm-project/commit/2766f2174e428842a9ab1a9ba5b320be5878f87d
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC] Loosen __objc_imageinfo flag merging to match ld (#91767)

Allow mixing objects with/without signed class ro data and category
class properties as long as it happens before we register the metadata.
These combinations are a warning in ld, not a hard error. The only case
that is ABI-breaking is if we already registered with the feature
enabled but later try to load an object that doesn't support it.

rdar://127336061


  Commit: 82434c70b792c4a3773515f8d3172df11e4e615f
      https://github.com/llvm/llvm-project/commit/82434c70b792c4a3773515f8d3172df11e4e615f
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Add test cases for div/mod to cover various extended combinations of 32-bit integers. NFC


  Commit: 08536b0f9ccc208ea170b9451026eb1fe1fbb780
      https://github.com/llvm/llvm-project/commit/08536b0f9ccc208ea170b9451026eb1fe1fbb780
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] refactor tryToCreateDiffCheck (NFC) (#92110)

tryToCreateDiffCheck has one caller, and exits early if CanUseDiffCheck
is false. Hence, we can get/set CanUseDiffCheck in the caller to avoid
wastefully calling tryToCreateDiffCheck. This patch is an NFC
simplification of program logic.


  Commit: 3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
      https://github.com/llvm/llvm-project/commit/3d6f18db7b5bbf85bdd40c7c7d627baff2802b7c
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    R llvm/test/CodeGen/AArch64/fdiv_combine.ll
    R llvm/test/CodeGen/AArch64/sitofp-fixed-legal.ll

  Log Message:
  -----------
  [AArch64] Remove redundant FDIV Combine. (#91924)

The target combine is no longer required because InstCombine will
transform the DIV by a power of 2 into a multiply, so in practice
this case will never trigger.

Additionally, the generated code would have been incorrect for
streaming(-compatible) functions, because it assumed NEON was available.


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

  Changed paths:
    M llvm/test/CodeGen/ARM/iabs.ll

  Log Message:
  -----------
  [ARM] iabs.ll - regenerate test checks


  Commit: 0f17d9a28c40eebd42c83956e2a7b5186c1814d7
      https://github.com/llvm/llvm-project/commit/0f17d9a28c40eebd42c83956e2a7b5186c1814d7
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py

  Log Message:
  -----------
  [lldb] Fixed the test TestThreadStates when run with a remote target (#92086)

self.wait_for_running_event(process) is always called after
self.runCmd("continue"). It is strange to expect eStateConnected here.
This test failed in case of a remote target. The correct state is
eStateRunning. Removed incorrect checking.


  Commit: 4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
      https://github.com/llvm/llvm-project/commit/4c68de5a0027fca9ebff5f8ffec3a35a43d14e74
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll

  Log Message:
  -----------
  [RISCV][CostModel] Add cost model for experimental.cttz.elts (#91778)

The cost of `experimental.cttz.elts` in RISC-V equals to the cost of
vfirst when the zero_is_poison argument is true. Otherwise, we add
additional costs of cmp + select to convert the -1 result from vfirst to
EVL.


  Commit: 8019cbbbbc94658d133583f7be6cd0023d30b0f3
      https://github.com/llvm/llvm-project/commit/8019cbbbbc94658d133583f7be6cd0023d30b0f3
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Earlier type checking for builtin unary operators (#90500)

Currently, clang postpones all semantic analysis of unary operators with
operands of pointer/pointer to member/array/function type until
instantiation whenever that type is dependent (e.g. `T*` where `T` is a
type template parameter). Consequently, the uninstantiated AST nodes all
have the type `ASTContext::DependentTy` (which, for the purposes of
#90152, is undesirable as that type may be the current instantiation!
(e.g. `*this`))

This patch moves the point at which we perform semantic analysis for
such expression to be prior to instantiation.


  Commit: 2ff43ce87e66d9324370e35ea6743ef57400c76e
      https://github.com/llvm/llvm-project/commit/2ff43ce87e66d9324370e35ea6743ef57400c76e
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/test/Dialect/Polynomial/attributes.mlir
    M mlir/test/Dialect/Polynomial/ops.mlir
    M mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir

  Log Message:
  -----------
  Restore #91137 (#92003)

#91137 reverted in #92001

A build error fix added in 28d5ece8ca93ef04fee9b0258b70b750b66c05ca

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 344c73ee831995d78d6eca1bed101878b5bae1bc
      https://github.com/llvm/llvm-project/commit/344c73ee831995d78d6eca1bed101878b5bae1bc
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel

  Log Message:
  -----------
  [libc][bazel] Updates for 292b300c5131e54b9977305bb4aca9a03e1b4fed


  Commit: 5f7477a72b826d0d6e7369ebe93cefcd55682d95
      https://github.com/llvm/llvm-project/commit/5f7477a72b826d0d6e7369ebe93cefcd55682d95
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/option-invalid.s
    M llvm/test/MC/RISCV/rv32xtheadmempair-invalid.s
    M llvm/test/MC/RISCV/rv32zcmp-invalid.s
    M llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
    M llvm/test/MC/RISCV/rv64zcmp-invalid.s
    M llvm/test/MC/RISCV/rvv/invalid.s
    M llvm/test/MC/RISCV/rvv/xsfvcp-invalid.s
    M llvm/test/MC/RISCV/rvv/zvbb-invalid.s
    M llvm/test/MC/RISCV/rvv/zvkned-invalid.s
    M llvm/test/MC/RISCV/rvv/zvknh-invalid.s
    M llvm/test/MC/RISCV/rvv/zvksed-invalid.s
    M llvm/test/MC/RISCV/rvv/zvksh-invalid.s

  Log Message:
  -----------
  RISCVAsmParser: Make diagnostics more conventional

Most diagnostics obey
https://llvm.org/docs/CodingStandards.html#error-and-warning-messages
but some diverge. Fix them.

While here, adjust some diagnostics.

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


  Commit: 1355dcbb6e8b40780f1fbaa89cde50aa763dab89
      https://github.com/llvm/llvm-project/commit/1355dcbb6e8b40780f1fbaa89cde50aa763dab89
  Author: quanwanandy <150498259+quanwanandy at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  Fix Bazel Build (#92139)


  Commit: 77b80bd8186b392ed9bc87cd526a64093dd03522
      https://github.com/llvm/llvm-project/commit/77b80bd8186b392ed9bc87cd526a64093dd03522
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir][flang] Improve handling of fortran module variables. (#91604)

Currently, only those global variables which are at compile unit scope
are added to the 'globals' list of the DICompileUnit. This does not work
for languages which support modules (e.g. Fortran) where hierarchy
can be
variable -> module -> compile unit.

To fix this, if a variable scope points to a module, we walk one level
up and see if module is in the compile unit scope.

This was initially part of #91582 which adds debug information for
Fortran module variables. @kiranchandramohan pointed out that MLIR
changes should go in separate PRs.


  Commit: b04c07bf271be097a5e5726730c538454fd30992
      https://github.com/llvm/llvm-project/commit/b04c07bf271be097a5e5726730c538454fd30992
  Author: Palmer Dabbelt <palmer at dabbelt.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/RISCVTargetParser.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/test/MC/RISCV/rvv/invalid.s

  Log Message:
  -----------
  [RISCV] Only allow up to e64 in vsetvli (#92010)

These larger SEWs aren't in the ratified V spec. Thanks to dzaima and
sorear on IRC for pointing this one out.

Signed-off-by: Palmer Dabbelt <palmer at rivosinc.com>


  Commit: 6c8ebc053533c691099ab60c41261b3cb4ba2fa3
      https://github.com/llvm/llvm-project/commit/6c8ebc053533c691099ab60c41261b3cb4ba2fa3
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  [NFC][CallPromotionUtils]Extract a helper function versionCallSiteWithCond from versionCallSite (#81181)

* This is to be used by https://github.com/llvm/llvm-project/pull/81378
to implement a variant of versionCallSite that compares vtables.
* The parent patch is https://github.com/llvm/llvm-project/pull/81051


  Commit: 54435b5df32d80c68c94acf96a7565ffd3d86542
      https://github.com/llvm/llvm-project/commit/54435b5df32d80c68c94acf96a7565ffd3d86542
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp

  Log Message:
  -----------
  [clang-tidy] Ignore implicit casts with errors in bugprone-implicit-widening-of-multiplication-result (#92025)

When expression got errors (missing typedef) and clang-tidy is compiled
with asserts enabled, then we crash in this check on assert because type
with errors is visible as an dependent one. This is issue caused by
invalid input.

But as there is not point to crash in such case and generate additional
confusion, such expressions with errors will be now ignored.

Fixes #89515, #55293


  Commit: 97e35e0098e863bff959f726f1492654a6cfe441
      https://github.com/llvm/llvm-project/commit/97e35e0098e863bff959f726f1492654a6cfe441
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    R clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92149)

This reverts commit 8019cbbbbc94658d133583f7be6cd0023d30b0f3.


  Commit: 86f655cb4e2f4134d48219a2959a10c90e3396cb
      https://github.com/llvm/llvm-project/commit/86f655cb4e2f4134d48219a2959a10c90e3396cb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll

  Log Message:
  -----------
  [LAA] Add tests showing unnecessary RT check due to applying loop guards

Test courtesy to @bjope showing a regression due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.


  Commit: 39d123f58a0e3c5f1a928940244b8dfd827fd4e5
      https://github.com/llvm/llvm-project/commit/39d123f58a0e3c5f1a928940244b8dfd827fd4e5
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/tools/llvm-rc/ResourceScriptStmt.h

  Log Message:
  -----------
  [nfc] const-ify `IntOrString::equalsLower` (#92152)


  Commit: de14b749fee41d4ded711e771e43043ae3100cb3
      https://github.com/llvm/llvm-project/commit/de14b749fee41d4ded711e771e43043ae3100cb3
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/imm.ll

  Log Message:
  -----------
  [RISCV][test] Precommit tests for byte store of -1

Although we can't reduce the number of instructions, if we selected `li
rd, -1` instead then this could be encoded in a 16-bit instruction.


  Commit: 90109d444839683b09f0aafdc50b749cb4b3203b
      https://github.com/llvm/llvm-project/commit/90109d444839683b09f0aafdc50b749cb4b3203b
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/test/CodeGen/RISCV/imm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/unaligned-load-store.ll

  Log Message:
  -----------
  [RISCV] Improve constant materialisation for stores of i8 negative constants (#92131)

This follows the same pattern as 20e62658735a1b03ecadc. Although we
can't reduce the number of instructions used, if we are able to use a
sign-extended 6-bit immediate then the 16-bit c.li instruction can be
selected (thus saving code size). Although this _could_ be gated so it
only happens if C is enabled, I've opted not to because at worst it's
neutral and it doesn't seem helpful to add unnecessary divergence
between the RVC and non-RVC paths.


  Commit: 67d840b60fbd75ca1b52d77bd3353771ec853735
      https://github.com/llvm/llvm-project/commit/67d840b60fbd75ca1b52d77bd3353771ec853735
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    A llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll

  Log Message:
  -----------
  [VPlan] Relax over-aggressive assertion in VPTransformState::get().

There are cases where a vector value has some users that demand the
the single scalar value only (NeedsScalar), while other users demand the
vector value (see attached test cases). In those cases, the NeedsScalar
users should only demand the first lane.

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


  Commit: f89b1b8a68065c4b880417abb0563bce21399b52
      https://github.com/llvm/llvm-project/commit/f89b1b8a68065c4b880417abb0563bce21399b52
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix bazel build.


  Commit: 19008d32182ebbe421aaa222ee8af5c3e134e550
      https://github.com/llvm/llvm-project/commit/19008d32182ebbe421aaa222ee8af5c3e134e550
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    A llvm/test/CodeGen/AArch64/smul_fix.ll
    A llvm/test/CodeGen/AArch64/smul_fix_sat.ll
    A llvm/test/CodeGen/AArch64/umul_fix.ll
    A llvm/test/CodeGen/AArch64/umul_fix_sat.ll

  Log Message:
  -----------
  [llvm] Support fixed point multiplication on AArch64 (#84237)

Prior to this, fixed point multiplication would lead to this assertion
error on AArhc64, armv8, and armv7.

```
 _Accum f(_Accum x, _Accum y) { return x * y; }

// ./bin/clang++ -ffixed-point /tmp/test2.cc -c -S -o - -target aarch64 -O3
clang++: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:10245: void llvm::TargetLowering::forceExpandWideMUL(SelectionDAG &, const SDLoc &, bool, EVT, const SDValue, const SDValue, const SDValue, const SDValue, SDValue &, SDValue &) const: Assertion `Ret.getOpcode() == ISD::MERGE_VALUES && "Ret value is a collection of constituent nodes holding result."' failed.
```

This path into forceExpandWideMUL should only be taken if we don't
support [US]MUL_LOHI or MULH[US] for the operand size (32 in this case).
But we should also check if we can just leverage regular wide
multiplication. That is, extend the operands from 32 to 64, do a regular
64-bit mul, then trunc and shift. These ops are certainly available on
aarch64 but for wider types.


  Commit: acd100747fff85e7cfb67caa6c0f1053e820c1ac
      https://github.com/llvm/llvm-project/commit/acd100747fff85e7cfb67caa6c0f1053e820c1ac
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/Dialect/GPU/int-range-interface.mlir
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][test] Extend `InferIntRangeInterface` test Ops to arbitrary ints (#91850)

This PR is in preparation to some extensions to the
`InferIntRangeInterface` around the `nsw` and `nuw` flags supported in
the `arith` dialect and LLVM.

We provide some common inference logic for `index` and `arith` in
`InferIntRangeCommon.h` but our Test Ops are currently fixed to `Index`
Types. As we test the range inference for arith Ops, especially around
the overflow behaviour, it's handy to have native support for the
typical integer types in the test Ops.

This patch
1. Changes the Attributes of `test.with_bounds` ops from `Index` to
`APInt` which matches the internal representation in
`ConstantIntRanges`.
2. Allows the use of `AnyInteger` in addition to `Index` for the
operands and results of the test Ops. This now requires explicit
specification of the type in the IR, where before `Index` was implicit.
3. Requires bounds Attrs to be specified in the precision of the SSA
value, eliminating any implicit truncation or extension. (*Could this
lead to problems?*)


  Commit: 80f8ae3f8485b62529c32683ca48822d700c7716
      https://github.com/llvm/llvm-project/commit/80f8ae3f8485b62529c32683ca48822d700c7716
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/docs/MIRLangRef.rst

  Log Message:
  -----------
  [NFC] add explanation to register flags doc (#91803)


  Commit: 5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
      https://github.com/llvm/llvm-project/commit/5adfcb07501f1d128e6517e60d30f2e3a0dc8eaa
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/utils/creduce-clang-crash.py

  Log Message:
  -----------
  Allow passing creduce options through creduce-clang-crash.py (#92141)

This change allows us to pass creduce options to creduce-clang-crash.py
script. With this, `--n` is no longer needed to specify the number of
cores, so removed the flag.

The motivation is
https://github.com/llvm/llvm-project/pull/87933#issuecomment-2109463497
suggests that disabling creduce renaming passes helps people to further
reduce crash manually.


  Commit: 179efe5abc745b5646efeb33fef86c55aa4fd7dc
      https://github.com/llvm/llvm-project/commit/179efe5abc745b5646efeb33fef86c55aa4fd7dc
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll

  Log Message:
  -----------
  [LAA] Delay applying loop guards until after isSafeDependenceDistance.

Applying the loop guards to the distance may prevent
isSafeDependenceDistance from determining NoDep, unless loop guards are
also applied to the backedge-taken-count.

Instead of applying the guards to both Dist and the
backedge-taken-count, just apply them after handling
isSafeDependenceDistance and constant distances; there is no benefit to
applying the guards before then.

This fixes a regression flagged by @bjope due to
ecae3ed958481cba7d60868cf3504292f7f4fdf5.


  Commit: 302db1ab5a054103e411997fd75b2bf6ef7f448c
      https://github.com/llvm/llvm-project/commit/302db1ab5a054103e411997fd75b2bf6ef7f448c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Do not link every target for JIT (#92013)

Summary:
The offload library supports basic JIT functionality, however we
currently link against every single target even though only AMDGPU and
NVPTX are supported. This somewhat bloats the dynamic library list, so
we should constrain it to what's actually used.


  Commit: 332f5e7113c409982e6429b135bb1a7055c11e77
      https://github.com/llvm/llvm-project/commit/332f5e7113c409982e6429b135bb1a7055c11e77
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M compiler-rt/lib/orc/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt][ORC] Remove unused cmake variables (NFC) (#87742)


  Commit: 18ba0cc26e079c7150feb5eaf631d1834e49ca1a
      https://github.com/llvm/llvm-project/commit/18ba0cc26e079c7150feb5eaf631d1834e49ca1a
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add keith to bazel owners (NFC) (#92164)

I'm interested in being CC'd on these changes


  Commit: cf5db39907f7ec66c084a07c6eb9a83eef506b3c
      https://github.com/llvm/llvm-project/commit/cf5db39907f7ec66c084a07c6eb9a83eef506b3c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll

  Log Message:
  -----------
  [LV] Add tests with trip counts containing UDIV expressions.

Add test cases for
https://github.com/llvm/llvm-project/issues/89958.


  Commit: 4cfe347c107485aab6bd003f99ab06aac242b0fd
      https://github.com/llvm/llvm-project/commit/4cfe347c107485aab6bd003f99ab06aac242b0fd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/Rename.cpp

  Log Message:
  -----------
  [clangd] Fix -Wunused-but-set-variable after #82396


  Commit: d4c86e7f3ea298b259e673142470a7b838f5f302
      https://github.com/llvm/llvm-project/commit/d4c86e7f3ea298b259e673142470a7b838f5f302
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/framelayout-sve-basepointer.mir
    A llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll

  Log Message:
  -----------
  [AArch64][SME] Fix frame lowering not using a base pointer for SME functions. (#91643)

The existing code is checking for the presence of the +sve subtarget
feature
when deciding to use a base pointer for the function, but this check
doesn't
work when only +sme is used.

rdar://126878490


  Commit: 12028373020739b388eb2b8141742509f1764e3c
      https://github.com/llvm/llvm-project/commit/12028373020739b388eb2b8141742509f1764e3c
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    M clang/test/Index/Core/index-source.cpp
    M clang/test/Index/index-refs.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393)

Reapplies #81642, fixing the crash which occurs when running the lldb test suite.


  Commit: fb8f492a1ccb2236a82701c76f82960fd6cdb725
      https://github.com/llvm/llvm-project/commit/fb8f492a1ccb2236a82701c76f82960fd6cdb725
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir

  Log Message:
  -----------
  [mlir][sparse] clone a empty sparse tensor when fuse convert into pro… (#92158)

…ducer.


  Commit: baca93fc83ee3b9ef32cd328dc4275a06177c8c7
      https://github.com/llvm/llvm-project/commit/baca93fc83ee3b9ef32cd328dc4275a06177c8c7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-drop-solution-dbg-msg.ll

  Log Message:
  -----------
  [LSR] Tweak debug output to always print initial cost


  Commit: f83df080a817c99e90ed1a0bd5693c5f07ebf567
      https://github.com/llvm/llvm-project/commit/f83df080a817c99e90ed1a0bd5693c5f07ebf567
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineInstrBuilder.h

  Log Message:
  -----------
  [NFC] add comment to keep RegState in sync with doc (#92170)


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

  Changed paths:
    M lldb/source/Host/macosx/objcxx/Host.mm

  Log Message:
  -----------
  [lldb] Allow env override for LLDB_ARGDUMPER_PATH (#91688)

This mirrors the LLDB_DEBUGSERVER_PATH environment variable and allows
you to have lldb-argdumper in a non-standard location and still use it
at runtime.


  Commit: 67beebfcb9a267cc1e443aa4d3788adbfcf02639
      https://github.com/llvm/llvm-project/commit/67beebfcb9a267cc1e443aa4d3788adbfcf02639
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen][SubtargetEmitter] Refactor hasReadOfWrite to CodeGenProcModel (#92032)

SubtargetEmitter::GenSchedClassTables takes a CodeGenProcModel, but
calls hasReadOfWrite which loops over all ProcModels. We move
hasReadOfWrite to CodeGenProcModel and remove the loop over all
ProcModels. This leads to a 144% speedup on the RISC-V backend of our
downstream.


  Commit: 536abf827b481f78a0879b02202fb9a3ffe3a908
      https://github.com/llvm/llvm-project/commit/536abf827b481f78a0879b02202fb9a3ffe3a908
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  Read and store gnu build id from loaded core file (#92078)

As we have debuginfod as symbol locator available in lldb now, we want
to make full use of it.
In case of post mortem debugging, we don't always have the main
executable available.
However, the .note.gnu.build-id of the main executable(some other
modules too), should be available in the core file, as those binaries
are loaded in memory and dumped in the core file.

We try to iterate through the NT_FILE entries, read and store the gnu
build id if possible. This will be very useful as this id is the unique
key which is needed for querying the debuginfod server.

Test:
Build and run lldb. Breakpoint set to
https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp#L147
Verified after this commit, module_uuid is the correct gnu build id of
the main executable which caused the crash(first in the NT_FILE entry)


  Commit: 5bf653ca42dceb8266a0ff70634292ccd2ad4c43
      https://github.com/llvm/llvm-project/commit/5bf653ca42dceb8266a0ff70634292ccd2ad4c43
  Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  Revert "Read and store gnu build id from loaded core file" (#92181)

Reverts llvm/llvm-project#92078


  Commit: 99fad7ebd85e37d3e25500b3411f6b332f68f108
      https://github.com/llvm/llvm-project/commit/99fad7ebd85e37d3e25500b3411f6b332f68f108
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test

  Log Message:
  -----------
  [BOLT][DWARF] Update DW_AT_comp_dir/DW_AT_dwo_name for DWO TUs (#91486)

Type unit DIE generated by clang contains DW_AT_comp_dir/DW_AT_dwo_name.
This was added to clang to help LLDB to figure out where type unit come
from when accessing an entry in a .debug_names accelerator table and
type units in .dwp file.

When BOLT writes out .dwo files it changes the name of them. User can
also specify directory of where they can be written out. Added support
to BOLT to update those attributes.


  Commit: 844355a8cb4b4fa4a6fa39ac47e1169233bb7130
      https://github.com/llvm/llvm-project/commit/844355a8cb4b4fa4a6fa39ac47e1169233bb7130
  Author: VincentWu <43398706+Xinlong-Wu at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISC-V] remove I ext when E ext has been enabled (#92070)

After patch https://github.com/llvm/llvm-project/pull/88805

`I` Ext will be added automatically when we running the command like 
`./build/bin/llc -mtriple=riscv32 -mattr=+e -target-abi ilp32e
-verify-machineinstrs llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll`

it will generate 
```
	.text
	.attribute	4, 16
	.attribute	5, "rv32i2p1_e2pe"
	.file	"zcmp-additional-stack.ll"
	.globl	func                            # -- Begin function func
	.p2align	1
	.type	func, at function
```

This patch reset the I ext in FeatureBit when `+e` has been specify


  Commit: 3ca428c090624d3cfc530144da6dcd3abfd9ea63
      https://github.com/llvm/llvm-project/commit/3ca428c090624d3cfc530144da6dcd3abfd9ea63
  Author: Joe Nash <joseph.nash at amd.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td

  Log Message:
  -----------
  [AMDGPU][True16] Add VOP1Inst_t16_with_profiles class (#92184)

NFC. Makes the VOP1Inst_t16 interface more generic to support future
instructions cleanly.


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll

  Log Message:
  -----------
  [RISCV][LegalizeTypes] Add additional test coverage for type promotion of VP_FSHL/FSHR. NFC

There's a special path when the promoted type has an element size
more than twice the size of the original type.


  Commit: 4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
      https://github.com/llvm/llvm-project/commit/4a17e86f27a0a527ef5316f14fa0e5a60546d9ec
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/docs/ClangLinkerWrapper.rst
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td

  Log Message:
  -----------
  [LinkerWrapper] Add an overriding option for debugging (#91984)

Summary:
One of the downsides of the linker wrapper is that it made debugging
more difficult. It is very powerful in that it can resolve a lot of
input matching and library handling that could not be done before.
However, the old method allowed users to simply copy-paste the script
files to modify the output and test it.

This patch attempts to make it easier to debug changes by letting the
user override all the linker inputs. That is, we provide a user-created
binary that is treated like the final output of the device link step.
The intended use-case is for using `-save-temps` to get some IR, then
modifying the IR and sticking it back in to see if it exhibits the old
failures.


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

  Changed paths:
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [Clang][Fixup] Fix deleted constructor on older compilers


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

  Changed paths:
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  [ctx_profile] Profile reader and writer (#91859)

Utility converting a profile coming from `compiler_rt` to bitstream, and
a reader.

`PGOCtxProfileWriter::write` would be used as the `Writer` parameter for
`__llvm_ctx_profile_fetch` API. This is expected to happen in user code,
for example in the RPC hanler tasked with collecting a profile, and
would look like this:

```
// set up an output stream "Out", which could contain other stuff
{
  // constructing the Writer will start the section, in Out, containing
  // the collected contextual profiles.
  PGOCtxProfWriter Writer(Out);
  __llvm_ctx_profile_fetch(&Writer, +[](void* W, const ContextNode &N) {
    reinterpret_cast<PGOCtxProfWriter*>(W)->write(N);
  });
  // Writer going out of scope will finish up the section.
}
```

The reader produces a data structure suitable for maintenance during IPO
transformations.


  Commit: 03c7458a3603396d2d0e1dee43399d3d1664a264
      https://github.com/llvm/llvm-project/commit/03c7458a3603396d2d0e1dee43399d3d1664a264
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    R llvm/lib/ProfileData/PGOCtxProfReader.cpp
    R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  Revert "[ctx_profile] Profile reader and writer" (#92199)

Reverts llvm/llvm-project#91859

Buildbot failures.


  Commit: 4d1ecf192313b612090d60181937eff03c1a966b
      https://github.com/llvm/llvm-project/commit/4d1ecf192313b612090d60181937eff03c1a966b
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    M llvm/test/Transforms/LoopFlatten/loop-flatten-gep.ll

  Log Message:
  -----------
  [Transforms] Preserve inbounds attribute of transformed GEPs when flattening loops (#86961)

When flattening the loop, if the GEP was inbound, it should stay
inbound, because the only thing that changed is how the pointers are
calculated, not the elements being accessed.

Proof: https://alive2.llvm.org/ce/z/dApMpQ


  Commit: 71fbbb69d63c461f391cbabf1e32cd9977c4ce68
      https://github.com/llvm/llvm-project/commit/71fbbb69d63c461f391cbabf1e32cd9977c4ce68
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp

  Log Message:
  -----------
  [IR] Move GlobalValue::getGUID() out of line (NFC)

Avoid including MD5.h in a core IR header.


  Commit: 6642cc60a21f857bddde8ec2c81008a83a54b4d3
      https://github.com/llvm/llvm-project/commit/6642cc60a21f857bddde8ec2c81008a83a54b4d3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll

  Log Message:
  -----------
  [SCEV] Add tests for ule/sle exit counts (NFC)


  Commit: 11b059145d177ee287c7ada9864addf8d083c160
      https://github.com/llvm/llvm-project/commit/11b059145d177ee287c7ada9864addf8d083c160
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it

Close https://github.com/llvm/llvm-project/issues/91418

Since we load the variable's initializers lazily, it'd be problematic
if the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.


  Commit: 13b265c7b5c6a989427639e33893c158f737480b
      https://github.com/llvm/llvm-project/commit/13b265c7b5c6a989427639e33893c158f737480b
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td
    A llvm/test/MC/Disassembler/X86/fred.txt
    A llvm/test/MC/Disassembler/X86/lkgs.txt
    A llvm/test/MC/X86/fred-att.s
    A llvm/test/MC/X86/fred-intel.s
    A llvm/test/MC/X86/lkgs-att.s
    A llvm/test/MC/X86/lkgs-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][MC] Support Intel FRED and LKGS instructions. (#91909)

Spec reference: https://cdrdv2.intel.com/v1/dl/getContent/678938


  Commit: eb103104ef08ebc2d0de63db0592e76b294cf8bb
      https://github.com/llvm/llvm-project/commit/eb103104ef08ebc2d0de63db0592e76b294cf8bb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    R clang/test/Modules/pr91418.cppm

  Log Message:
  -----------
  Revert "[Serialization] Read the initializer for interesting static variables before consuming it"

This reverts commit 11b059145d177ee287c7ada9864addf8d083c160.

The premerge bot is broken.


  Commit: 2ece5cc2bb1b4cc787e33e24a6582043d441a572
      https://github.com/llvm/llvm-project/commit/2ece5cc2bb1b4cc787e33e24a6582043d441a572
  Author: epitavy <32581827+epitavy at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/examples/ExceptionDemo/CMakeLists.txt
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp

  Log Message:
  -----------
  [ExceptionDemo] Correct and update example ExceptionDemo (#69485)

The ExceptionDemo example was no longer compiling (since llvm 14 at
least). The PR makes the example work with the current API and also
transition from MCJIT to ORC.
Fixes #63702


  Commit: 72b2c37de6a4bbc2b2d2cda49293684b7cc71508
      https://github.com/llvm/llvm-project/commit/72b2c37de6a4bbc2b2d2cda49293684b7cc71508
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp

  Log Message:
  -----------
  [clang-format][NFC] Clean up TokenAnnotator::mustBreakBefore()


  Commit: 1a58e88690c1a48d1082b4ee6b759f5dc49a7144
      https://github.com/llvm/llvm-project/commit/1a58e88690c1a48d1082b4ee6b759f5dc49a7144
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
    M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
    M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

  Log Message:
  -----------
  [RISCV] Move RISCVInsertVSETVLI to after phi elimination (#91440)

Split off from #70549, this patch moves RISCVInsertVSETVLI to after phi
elimination where we exit SSA and need to move to LiveVariables.

The motivation for splitting this off is to avoid the large scheduling
diffs from moving completely to after regalloc, and instead focus on
converting the pass to work on LiveIntervals.

The two main changes required are updating VSETVLIInfo to store VNInfos
instead of MachineInstrs, which allows us to still check for PHI defs in
needVSETVLIPHI, and fixing up the live intervals of any AVL operands
after inserting new instructions.

On O3 the pass is inserted after the register coalescer, otherwise we
end up with a bunch of COPYs around eliminated PHIs that trip up
needVSETVLIPHI.

Co-authored-by: Piyou Chen <piyou.chen at sifive.com>


  Commit: a71e2b9d0f287e4927e51d6764f90e492ba136e1
      https://github.com/llvm/llvm-project/commit/a71e2b9d0f287e4927e51d6764f90e492ba136e1
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/generic-error-number-macros.h

  Log Message:
  -----------
  [libc][errno] Remove non asm generic error number (#92172)

The following small thing caught my eye:

1) `EILSEQ` is not part of the generic asm error number macros. See the
[full list of generic asm errno
codes](https://github.com/torvalds/linux/blob/4b95dc87362aa57bdd0dcbad109ca5e5ef3cbb6c/include/uapi/asm-generic/errno-base.h).
AFAIK the generic asm errno numbers are common between different
operating systems and architectures. `EILSEQ` is not part of this common
set of errno's.

2) `EILSEQ`'s value is wrong. During the addition of `EILSEQ` in
https://reviews.llvm.org/D151129, the value `35` was probably chosen as
its the consecutive number. This is not correct. The actual values can
be looked up for example here:
* [For Linux
kernel](https://github.com/search?q=repo%3Atorvalds%2Flinux+EILSEQ&type=code&p=1):
`EILSEQ = 84` (uapi; i.e. x86_64), `EILSEQ = 88` (mips), `EILSEQ = 47`
(parisc)
* [For Darwin
kernel](https://github.com/apple-oss-distributions/xnu/blob/main/bsd/sys/errno.h#L237):
`EILSEQ = 92`


  Commit: d3455f4ddd16811401fa153298fadd2f59f6914e
      https://github.com/llvm/llvm-project/commit/d3455f4ddd16811401fa153298fadd2f59f6914e
  Author: Cyuria <55673467+cyuria at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  [libc][docs] Fix outdated code review section, as per #91934 (#92051)

As in the title, fixes #91934


  Commit: 77047e3cd2edd2b870982fc92f505cbb7fd764cd
      https://github.com/llvm/llvm-project/commit/77047e3cd2edd2b870982fc92f505cbb7fd764cd
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

  Log Message:
  -----------
  [RISCV] Make vsetvli in test not loop invariant. NFC (#92094)

The middle end will remove the inner vsetvli otherwise, and it's more
typical to set the AVL to the remaining VL.

This also prevents the test from showing up as a regression in #91319


  Commit: 74d91d9acebdbc81306c8a0ee547002e7e8084f9
      https://github.com/llvm/llvm-project/commit/74d91d9acebdbc81306c8a0ee547002e7e8084f9
  Author: rahulana-quic <quic_rahulana at quicinc.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M polly/test/CodeGen/20100617.ll
    M polly/test/CodeGen/20100622.ll
    M polly/test/CodeGen/20100707.ll
    M polly/test/CodeGen/20100707_2.ll
    M polly/test/CodeGen/20100708.ll
    M polly/test/CodeGen/20100708_2.ll
    M polly/test/CodeGen/20100713.ll
    M polly/test/CodeGen/20100713_2.ll
    M polly/test/CodeGen/20100717.ll
    M polly/test/CodeGen/20100718-DomInfo-2.ll
    M polly/test/CodeGen/20100718-DomInfo.ll
    M polly/test/CodeGen/20100720-MultipleConditions.ll
    M polly/test/CodeGen/20100809-IndependentBlock.ll
    M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
    M polly/test/CodeGen/20101030-Overflow.ll
    M polly/test/CodeGen/20101103-Overflow3.ll
    M polly/test/CodeGen/20101103-signmissmatch.ll
    M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
    M polly/test/CodeGen/20110226-PHI-Node-removed.ll
    M polly/test/CodeGen/20120316-InvalidCast.ll
    M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
    M polly/test/CodeGen/20130221.ll
    M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
    M polly/test/CodeGen/Intrinsics/llvm-expect.ll
    M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
    M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
    M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
    M polly/test/CodeGen/MemAccess/bad_alignment.ll
    M polly/test/CodeGen/MemAccess/codegen_address_space.ll
    M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
    M polly/test/CodeGen/MemAccess/codegen_simple.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
    M polly/test/CodeGen/MemAccess/different_types.ll
    M polly/test/CodeGen/MemAccess/generate-all.ll
    M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
    M polly/test/CodeGen/MemAccess/multiple_types.ll
    M polly/test/CodeGen/MemAccess/simple.ll
    M polly/test/CodeGen/MemAccess/update_access_functions.ll
    M polly/test/CodeGen/OpenMP/alias-metadata.ll
    M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
    M polly/test/CodeGen/OpenMP/inlineasm.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
    M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
    M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
    M polly/test/CodeGen/OpenMP/matmul-parallel.ll
    M polly/test/CodeGen/OpenMP/recomputed-srem.ll
    M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
    M polly/test/CodeGen/OpenMP/reference-other-bb.ll
    M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
    M polly/test/CodeGen/OpenMP/reference_latest.ll
    M polly/test/CodeGen/OpenMP/scev-rewriting.ll
    M polly/test/CodeGen/OpenMP/single_loop.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
    M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
    M polly/test/CodeGen/PHIInExit.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
    M polly/test/CodeGen/alias-check-multi-dim.ll
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
    M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
    M polly/test/CodeGen/aliasing_different_pointer_types.ll
    M polly/test/CodeGen/aliasing_multidimensional_access.ll
    M polly/test/CodeGen/aliasing_parametric_simple_1.ll
    M polly/test/CodeGen/aliasing_parametric_simple_2.ll
    M polly/test/CodeGen/aliasing_struct_element.ll
    M polly/test/CodeGen/alignment.ll
    M polly/test/CodeGen/annotated_alias_scopes.ll
    M polly/test/CodeGen/blas_sscal_simplified.ll
    M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
    M polly/test/CodeGen/constant_condition.ll
    M polly/test/CodeGen/create-conditional-scop.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
    M polly/test/CodeGen/debug-intrinsics.ll
    M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
    M polly/test/CodeGen/empty_domain_in_context.ll
    M polly/test/CodeGen/entry_with_trivial_phi.ll
    M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
    M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
    M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
    M polly/test/CodeGen/exprModDiv.ll
    M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
    M polly/test/CodeGen/hoisting_1.ll
    M polly/test/CodeGen/hoisting_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_1.ll
    M polly/test/CodeGen/inner_scev_sdiv_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_3.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
    M polly/test/CodeGen/intrinsics_lifetime.ll
    M polly/test/CodeGen/intrinsics_misc.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
    M polly/test/CodeGen/invariant-load-dimension.ll
    M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
    M polly/test/CodeGen/invariant_cannot_handle_void.ll
    M polly/test/CodeGen/invariant_load.ll
    M polly/test/CodeGen/invariant_load_address_space.ll
    M polly/test/CodeGen/invariant_load_alias_metadata.ll
    M polly/test/CodeGen/invariant_load_base_pointer.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
    M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/CodeGen/invariant_load_condition.ll
    M polly/test/CodeGen/invariant_load_different_sized_types.ll
    M polly/test/CodeGen/invariant_load_escaping.ll
    M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
    M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
    M polly/test/CodeGen/invariant_load_loop_ub.ll
    M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
    M polly/test/CodeGen/invariant_load_outermost.ll
    M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
    M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
    M polly/test/CodeGen/invariant_load_scalar_dep.ll
    M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
    M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
    M polly/test/CodeGen/invariant_verify_function_failed.ll
    M polly/test/CodeGen/invariant_verify_function_failed_2.ll
    M polly/test/CodeGen/issue56692.ll
    M polly/test/CodeGen/large-numbers-in-boundary-context.ll
    M polly/test/CodeGen/load_subset_with_context.ll
    M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
    M polly/test/CodeGen/loop_with_condition.ll
    M polly/test/CodeGen/loop_with_condition_2.ll
    M polly/test/CodeGen/loop_with_condition_ineq.ll
    M polly/test/CodeGen/loop_with_condition_nested.ll
    M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
    M polly/test/CodeGen/memcpy_annotations.ll
    M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
    M polly/test/CodeGen/multidim-non-matching-typesize.ll
    M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/CodeGen/multidim_alias_check.ll
    M polly/test/CodeGen/multiple-codegens.ll
    M polly/test/CodeGen/multiple-scops-in-a-row.ll
    M polly/test/CodeGen/multiple-types-invariant-load-2.ll
    M polly/test/CodeGen/multiple-types-invariant-load.ll
    M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
    M polly/test/CodeGen/no-overflow-tracking.ll
    M polly/test/CodeGen/no_guard_bb.ll
    M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
    M polly/test/CodeGen/non-affine-exit-node-dominance.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
    M polly/test/CodeGen/non-affine-region-implicit-store.ll
    M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
    M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
    M polly/test/CodeGen/non-affine-switch.ll
    M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
    M polly/test/CodeGen/non-affine-update.ll
    M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
    M polly/test/CodeGen/non_affine_float_compare.ll
    M polly/test/CodeGen/only_non_affine_error_region.ll
    M polly/test/CodeGen/openmp_limit_threads.ll
    M polly/test/CodeGen/out-of-scop-phi-node-use.ll
    M polly/test/CodeGen/param_div_div_div_2.ll
    M polly/test/CodeGen/partial_write_array.ll
    M polly/test/CodeGen/partial_write_emptyset.ll
    M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
    M polly/test/CodeGen/partial_write_impossible_restriction.ll
    M polly/test/CodeGen/partial_write_in_region.ll
    M polly/test/CodeGen/partial_write_in_region_with_loop.ll
    M polly/test/CodeGen/partial_write_mapped_scalar.ll
    M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
    M polly/test/CodeGen/perf_monitoring.ll
    M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
    M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
    M polly/test/CodeGen/phi-defined-before-scop.ll
    M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
    M polly/test/CodeGen/phi_condition_modeling_1.ll
    M polly/test/CodeGen/phi_condition_modeling_2.ll
    M polly/test/CodeGen/phi_conditional_simple_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
    M polly/test/CodeGen/phi_loop_carried_float.ll
    M polly/test/CodeGen/phi_loop_carried_float_escape.ll
    M polly/test/CodeGen/phi_scalar_simple_1.ll
    M polly/test/CodeGen/phi_scalar_simple_2.ll
    M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
    M polly/test/CodeGen/phi_with_one_exit_edge.ll
    M polly/test/CodeGen/pointer-type-expressions-2.ll
    M polly/test/CodeGen/pointer-type-expressions.ll
    M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
    M polly/test/CodeGen/pointer_rem.ll
    M polly/test/CodeGen/pr25241.ll
    M polly/test/CodeGen/ptrtoint_as_parameter.ll
    M polly/test/CodeGen/read-only-scalars.ll
    M polly/test/CodeGen/reduction.ll
    M polly/test/CodeGen/reduction_2.ll
    M polly/test/CodeGen/reduction_simple_binary.ll
    M polly/test/CodeGen/region-with-instructions.ll
    M polly/test/CodeGen/region_exiting-domtree.ll
    M polly/test/CodeGen/region_multiexit_partialwrite.ll
    M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
    M polly/test/CodeGen/run-time-condition.ll
    M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
    M polly/test/CodeGen/scalar-store-from-same-bb.ll
    M polly/test/CodeGen/scalar_codegen_crash.ll
    M polly/test/CodeGen/scev-backedgetaken.ll
    M polly/test/CodeGen/scev-division-invariant-load.ll
    M polly/test/CodeGen/scev.ll
    M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
    M polly/test/CodeGen/scev_looking_through_bitcasts.ll
    M polly/test/CodeGen/scop_expander_insert_point.ll
    M polly/test/CodeGen/scop_expander_segfault.ll
    M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
    M polly/test/CodeGen/select-base-pointer.ll
    M polly/test/CodeGen/sequential_loops.ll
    M polly/test/CodeGen/simple_loop_non_single_exit.ll
    M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
    M polly/test/CodeGen/simple_non_single_entry.ll
    M polly/test/CodeGen/simple_nonaffine_loop.ll
    M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
    M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_one_iteration.ll
    M polly/test/CodeGen/single_do_loop_scev_replace.ll
    M polly/test/CodeGen/single_loop.ll
    M polly/test/CodeGen/single_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_loop_one_iteration.ll
    M polly/test/CodeGen/single_loop_param.ll
    M polly/test/CodeGen/single_loop_param_less_equal.ll
    M polly/test/CodeGen/single_loop_param_less_than.ll
    M polly/test/CodeGen/single_loop_zero_iterations.ll
    M polly/test/CodeGen/split_edge_of_exit.ll
    M polly/test/CodeGen/split_edges.ll
    M polly/test/CodeGen/split_edges_2.ll
    M polly/test/CodeGen/srem-in-other-bb.ll
    M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
    M polly/test/CodeGen/stmt_split_no_dependence.ll
    M polly/test/CodeGen/switch-in-non-affine-region.ll
    M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
    M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
    M polly/test/CodeGen/test-invalid-operands-for-select.ll
    M polly/test/CodeGen/test.ll
    M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
    M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
    M polly/test/CodeGen/two-scops-in-row.ll
    M polly/test/CodeGen/udiv_expansion_position.ll
    M polly/test/CodeGen/uninitialized_scalar_memory.ll
    M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
    M polly/test/CodeGen/variant_load_empty_domain.ll
    M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
    M polly/test/DeLICM/confused_order.ll
    M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
    M polly/test/DeLICM/load-in-cond-inf-loop.ll
    M polly/test/DeLICM/map_memset_zero.ll
    M polly/test/DeLICM/nomap_alreadymapped.ll
    M polly/test/DeLICM/nomap_escaping.ll
    M polly/test/DeLICM/nomap_occupied.ll
    M polly/test/DeLICM/nomap_readonly.ll
    M polly/test/DeLICM/nomap_spuriouswrite.ll
    M polly/test/DeLICM/nomap_storagesize.ll
    M polly/test/DeLICM/nomap_writewrite.ll
    M polly/test/DeLICM/outofquota-reverseDomain.ll
    M polly/test/DeLICM/pass_existence.ll
    M polly/test/DeLICM/pr41656.ll
    M polly/test/DeLICM/pr48783.ll
    M polly/test/DeLICM/reduction.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
    M polly/test/DeLICM/reduction_unrelatedunusual.ll
    M polly/test/DeLICM/reject_loadafterstore.ll
    M polly/test/DeLICM/reject_outofquota.ll
    M polly/test/DeLICM/reject_storeafterstore.ll
    M polly/test/DeLICM/reject_storeinsubregion.ll
    M polly/test/DeLICM/reject_unusualstore.ll
    M polly/test/DeLICM/skip_maywrite.ll
    M polly/test/DeLICM/skip_multiaccess.ll
    M polly/test/DeLICM/skip_notinloop.ll
    M polly/test/DeLICM/skip_scalaraccess.ll
    M polly/test/DeadCodeElimination/chained_iterations.ll
    M polly/test/DeadCodeElimination/chained_iterations_2.ll
    M polly/test/DeadCodeElimination/computeout.ll
    M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
    M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
    M polly/test/DeadCodeElimination/non-affine.ll
    M polly/test/DeadCodeElimination/null_schedule.ll
    M polly/test/DependenceInfo/computeout.ll
    M polly/test/DependenceInfo/different_schedule_dimensions.ll
    M polly/test/DependenceInfo/do_pluto_matmult.ll
    M polly/test/DependenceInfo/fine_grain_dep_0.ll
    M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
    M polly/test/DependenceInfo/infeasible_context.ll
    M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
    M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
    M polly/test/DependenceInfo/reduction_complex_location.ll
    M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_dependences_not_null.ll
    M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
    M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
    M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
    M polly/test/DependenceInfo/reduction_privatization_deps.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
    M polly/test/DependenceInfo/reduction_sequence.ll
    M polly/test/DependenceInfo/reduction_simple_iv.ll
    M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
    M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
    M polly/test/DependenceInfo/sequential_loops.ll
    M polly/test/ForwardOpTree/atax.ll
    M polly/test/ForwardOpTree/changed-kind.ll
    M polly/test/ForwardOpTree/forward_from_region.ll
    M polly/test/ForwardOpTree/forward_hoisted.ll
    M polly/test/ForwardOpTree/forward_instruction.ll
    M polly/test/ForwardOpTree/forward_into_region.ll
    M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
    M polly/test/ForwardOpTree/forward_load.ll
    M polly/test/ForwardOpTree/forward_load_differentarray.ll
    M polly/test/ForwardOpTree/forward_load_double_write.ll
    M polly/test/ForwardOpTree/forward_load_fromloop.ll
    M polly/test/ForwardOpTree/forward_load_indirect.ll
    M polly/test/ForwardOpTree/forward_load_memset_after.ll
    M polly/test/ForwardOpTree/forward_load_memset_before.ll
    M polly/test/ForwardOpTree/forward_load_tripleuse.ll
    M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
    M polly/test/ForwardOpTree/forward_phi_load.ll
    M polly/test/ForwardOpTree/forward_readonly.ll
    M polly/test/ForwardOpTree/forward_reusue.ll
    M polly/test/ForwardOpTree/forward_store.ll
    M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
    M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
    M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
    M polly/test/ForwardOpTree/forward_transitive.ll
    M polly/test/ForwardOpTree/jacobi-1d.ll
    M polly/test/ForwardOpTree/noforward_from_region.ll
    M polly/test/ForwardOpTree/noforward_load_conditional.ll
    M polly/test/ForwardOpTree/noforward_load_writebetween.ll
    M polly/test/ForwardOpTree/noforward_outofquota.ll
    M polly/test/ForwardOpTree/noforward_partial.ll
    M polly/test/ForwardOpTree/noforward_phi.ll
    M polly/test/ForwardOpTree/noforward_selfrefphi.ll
    M polly/test/ForwardOpTree/noforward_sideffects.ll
    M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
    M polly/test/ForwardOpTree/out-of-quota1.ll
    M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
    M polly/test/IstAstInfo/alias_simple_1.ll
    M polly/test/IstAstInfo/alias_simple_2.ll
    M polly/test/IstAstInfo/alias_simple_3.ll
    M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
    M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
    M polly/test/IstAstInfo/dependence_distance_minimal.ll
    M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
    M polly/test/IstAstInfo/non_affine_access.ll
    M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
    M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/run-time-condition.ll
    M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
    M polly/test/IstAstInfo/simple-run-time-condition.ll
    M polly/test/IstAstInfo/single_loop_strip_mine.ll
    M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
    M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
    M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
    M polly/test/MaximalStaticExpansion/read_from_original.ll
    M polly/test/MaximalStaticExpansion/too_many_writes.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
    M polly/test/MaximalStaticExpansion/working_expansion.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
    M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
    M polly/test/MaximalStaticExpansion/working_value_expansion.ll
    M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
    M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
    M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
    M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
    M polly/test/ScheduleOptimizer/computeout.ll
    M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
    M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
    M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
    M polly/test/ScheduleOptimizer/line-tiling-2.ll
    M polly/test/ScheduleOptimizer/line-tiling.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
    M polly/test/ScheduleOptimizer/one-dimensional-band.ll
    M polly/test/ScheduleOptimizer/outer_coincidence.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
    M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
    M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
    M polly/test/ScheduleOptimizer/prevectorization.ll
    M polly/test/ScheduleOptimizer/rectangular-tiling.ll
    M polly/test/ScheduleOptimizer/schedule_computeout.ll
    M polly/test/ScheduleOptimizer/statistics.ll
    M polly/test/ScheduleOptimizer/tile_after_fusion.ll
    M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
    M polly/test/ScopDetect/aliasing_simple_1.ll
    M polly/test/ScopDetect/aliasing_simple_2.ll
    M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
    M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
    M polly/test/ScopDetect/callbr.ll
    M polly/test/ScopDetect/collective_invariant_loads.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
    M polly/test/ScopDetect/dot-scops-npm.ll
    M polly/test/ScopDetect/dot-scops.ll
    M polly/test/ScopDetect/error-block-always-executed.ll
    M polly/test/ScopDetect/error-block-referenced-from-scop.ll
    M polly/test/ScopDetect/error-block-unreachable.ll
    M polly/test/ScopDetect/expand-region-correctly-2.ll
    M polly/test/ScopDetect/expand-region-correctly.ll
    M polly/test/ScopDetect/ignore_func_flag_regex.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
    M polly/test/ScopDetect/indvars.ll
    M polly/test/ScopDetect/intrinsics_1.ll
    M polly/test/ScopDetect/intrinsics_2.ll
    M polly/test/ScopDetect/intrinsics_3.ll
    M polly/test/ScopDetect/invalid-latch-conditions.ll
    M polly/test/ScopDetect/invalidate_scalar_evolution.ll
    M polly/test/ScopDetect/invariant-load-before-scop.ll
    M polly/test/ScopDetect/keep_going_expansion.ll
    M polly/test/ScopDetect/mod_ref_read_pointer.ll
    M polly/test/ScopDetect/more-than-one-loop.ll
    M polly/test/ScopDetect/multidim-with-undef-size.ll
    M polly/test/ScopDetect/multidim.ll
    M polly/test/ScopDetect/multidim_indirect_access.ll
    M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
    M polly/test/ScopDetect/nested_loop_single_exit.ll
    M polly/test/ScopDetect/non-affine-conditional.ll
    M polly/test/ScopDetect/non-affine-float-compare.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopDetect/non-affine-loop.ll
    M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
    M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
    M polly/test/ScopDetect/non-simple-memory-accesses.ll
    M polly/test/ScopDetect/non_affine_loop_condition.ll
    M polly/test/ScopDetect/only-one-affine-loop.ll
    M polly/test/ScopDetect/only_func_flag.ll
    M polly/test/ScopDetect/only_func_flag_regex.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev.ll
    M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
    M polly/test/ScopDetect/profitability-large-basic-blocks.ll
    M polly/test/ScopDetect/profitability-two-nested-loops.ll
    M polly/test/ScopDetect/remove_all_children.ll
    M polly/test/ScopDetect/report-scop-location.ll
    M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
    M polly/test/ScopDetect/run_time_alias_check.ll
    M polly/test/ScopDetect/scev_remove_max.ll
    M polly/test/ScopDetect/sequential_loops.ll
    M polly/test/ScopDetect/simple_loop.ll
    M polly/test/ScopDetect/simple_loop_non_single_entry.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
    M polly/test/ScopDetect/simple_loop_with_param.ll
    M polly/test/ScopDetect/simple_loop_with_param_2.ll
    M polly/test/ScopDetect/simple_non_single_entry.ll
    M polly/test/ScopDetect/skip_function_attribute.ll
    M polly/test/ScopDetect/srem_with_parametric_divisor.ll
    M polly/test/ScopDetect/statistics.ll
    M polly/test/ScopDetect/switch-in-loop-patch.ll
    M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
    M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
    M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
    M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
    M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
    M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
    M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
    M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
    M polly/test/ScopInfo/Alias-0.ll
    M polly/test/ScopInfo/Alias-1.ll
    M polly/test/ScopInfo/Alias-2.ll
    M polly/test/ScopInfo/Alias-3.ll
    M polly/test/ScopInfo/Alias-4.ll
    M polly/test/ScopInfo/BoundChecks/single-loop.ll
    M polly/test/ScopInfo/BoundChecks/two-loops.ll
    M polly/test/ScopInfo/NonAffine/div_backedge.ll
    M polly/test/ScopInfo/NonAffine/div_domain.ll
    M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
    M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
    M polly/test/ScopInfo/NonAffine/modulo_domain.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
    M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
    M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
    M polly/test/ScopInfo/aliasing_dead_access.ll
    M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
    M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
    M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
    M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
    M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
    M polly/test/ScopInfo/assume_gep_bounds.ll
    M polly/test/ScopInfo/assume_gep_bounds_2.ll
    M polly/test/ScopInfo/assume_gep_bounds_many.ll
    M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
    M polly/test/ScopInfo/bool-addrec.ll
    M polly/test/ScopInfo/bounded_loop_assumptions.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
    M polly/test/ScopInfo/bug_2010_10_22.ll
    M polly/test/ScopInfo/bug_2011_1_5.ll
    M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
    M polly/test/ScopInfo/cfg_consequences.ll
    M polly/test/ScopInfo/complex-branch-structure.ll
    M polly/test/ScopInfo/complex-condition.ll
    M polly/test/ScopInfo/complex-expression.ll
    M polly/test/ScopInfo/complex-loop-nesting.ll
    M polly/test/ScopInfo/complex-successor-structure-2.ll
    M polly/test/ScopInfo/complex-successor-structure-3.ll
    M polly/test/ScopInfo/complex-successor-structure.ll
    M polly/test/ScopInfo/complex_domain_binary_condition.ll
    M polly/test/ScopInfo/complex_execution_context.ll
    M polly/test/ScopInfo/cond_constant_in_loop.ll
    M polly/test/ScopInfo/cond_in_loop.ll
    M polly/test/ScopInfo/condition-after-error-block-2.ll
    M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
    M polly/test/ScopInfo/condtion-after-error-block.ll
    M polly/test/ScopInfo/const_srem_sdiv.ll
    M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
    M polly/test/ScopInfo/constant_factor_in_parameter.ll
    M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
    M polly/test/ScopInfo/constant_start_integer.ll
    M polly/test/ScopInfo/debug_call.ll
    M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
    M polly/test/ScopInfo/div_by_zero.ll
    M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
    M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
    M polly/test/ScopInfo/early_exit_for_complex_domains.ll
    M polly/test/ScopInfo/error-blocks-1.ll
    M polly/test/ScopInfo/error-blocks-2.ll
    M polly/test/ScopInfo/escaping_empty_scop.ll
    M polly/test/ScopInfo/exit-phi-1.ll
    M polly/test/ScopInfo/exit-phi-2.ll
    M polly/test/ScopInfo/exit_phi_accesses-2.ll
    M polly/test/ScopInfo/exit_phi_accesses.ll
    M polly/test/ScopInfo/expensive-boundary-context.ll
    M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
    M polly/test/ScopInfo/full-function.ll
    M polly/test/ScopInfo/granularity_same_name.ll
    M polly/test/ScopInfo/granularity_scalar-indep.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
    M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
    M polly/test/ScopInfo/i1_params.ll
    M polly/test/ScopInfo/infeasible-rtc.ll
    M polly/test/ScopInfo/infeasible_invalid_context.ll
    M polly/test/ScopInfo/int2ptr_ptr2int.ll
    M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
    M polly/test/ScopInfo/integers.ll
    M polly/test/ScopInfo/inter-error-bb-dependence.ll
    M polly/test/ScopInfo/inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
    M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra_bb_scalar_dep.ll
    M polly/test/ScopInfo/intrinsics.ll
    M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
    M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
    M polly/test/ScopInfo/invariant-load-instlist.ll
    M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
    M polly/test/ScopInfo/invariant_load.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
    M polly/test/ScopInfo/invariant_load_addrec_sum.ll
    M polly/test/ScopInfo/invariant_load_base_pointer.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
    M polly/test/ScopInfo/invariant_load_branch_condition.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
    M polly/test/ScopInfo/invariant_load_complex_condition.ll
    M polly/test/ScopInfo/invariant_load_condition.ll
    M polly/test/ScopInfo/invariant_load_dereferenceable.ll
    M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
    M polly/test/ScopInfo/invariant_load_in_non_affine.ll
    M polly/test/ScopInfo/invariant_load_loop_ub.ll
    M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
    M polly/test/ScopInfo/invariant_load_scalar_dep.ll
    M polly/test/ScopInfo/invariant_load_stmt_domain.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter.ll
    M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
    M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
    M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
    M polly/test/ScopInfo/invariant_loop_bounds.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
    M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
    M polly/test/ScopInfo/isl_trip_count_01.ll
    M polly/test/ScopInfo/isl_trip_count_02.ll
    M polly/test/ScopInfo/isl_trip_count_03.ll
    M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
    M polly/test/ScopInfo/licm_load.ll
    M polly/test/ScopInfo/licm_potential_store.ll
    M polly/test/ScopInfo/licm_reduction_nested.ll
    M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
    M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
    M polly/test/ScopInfo/loop_affine_bound_0.ll
    M polly/test/ScopInfo/loop_affine_bound_1.ll
    M polly/test/ScopInfo/loop_affine_bound_2.ll
    M polly/test/ScopInfo/loop_carry.ll
    M polly/test/ScopInfo/many-scalar-dependences.ll
    M polly/test/ScopInfo/max-loop-depth.ll
    M polly/test/ScopInfo/memcpy-raw-source.ll
    M polly/test/ScopInfo/memcpy.ll
    M polly/test/ScopInfo/memmove.ll
    M polly/test/ScopInfo/memset.ll
    M polly/test/ScopInfo/memset_null.ll
    M polly/test/ScopInfo/mismatching-array-dimensions.ll
    M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointer.ll
    M polly/test/ScopInfo/mod_ref_read_pointers.ll
    M polly/test/ScopInfo/modulo_zext_1.ll
    M polly/test/ScopInfo/modulo_zext_2.ll
    M polly/test/ScopInfo/modulo_zext_3.ll
    M polly/test/ScopInfo/multi-scop.ll
    M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
    M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
    M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
    M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
    M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
    M polly/test/ScopInfo/multidim_fortran_2d.ll
    M polly/test/ScopInfo/multidim_fortran_2d_params.ll
    M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_fortran_srem.ll
    M polly/test/ScopInfo/multidim_gep_pointercast.ll
    M polly/test/ScopInfo/multidim_gep_pointercast2.ll
    M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
    M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
    M polly/test/ScopInfo/multidim_many_references.ll
    M polly/test/ScopInfo/multidim_nested_start_integer.ll
    M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
    M polly/test/ScopInfo/multidim_only_ivs_2d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
    M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
    M polly/test/ScopInfo/multidim_param_in_subscript.ll
    M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
    M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
    M polly/test/ScopInfo/multidim_srem.ll
    M polly/test/ScopInfo/multidim_with_bitcast.ll
    M polly/test/ScopInfo/multiple-binary-or-conditions.ll
    M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
    M polly/test/ScopInfo/multiple-types-non-affine-2.ll
    M polly/test/ScopInfo/multiple-types-non-affine.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional.ll
    M polly/test/ScopInfo/multiple-types.ll
    M polly/test/ScopInfo/multiple_exiting_blocks.ll
    M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
    M polly/test/ScopInfo/multiple_latch_blocks.ll
    M polly/test/ScopInfo/nested-loops.ll
    M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
    M polly/test/ScopInfo/non-affine-region-phi.ll
    M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
    M polly/test/ScopInfo/non-affine-region-with-loop.ll
    M polly/test/ScopInfo/non-precise-inv-load-1.ll
    M polly/test/ScopInfo/non-precise-inv-load-2.ll
    M polly/test/ScopInfo/non-precise-inv-load-3.ll
    M polly/test/ScopInfo/non-precise-inv-load-4.ll
    M polly/test/ScopInfo/non-precise-inv-load-5.ll
    M polly/test/ScopInfo/non-precise-inv-load-6.ll
    M polly/test/ScopInfo/non-pure-function-call.ll
    M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
    M polly/test/ScopInfo/non-pure-function-calls.ll
    M polly/test/ScopInfo/non_affine_access.ll
    M polly/test/ScopInfo/non_affine_region_1.ll
    M polly/test/ScopInfo/non_affine_region_2.ll
    M polly/test/ScopInfo/non_affine_region_3.ll
    M polly/test/ScopInfo/non_affine_region_4.ll
    M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
    M polly/test/ScopInfo/not-a-reduction.ll
    M polly/test/ScopInfo/opaque-struct.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/ScopInfo/parameter-constant-division.ll
    M polly/test/ScopInfo/parameter_in_dead_statement.ll
    M polly/test/ScopInfo/parameter_product.ll
    M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
    M polly/test/ScopInfo/partially_invariant_load_1.ll
    M polly/test/ScopInfo/partially_invariant_load_2.ll
    M polly/test/ScopInfo/phi-in-non-affine-region.ll
    M polly/test/ScopInfo/phi_after_error_block.ll
    M polly/test/ScopInfo/phi_condition_modeling_1.ll
    M polly/test/ScopInfo/phi_condition_modeling_2.ll
    M polly/test/ScopInfo/phi_conditional_simple_1.ll
    M polly/test/ScopInfo/phi_loop_carried_float.ll
    M polly/test/ScopInfo/phi_not_grouped_at_top.ll
    M polly/test/ScopInfo/phi_scalar_simple_1.ll
    M polly/test/ScopInfo/phi_scalar_simple_2.ll
    M polly/test/ScopInfo/phi_with_invoke_edge.ll
    M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
    M polly/test/ScopInfo/pointer-comparison.ll
    M polly/test/ScopInfo/pointer-type-expressions.ll
    M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
    M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
    M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
    M polly/test/ScopInfo/process_added_dimensions.ll
    M polly/test/ScopInfo/pwaff-complexity-bailout.ll
    M polly/test/ScopInfo/ranged_parameter.ll
    M polly/test/ScopInfo/ranged_parameter_2.ll
    M polly/test/ScopInfo/ranged_parameter_wrap.ll
    M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
    M polly/test/ScopInfo/read-only-scalars.ll
    M polly/test/ScopInfo/read-only-statements.ll
    M polly/test/ScopInfo/reduction_alternating_base.ll
    M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
    M polly/test/ScopInfo/reduction_different_index.ll
    M polly/test/ScopInfo/reduction_different_index1.ll
    M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
    M polly/test/ScopInfo/reduction_invalid_different_operators.ll
    M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
    M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
    M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
    M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
    M polly/test/ScopInfo/reduction_simple_fp.ll
    M polly/test/ScopInfo/reduction_simple_w_constant.ll
    M polly/test/ScopInfo/reduction_simple_w_iv.ll
    M polly/test/ScopInfo/reduction_two_identical_reads.ll
    M polly/test/ScopInfo/redundant_parameter_constraint.ll
    M polly/test/ScopInfo/region-with-instructions.ll
    M polly/test/ScopInfo/remarks.ll
    M polly/test/ScopInfo/required-invariant-loop-bounds.ll
    M polly/test/ScopInfo/restriction_in_dead_block.ll
    M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
    M polly/test/ScopInfo/run-time-check-many-parameters.ll
    M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
    M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
    M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
    M polly/test/ScopInfo/scalar.ll
    M polly/test/ScopInfo/scalar_dependence_cond_br.ll
    M polly/test/ScopInfo/scalar_to_array.ll
    M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
    M polly/test/ScopInfo/scev-invalidated.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
    M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
    M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
    M polly/test/ScopInfo/sign_wrapped_set.ll
    M polly/test/ScopInfo/simple_loop_1.ll
    M polly/test/ScopInfo/simple_loop_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned.ll
    M polly/test/ScopInfo/simple_loop_unsigned_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned_3.ll
    M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
    M polly/test/ScopInfo/smax.ll
    M polly/test/ScopInfo/statistics.ll
    M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
    M polly/test/ScopInfo/stmt_split_no_after_split.ll
    M polly/test/ScopInfo/stmt_split_no_dependence.ll
    M polly/test/ScopInfo/stmt_split_on_store.ll
    M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
    M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
    M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
    M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
    M polly/test/ScopInfo/stmt_split_within_loop.ll
    M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
    M polly/test/ScopInfo/switch-1.ll
    M polly/test/ScopInfo/switch-2.ll
    M polly/test/ScopInfo/switch-3.ll
    M polly/test/ScopInfo/switch-4.ll
    M polly/test/ScopInfo/switch-5.ll
    M polly/test/ScopInfo/switch-6.ll
    M polly/test/ScopInfo/switch-7.ll
    M polly/test/ScopInfo/tempscop-printing.ll
    M polly/test/ScopInfo/test-wrapping-in-condition.ll
    M polly/test/ScopInfo/truncate-1.ll
    M polly/test/ScopInfo/truncate-2.ll
    M polly/test/ScopInfo/truncate-3.ll
    M polly/test/ScopInfo/two-loops-one-infinite.ll
    M polly/test/ScopInfo/two-loops-right-after-each-other.ll
    M polly/test/ScopInfo/undef_in_cond.ll
    M polly/test/ScopInfo/unnamed_nonaffine.ll
    M polly/test/ScopInfo/unnamed_stmts.ll
    M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
    M polly/test/ScopInfo/unprofitable_scalar-accs.ll
    M polly/test/ScopInfo/unsigned-condition.ll
    M polly/test/ScopInfo/unsigned-division-1.ll
    M polly/test/ScopInfo/unsigned-division-2.ll
    M polly/test/ScopInfo/unsigned-division-3.ll
    M polly/test/ScopInfo/unsigned-division-4.ll
    M polly/test/ScopInfo/unsigned-division-5.ll
    M polly/test/ScopInfo/unsigned_wrap_uge.ll
    M polly/test/ScopInfo/unsigned_wrap_ugt.ll
    M polly/test/ScopInfo/unsigned_wrap_ule.ll
    M polly/test/ScopInfo/unsigned_wrap_ult.ll
    M polly/test/ScopInfo/user_context.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
    M polly/test/ScopInfo/user_provided_assumptions.ll
    M polly/test/ScopInfo/user_provided_assumptions_2.ll
    M polly/test/ScopInfo/user_provided_assumptions_3.ll
    M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
    M polly/test/ScopInfo/variant_base_pointer.ll
    M polly/test/ScopInfo/variant_load_empty_domain.ll
    M polly/test/ScopInfo/wraping_signed_expr_0.ll
    M polly/test/ScopInfo/wraping_signed_expr_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_2.ll
    M polly/test/ScopInfo/wraping_signed_expr_3.ll
    M polly/test/ScopInfo/wraping_signed_expr_4.ll
    M polly/test/ScopInfo/wraping_signed_expr_5.ll
    M polly/test/ScopInfo/wraping_signed_expr_6.ll
    M polly/test/ScopInfo/wraping_signed_expr_7.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
    M polly/test/ScopInfo/zero_ext_of_truncate.ll
    M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
    M polly/test/ScopInfo/zero_ext_space_mismatch.ll
    M polly/test/ScopInliner/invariant-load-func.ll
    M polly/test/Simplify/coalesce_3partials.ll
    M polly/test/Simplify/coalesce_disjointelements.ll
    M polly/test/Simplify/coalesce_overlapping.ll
    M polly/test/Simplify/coalesce_partial.ll
    M polly/test/Simplify/dead_access_load.ll
    M polly/test/Simplify/dead_access_phi.ll
    M polly/test/Simplify/dead_access_value.ll
    M polly/test/Simplify/dead_instruction.ll
    M polly/test/Simplify/emptyaccessdomain.ll
    M polly/test/Simplify/exit_phi_accesses-2.ll
    M polly/test/Simplify/func-b320a7.ll
    M polly/test/Simplify/gemm.ll
    M polly/test/Simplify/nocoalesce_differentvalues.ll
    M polly/test/Simplify/nocoalesce_elementmismatch.ll
    M polly/test/Simplify/nocoalesce_readbetween.ll
    M polly/test/Simplify/nocoalesce_writebetween.ll
    M polly/test/Simplify/notdead_region_exitphi.ll
    M polly/test/Simplify/notdead_region_innerphi.ll
    M polly/test/Simplify/notredundant_region_loop.ll
    M polly/test/Simplify/notredundant_region_middle.ll
    M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
    M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/Simplify/overwritten.ll
    M polly/test/Simplify/overwritten_3phi.ll
    M polly/test/Simplify/overwritten_3store.ll
    M polly/test/Simplify/overwritten_implicit_and_explicit.ll
    M polly/test/Simplify/overwritten_loadbetween.ll
    M polly/test/Simplify/overwritten_scalar.ll
    M polly/test/Simplify/pass_existence.ll
    M polly/test/Simplify/phi_in_regionstmt.ll
    M polly/test/Simplify/pr33323.ll
    M polly/test/Simplify/redundant.ll
    M polly/test/Simplify/redundant_differentindex.ll
    M polly/test/Simplify/redundant_region.ll
    M polly/test/Simplify/redundant_region_scalar.ll
    M polly/test/Simplify/redundant_scalarwrite.ll
    M polly/test/Simplify/redundant_storebetween.ll
    M polly/test/Simplify/scalability1.ll
    M polly/test/Simplify/scalability2.ll
    M polly/test/Simplify/sweep_mapped_phi.ll
    M polly/test/Simplify/sweep_mapped_value.ll
    M polly/test/Simplify/ununsed_read_in_region_entry.ll
    M polly/test/Support/Plugins.ll
    M polly/test/Support/defaultpipelines.ll
    M polly/test/Support/dumpfunction.ll
    M polly/test/Support/dumpmodule.ll
    M polly/test/Support/exportjson.ll
    M polly/test/Support/isl-args.ll
    M polly/test/Support/pipelineposition.ll
    M polly/test/Support/pollyDebug.ll
    M polly/test/lit.site.cfg.in
    M polly/test/polly.ll

  Log Message:
  -----------
  [polly] Port polly tests to use NPM (#90632)

Even as the NPM has been in use by Polly for a while now, the
majority of the tests continue using the LPM passes. This patch
ports the tests to use the NPM passes (for example, by replacing
a flag such as -polly-detect with -passes=polly-detect following
the NPM syntax for specifying passes) with some exceptions for
some missing features in the new passes. Additionally, the lit
substitution %loadPolly is replaced by the substitution of what
was %loadNPMPolly and %loadNPMPolly is removed.


  Commit: 847c83f7cceeaec6676f33291081912d6b8fda5e
      https://github.com/llvm/llvm-project/commit/847c83f7cceeaec6676f33291081912d6b8fda5e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    A llvm/test/Transforms/InstCombine/AMDGPU/issue68120.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll

  Log Message:
  -----------
  InstCombine: Process addrspacecast uses in PointerReplacer (#91953)

This was looking through an addrspacecast, and not finding a later
unfoldable cast to another address space. Fixes improperly deleting
a required alloca + memcpy and introducing an illegal addrspacecast.
    
This also required fixing some worklist management issues with
addrspacecast, and assuming that only memcpy sources could need
replacement.
    
Regresses one test function, but this looks like it optimized
before by accident. It never saw the pointer use by the call
to readonly_callee, which should require insertion of a new cast.
    
Fixes #68120


  Commit: 15397583e3d85eb1f1a051de26eb409aaedd3b54
      https://github.com/llvm/llvm-project/commit/15397583e3d85eb1f1a051de26eb409aaedd3b54
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M polly/test/CodeGen/20100617.ll
    M polly/test/CodeGen/20100622.ll
    M polly/test/CodeGen/20100707.ll
    M polly/test/CodeGen/20100707_2.ll
    M polly/test/CodeGen/20100708.ll
    M polly/test/CodeGen/20100708_2.ll
    M polly/test/CodeGen/20100713.ll
    M polly/test/CodeGen/20100713_2.ll
    M polly/test/CodeGen/20100717.ll
    M polly/test/CodeGen/20100718-DomInfo-2.ll
    M polly/test/CodeGen/20100718-DomInfo.ll
    M polly/test/CodeGen/20100720-MultipleConditions.ll
    M polly/test/CodeGen/20100809-IndependentBlock.ll
    M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
    M polly/test/CodeGen/20101030-Overflow.ll
    M polly/test/CodeGen/20101103-Overflow3.ll
    M polly/test/CodeGen/20101103-signmissmatch.ll
    M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
    M polly/test/CodeGen/20110226-PHI-Node-removed.ll
    M polly/test/CodeGen/20120316-InvalidCast.ll
    M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
    M polly/test/CodeGen/20130221.ll
    M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
    M polly/test/CodeGen/Intrinsics/llvm-expect.ll
    M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
    M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
    M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
    M polly/test/CodeGen/MemAccess/bad_alignment.ll
    M polly/test/CodeGen/MemAccess/codegen_address_space.ll
    M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
    M polly/test/CodeGen/MemAccess/codegen_simple.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
    M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
    M polly/test/CodeGen/MemAccess/different_types.ll
    M polly/test/CodeGen/MemAccess/generate-all.ll
    M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
    M polly/test/CodeGen/MemAccess/multiple_types.ll
    M polly/test/CodeGen/MemAccess/simple.ll
    M polly/test/CodeGen/MemAccess/update_access_functions.ll
    M polly/test/CodeGen/OpenMP/alias-metadata.ll
    M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
    M polly/test/CodeGen/OpenMP/inlineasm.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
    M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
    M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
    M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
    M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
    M polly/test/CodeGen/OpenMP/matmul-parallel.ll
    M polly/test/CodeGen/OpenMP/recomputed-srem.ll
    M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
    M polly/test/CodeGen/OpenMP/reference-other-bb.ll
    M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
    M polly/test/CodeGen/OpenMP/reference_latest.ll
    M polly/test/CodeGen/OpenMP/scev-rewriting.ll
    M polly/test/CodeGen/OpenMP/single_loop.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
    M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
    M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
    M polly/test/CodeGen/PHIInExit.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
    M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
    M polly/test/CodeGen/alias-check-multi-dim.ll
    M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
    M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
    M polly/test/CodeGen/aliasing_different_pointer_types.ll
    M polly/test/CodeGen/aliasing_multidimensional_access.ll
    M polly/test/CodeGen/aliasing_parametric_simple_1.ll
    M polly/test/CodeGen/aliasing_parametric_simple_2.ll
    M polly/test/CodeGen/aliasing_struct_element.ll
    M polly/test/CodeGen/alignment.ll
    M polly/test/CodeGen/annotated_alias_scopes.ll
    M polly/test/CodeGen/blas_sscal_simplified.ll
    M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
    M polly/test/CodeGen/constant_condition.ll
    M polly/test/CodeGen/create-conditional-scop.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
    M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
    M polly/test/CodeGen/debug-intrinsics.ll
    M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
    M polly/test/CodeGen/empty_domain_in_context.ll
    M polly/test/CodeGen/entry_with_trivial_phi.ll
    M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
    M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
    M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
    M polly/test/CodeGen/exprModDiv.ll
    M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
    M polly/test/CodeGen/hoisting_1.ll
    M polly/test/CodeGen/hoisting_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_1.ll
    M polly/test/CodeGen/inner_scev_sdiv_2.ll
    M polly/test/CodeGen/inner_scev_sdiv_3.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
    M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
    M polly/test/CodeGen/intrinsics_lifetime.ll
    M polly/test/CodeGen/intrinsics_misc.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
    M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
    M polly/test/CodeGen/invariant-load-dimension.ll
    M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
    M polly/test/CodeGen/invariant_cannot_handle_void.ll
    M polly/test/CodeGen/invariant_load.ll
    M polly/test/CodeGen/invariant_load_address_space.ll
    M polly/test/CodeGen/invariant_load_alias_metadata.ll
    M polly/test/CodeGen/invariant_load_base_pointer.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
    M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
    M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/CodeGen/invariant_load_condition.ll
    M polly/test/CodeGen/invariant_load_different_sized_types.ll
    M polly/test/CodeGen/invariant_load_escaping.ll
    M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
    M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
    M polly/test/CodeGen/invariant_load_loop_ub.ll
    M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
    M polly/test/CodeGen/invariant_load_outermost.ll
    M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
    M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
    M polly/test/CodeGen/invariant_load_scalar_dep.ll
    M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
    M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
    M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
    M polly/test/CodeGen/invariant_verify_function_failed.ll
    M polly/test/CodeGen/invariant_verify_function_failed_2.ll
    M polly/test/CodeGen/issue56692.ll
    M polly/test/CodeGen/large-numbers-in-boundary-context.ll
    M polly/test/CodeGen/load_subset_with_context.ll
    M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
    M polly/test/CodeGen/loop_with_condition.ll
    M polly/test/CodeGen/loop_with_condition_2.ll
    M polly/test/CodeGen/loop_with_condition_ineq.ll
    M polly/test/CodeGen/loop_with_condition_nested.ll
    M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
    M polly/test/CodeGen/memcpy_annotations.ll
    M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
    M polly/test/CodeGen/multidim-non-matching-typesize.ll
    M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/CodeGen/multidim_alias_check.ll
    M polly/test/CodeGen/multiple-codegens.ll
    M polly/test/CodeGen/multiple-scops-in-a-row.ll
    M polly/test/CodeGen/multiple-types-invariant-load-2.ll
    M polly/test/CodeGen/multiple-types-invariant-load.ll
    M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
    M polly/test/CodeGen/no-overflow-tracking.ll
    M polly/test/CodeGen/no_guard_bb.ll
    M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
    M polly/test/CodeGen/non-affine-exit-node-dominance.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
    M polly/test/CodeGen/non-affine-phi-node-expansion.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
    M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
    M polly/test/CodeGen/non-affine-region-implicit-store.ll
    M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
    M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
    M polly/test/CodeGen/non-affine-switch.ll
    M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
    M polly/test/CodeGen/non-affine-update.ll
    M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
    M polly/test/CodeGen/non_affine_float_compare.ll
    M polly/test/CodeGen/only_non_affine_error_region.ll
    M polly/test/CodeGen/openmp_limit_threads.ll
    M polly/test/CodeGen/out-of-scop-phi-node-use.ll
    M polly/test/CodeGen/param_div_div_div_2.ll
    M polly/test/CodeGen/partial_write_array.ll
    M polly/test/CodeGen/partial_write_emptyset.ll
    M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
    M polly/test/CodeGen/partial_write_impossible_restriction.ll
    M polly/test/CodeGen/partial_write_in_region.ll
    M polly/test/CodeGen/partial_write_in_region_with_loop.ll
    M polly/test/CodeGen/partial_write_mapped_scalar.ll
    M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
    M polly/test/CodeGen/perf_monitoring.ll
    M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
    M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
    M polly/test/CodeGen/phi-defined-before-scop.ll
    M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
    M polly/test/CodeGen/phi_condition_modeling_1.ll
    M polly/test/CodeGen/phi_condition_modeling_2.ll
    M polly/test/CodeGen/phi_conditional_simple_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
    M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
    M polly/test/CodeGen/phi_loop_carried_float.ll
    M polly/test/CodeGen/phi_loop_carried_float_escape.ll
    M polly/test/CodeGen/phi_scalar_simple_1.ll
    M polly/test/CodeGen/phi_scalar_simple_2.ll
    M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
    M polly/test/CodeGen/phi_with_one_exit_edge.ll
    M polly/test/CodeGen/pointer-type-expressions-2.ll
    M polly/test/CodeGen/pointer-type-expressions.ll
    M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
    M polly/test/CodeGen/pointer_rem.ll
    M polly/test/CodeGen/pr25241.ll
    M polly/test/CodeGen/ptrtoint_as_parameter.ll
    M polly/test/CodeGen/read-only-scalars.ll
    M polly/test/CodeGen/reduction.ll
    M polly/test/CodeGen/reduction_2.ll
    M polly/test/CodeGen/reduction_simple_binary.ll
    M polly/test/CodeGen/region-with-instructions.ll
    M polly/test/CodeGen/region_exiting-domtree.ll
    M polly/test/CodeGen/region_multiexit_partialwrite.ll
    M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
    M polly/test/CodeGen/run-time-condition.ll
    M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
    M polly/test/CodeGen/scalar-store-from-same-bb.ll
    M polly/test/CodeGen/scalar_codegen_crash.ll
    M polly/test/CodeGen/scev-backedgetaken.ll
    M polly/test/CodeGen/scev-division-invariant-load.ll
    M polly/test/CodeGen/scev.ll
    M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
    M polly/test/CodeGen/scev_looking_through_bitcasts.ll
    M polly/test/CodeGen/scop_expander_insert_point.ll
    M polly/test/CodeGen/scop_expander_segfault.ll
    M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
    M polly/test/CodeGen/select-base-pointer.ll
    M polly/test/CodeGen/sequential_loops.ll
    M polly/test/CodeGen/simple_loop_non_single_exit.ll
    M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
    M polly/test/CodeGen/simple_non_single_entry.ll
    M polly/test/CodeGen/simple_nonaffine_loop.ll
    M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
    M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_do_loop_one_iteration.ll
    M polly/test/CodeGen/single_do_loop_scev_replace.ll
    M polly/test/CodeGen/single_loop.ll
    M polly/test/CodeGen/single_loop_int_max_iterations.ll
    M polly/test/CodeGen/single_loop_ll_max_iterations.ll
    M polly/test/CodeGen/single_loop_one_iteration.ll
    M polly/test/CodeGen/single_loop_param.ll
    M polly/test/CodeGen/single_loop_param_less_equal.ll
    M polly/test/CodeGen/single_loop_param_less_than.ll
    M polly/test/CodeGen/single_loop_zero_iterations.ll
    M polly/test/CodeGen/split_edge_of_exit.ll
    M polly/test/CodeGen/split_edges.ll
    M polly/test/CodeGen/split_edges_2.ll
    M polly/test/CodeGen/srem-in-other-bb.ll
    M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
    M polly/test/CodeGen/stmt_split_no_dependence.ll
    M polly/test/CodeGen/switch-in-non-affine-region.ll
    M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
    M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
    M polly/test/CodeGen/test-invalid-operands-for-select.ll
    M polly/test/CodeGen/test.ll
    M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
    M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
    M polly/test/CodeGen/two-scops-in-row.ll
    M polly/test/CodeGen/udiv_expansion_position.ll
    M polly/test/CodeGen/uninitialized_scalar_memory.ll
    M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
    M polly/test/CodeGen/variant_load_empty_domain.ll
    M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
    M polly/test/DeLICM/confused_order.ll
    M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
    M polly/test/DeLICM/load-in-cond-inf-loop.ll
    M polly/test/DeLICM/map_memset_zero.ll
    M polly/test/DeLICM/nomap_alreadymapped.ll
    M polly/test/DeLICM/nomap_escaping.ll
    M polly/test/DeLICM/nomap_occupied.ll
    M polly/test/DeLICM/nomap_readonly.ll
    M polly/test/DeLICM/nomap_spuriouswrite.ll
    M polly/test/DeLICM/nomap_storagesize.ll
    M polly/test/DeLICM/nomap_writewrite.ll
    M polly/test/DeLICM/outofquota-reverseDomain.ll
    M polly/test/DeLICM/pass_existence.ll
    M polly/test/DeLICM/pr41656.ll
    M polly/test/DeLICM/pr48783.ll
    M polly/test/DeLICM/reduction.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
    M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
    M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
    M polly/test/DeLICM/reduction_unrelatedunusual.ll
    M polly/test/DeLICM/reject_loadafterstore.ll
    M polly/test/DeLICM/reject_outofquota.ll
    M polly/test/DeLICM/reject_storeafterstore.ll
    M polly/test/DeLICM/reject_storeinsubregion.ll
    M polly/test/DeLICM/reject_unusualstore.ll
    M polly/test/DeLICM/skip_maywrite.ll
    M polly/test/DeLICM/skip_multiaccess.ll
    M polly/test/DeLICM/skip_notinloop.ll
    M polly/test/DeLICM/skip_scalaraccess.ll
    M polly/test/DeadCodeElimination/chained_iterations.ll
    M polly/test/DeadCodeElimination/chained_iterations_2.ll
    M polly/test/DeadCodeElimination/computeout.ll
    M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
    M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
    M polly/test/DeadCodeElimination/non-affine.ll
    M polly/test/DeadCodeElimination/null_schedule.ll
    M polly/test/DependenceInfo/computeout.ll
    M polly/test/DependenceInfo/different_schedule_dimensions.ll
    M polly/test/DependenceInfo/do_pluto_matmult.ll
    M polly/test/DependenceInfo/fine_grain_dep_0.ll
    M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
    M polly/test/DependenceInfo/infeasible_context.ll
    M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
    M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
    M polly/test/DependenceInfo/reduction_complex_location.ll
    M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_dependences_not_null.ll
    M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
    M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions.ll
    M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
    M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
    M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
    M polly/test/DependenceInfo/reduction_privatization_deps.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
    M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
    M polly/test/DependenceInfo/reduction_sequence.ll
    M polly/test/DependenceInfo/reduction_simple_iv.ll
    M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
    M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
    M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
    M polly/test/DependenceInfo/sequential_loops.ll
    M polly/test/ForwardOpTree/atax.ll
    M polly/test/ForwardOpTree/changed-kind.ll
    M polly/test/ForwardOpTree/forward_from_region.ll
    M polly/test/ForwardOpTree/forward_hoisted.ll
    M polly/test/ForwardOpTree/forward_instruction.ll
    M polly/test/ForwardOpTree/forward_into_region.ll
    M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
    M polly/test/ForwardOpTree/forward_load.ll
    M polly/test/ForwardOpTree/forward_load_differentarray.ll
    M polly/test/ForwardOpTree/forward_load_double_write.ll
    M polly/test/ForwardOpTree/forward_load_fromloop.ll
    M polly/test/ForwardOpTree/forward_load_indirect.ll
    M polly/test/ForwardOpTree/forward_load_memset_after.ll
    M polly/test/ForwardOpTree/forward_load_memset_before.ll
    M polly/test/ForwardOpTree/forward_load_tripleuse.ll
    M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
    M polly/test/ForwardOpTree/forward_phi_load.ll
    M polly/test/ForwardOpTree/forward_readonly.ll
    M polly/test/ForwardOpTree/forward_reusue.ll
    M polly/test/ForwardOpTree/forward_store.ll
    M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
    M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
    M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
    M polly/test/ForwardOpTree/forward_transitive.ll
    M polly/test/ForwardOpTree/jacobi-1d.ll
    M polly/test/ForwardOpTree/noforward_from_region.ll
    M polly/test/ForwardOpTree/noforward_load_conditional.ll
    M polly/test/ForwardOpTree/noforward_load_writebetween.ll
    M polly/test/ForwardOpTree/noforward_outofquota.ll
    M polly/test/ForwardOpTree/noforward_partial.ll
    M polly/test/ForwardOpTree/noforward_phi.ll
    M polly/test/ForwardOpTree/noforward_selfrefphi.ll
    M polly/test/ForwardOpTree/noforward_sideffects.ll
    M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
    M polly/test/ForwardOpTree/out-of-quota1.ll
    M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
    M polly/test/IstAstInfo/alias_simple_1.ll
    M polly/test/IstAstInfo/alias_simple_2.ll
    M polly/test/IstAstInfo/alias_simple_3.ll
    M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
    M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
    M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
    M polly/test/IstAstInfo/dependence_distance_minimal.ll
    M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
    M polly/test/IstAstInfo/non_affine_access.ll
    M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
    M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
    M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
    M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
    M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
    M polly/test/IstAstInfo/run-time-condition.ll
    M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
    M polly/test/IstAstInfo/simple-run-time-condition.ll
    M polly/test/IstAstInfo/single_loop_strip_mine.ll
    M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
    M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
    M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
    M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
    M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
    M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
    M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
    M polly/test/MaximalStaticExpansion/read_from_original.ll
    M polly/test/MaximalStaticExpansion/too_many_writes.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
    M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
    M polly/test/MaximalStaticExpansion/working_expansion.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
    M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
    M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
    M polly/test/MaximalStaticExpansion/working_value_expansion.ll
    M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
    M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
    M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
    M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
    M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
    M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
    M polly/test/ScheduleOptimizer/computeout.ll
    M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
    M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
    M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
    M polly/test/ScheduleOptimizer/line-tiling-2.ll
    M polly/test/ScheduleOptimizer/line-tiling.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
    M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
    M polly/test/ScheduleOptimizer/one-dimensional-band.ll
    M polly/test/ScheduleOptimizer/outer_coincidence.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
    M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
    M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
    M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
    M polly/test/ScheduleOptimizer/prevectorization.ll
    M polly/test/ScheduleOptimizer/rectangular-tiling.ll
    M polly/test/ScheduleOptimizer/schedule_computeout.ll
    M polly/test/ScheduleOptimizer/statistics.ll
    M polly/test/ScheduleOptimizer/tile_after_fusion.ll
    M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
    M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
    M polly/test/ScopDetect/aliasing_simple_1.ll
    M polly/test/ScopDetect/aliasing_simple_2.ll
    M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
    M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
    M polly/test/ScopDetect/callbr.ll
    M polly/test/ScopDetect/collective_invariant_loads.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit.ll
    M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
    M polly/test/ScopDetect/dot-scops-npm.ll
    M polly/test/ScopDetect/dot-scops.ll
    M polly/test/ScopDetect/error-block-always-executed.ll
    M polly/test/ScopDetect/error-block-referenced-from-scop.ll
    M polly/test/ScopDetect/error-block-unreachable.ll
    M polly/test/ScopDetect/expand-region-correctly-2.ll
    M polly/test/ScopDetect/expand-region-correctly.ll
    M polly/test/ScopDetect/ignore_func_flag_regex.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop.ll
    M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
    M polly/test/ScopDetect/indvars.ll
    M polly/test/ScopDetect/intrinsics_1.ll
    M polly/test/ScopDetect/intrinsics_2.ll
    M polly/test/ScopDetect/intrinsics_3.ll
    M polly/test/ScopDetect/invalid-latch-conditions.ll
    M polly/test/ScopDetect/invalidate_scalar_evolution.ll
    M polly/test/ScopDetect/invariant-load-before-scop.ll
    M polly/test/ScopDetect/keep_going_expansion.ll
    M polly/test/ScopDetect/mod_ref_read_pointer.ll
    M polly/test/ScopDetect/more-than-one-loop.ll
    M polly/test/ScopDetect/multidim-with-undef-size.ll
    M polly/test/ScopDetect/multidim.ll
    M polly/test/ScopDetect/multidim_indirect_access.ll
    M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
    M polly/test/ScopDetect/nested_loop_single_exit.ll
    M polly/test/ScopDetect/non-affine-conditional.ll
    M polly/test/ScopDetect/non-affine-float-compare.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopDetect/non-affine-loop.ll
    M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
    M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
    M polly/test/ScopDetect/non-simple-memory-accesses.ll
    M polly/test/ScopDetect/non_affine_loop_condition.ll
    M polly/test/ScopDetect/only-one-affine-loop.ll
    M polly/test/ScopDetect/only_func_flag.ll
    M polly/test/ScopDetect/only_func_flag_regex.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
    M polly/test/ScopDetect/parametric-multiply-in-scev.ll
    M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
    M polly/test/ScopDetect/profitability-large-basic-blocks.ll
    M polly/test/ScopDetect/profitability-two-nested-loops.ll
    M polly/test/ScopDetect/remove_all_children.ll
    M polly/test/ScopDetect/report-scop-location.ll
    M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
    M polly/test/ScopDetect/run_time_alias_check.ll
    M polly/test/ScopDetect/scev_remove_max.ll
    M polly/test/ScopDetect/sequential_loops.ll
    M polly/test/ScopDetect/simple_loop.ll
    M polly/test/ScopDetect/simple_loop_non_single_entry.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit.ll
    M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
    M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
    M polly/test/ScopDetect/simple_loop_with_param.ll
    M polly/test/ScopDetect/simple_loop_with_param_2.ll
    M polly/test/ScopDetect/simple_non_single_entry.ll
    M polly/test/ScopDetect/skip_function_attribute.ll
    M polly/test/ScopDetect/srem_with_parametric_divisor.ll
    M polly/test/ScopDetect/statistics.ll
    M polly/test/ScopDetect/switch-in-loop-patch.ll
    M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
    M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
    M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
    M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
    M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
    M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
    M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
    M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
    M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
    M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
    M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
    M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
    M polly/test/ScopInfo/Alias-0.ll
    M polly/test/ScopInfo/Alias-1.ll
    M polly/test/ScopInfo/Alias-2.ll
    M polly/test/ScopInfo/Alias-3.ll
    M polly/test/ScopInfo/Alias-4.ll
    M polly/test/ScopInfo/BoundChecks/single-loop.ll
    M polly/test/ScopInfo/BoundChecks/two-loops.ll
    M polly/test/ScopInfo/NonAffine/div_backedge.ll
    M polly/test/ScopInfo/NonAffine/div_domain.ll
    M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
    M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
    M polly/test/ScopInfo/NonAffine/modulo_domain.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
    M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
    M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
    M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
    M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
    M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
    M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
    M polly/test/ScopInfo/aliasing_dead_access.ll
    M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
    M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
    M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
    M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
    M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
    M polly/test/ScopInfo/assume_gep_bounds.ll
    M polly/test/ScopInfo/assume_gep_bounds_2.ll
    M polly/test/ScopInfo/assume_gep_bounds_many.ll
    M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
    M polly/test/ScopInfo/bool-addrec.ll
    M polly/test/ScopInfo/bounded_loop_assumptions.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
    M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
    M polly/test/ScopInfo/bug_2010_10_22.ll
    M polly/test/ScopInfo/bug_2011_1_5.ll
    M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
    M polly/test/ScopInfo/cfg_consequences.ll
    M polly/test/ScopInfo/complex-branch-structure.ll
    M polly/test/ScopInfo/complex-condition.ll
    M polly/test/ScopInfo/complex-expression.ll
    M polly/test/ScopInfo/complex-loop-nesting.ll
    M polly/test/ScopInfo/complex-successor-structure-2.ll
    M polly/test/ScopInfo/complex-successor-structure-3.ll
    M polly/test/ScopInfo/complex-successor-structure.ll
    M polly/test/ScopInfo/complex_domain_binary_condition.ll
    M polly/test/ScopInfo/complex_execution_context.ll
    M polly/test/ScopInfo/cond_constant_in_loop.ll
    M polly/test/ScopInfo/cond_in_loop.ll
    M polly/test/ScopInfo/condition-after-error-block-2.ll
    M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
    M polly/test/ScopInfo/condtion-after-error-block.ll
    M polly/test/ScopInfo/const_srem_sdiv.ll
    M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
    M polly/test/ScopInfo/constant_factor_in_parameter.ll
    M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
    M polly/test/ScopInfo/constant_start_integer.ll
    M polly/test/ScopInfo/debug_call.ll
    M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
    M polly/test/ScopInfo/div_by_zero.ll
    M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
    M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
    M polly/test/ScopInfo/early_exit_for_complex_domains.ll
    M polly/test/ScopInfo/error-blocks-1.ll
    M polly/test/ScopInfo/error-blocks-2.ll
    M polly/test/ScopInfo/escaping_empty_scop.ll
    M polly/test/ScopInfo/exit-phi-1.ll
    M polly/test/ScopInfo/exit-phi-2.ll
    M polly/test/ScopInfo/exit_phi_accesses-2.ll
    M polly/test/ScopInfo/exit_phi_accesses.ll
    M polly/test/ScopInfo/expensive-boundary-context.ll
    M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
    M polly/test/ScopInfo/full-function.ll
    M polly/test/ScopInfo/granularity_same_name.ll
    M polly/test/ScopInfo/granularity_scalar-indep.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
    M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
    M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
    M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
    M polly/test/ScopInfo/i1_params.ll
    M polly/test/ScopInfo/infeasible-rtc.ll
    M polly/test/ScopInfo/infeasible_invalid_context.ll
    M polly/test/ScopInfo/int2ptr_ptr2int.ll
    M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
    M polly/test/ScopInfo/integers.ll
    M polly/test/ScopInfo/inter-error-bb-dependence.ll
    M polly/test/ScopInfo/inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
    M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
    M polly/test/ScopInfo/intra_bb_scalar_dep.ll
    M polly/test/ScopInfo/intrinsics.ll
    M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
    M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
    M polly/test/ScopInfo/invariant-load-instlist.ll
    M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
    M polly/test/ScopInfo/invariant_load.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
    M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
    M polly/test/ScopInfo/invariant_load_addrec_sum.ll
    M polly/test/ScopInfo/invariant_load_base_pointer.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
    M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
    M polly/test/ScopInfo/invariant_load_branch_condition.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
    M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
    M polly/test/ScopInfo/invariant_load_complex_condition.ll
    M polly/test/ScopInfo/invariant_load_condition.ll
    M polly/test/ScopInfo/invariant_load_dereferenceable.ll
    M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
    M polly/test/ScopInfo/invariant_load_in_non_affine.ll
    M polly/test/ScopInfo/invariant_load_loop_ub.ll
    M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
    M polly/test/ScopInfo/invariant_load_scalar_dep.ll
    M polly/test/ScopInfo/invariant_load_stmt_domain.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
    M polly/test/ScopInfo/invariant_load_zext_parameter.ll
    M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
    M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
    M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
    M polly/test/ScopInfo/invariant_loop_bounds.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
    M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
    M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
    M polly/test/ScopInfo/isl_trip_count_01.ll
    M polly/test/ScopInfo/isl_trip_count_02.ll
    M polly/test/ScopInfo/isl_trip_count_03.ll
    M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
    M polly/test/ScopInfo/licm_load.ll
    M polly/test/ScopInfo/licm_potential_store.ll
    M polly/test/ScopInfo/licm_reduction_nested.ll
    M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
    M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
    M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
    M polly/test/ScopInfo/loop_affine_bound_0.ll
    M polly/test/ScopInfo/loop_affine_bound_1.ll
    M polly/test/ScopInfo/loop_affine_bound_2.ll
    M polly/test/ScopInfo/loop_carry.ll
    M polly/test/ScopInfo/many-scalar-dependences.ll
    M polly/test/ScopInfo/max-loop-depth.ll
    M polly/test/ScopInfo/memcpy-raw-source.ll
    M polly/test/ScopInfo/memcpy.ll
    M polly/test/ScopInfo/memmove.ll
    M polly/test/ScopInfo/memset.ll
    M polly/test/ScopInfo/memset_null.ll
    M polly/test/ScopInfo/mismatching-array-dimensions.ll
    M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
    M polly/test/ScopInfo/mod_ref_read_pointer.ll
    M polly/test/ScopInfo/mod_ref_read_pointers.ll
    M polly/test/ScopInfo/modulo_zext_1.ll
    M polly/test/ScopInfo/modulo_zext_2.ll
    M polly/test/ScopInfo/modulo_zext_3.ll
    M polly/test/ScopInfo/multi-scop.ll
    M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
    M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
    M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
    M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
    M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
    M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim.ll
    M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
    M polly/test/ScopInfo/multidim_fortran_2d.ll
    M polly/test/ScopInfo/multidim_fortran_2d_params.ll
    M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
    M polly/test/ScopInfo/multidim_fortran_srem.ll
    M polly/test/ScopInfo/multidim_gep_pointercast.ll
    M polly/test/ScopInfo/multidim_gep_pointercast2.ll
    M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
    M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
    M polly/test/ScopInfo/multidim_many_references.ll
    M polly/test/ScopInfo/multidim_nested_start_integer.ll
    M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
    M polly/test/ScopInfo/multidim_only_ivs_2d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
    M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
    M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
    M polly/test/ScopInfo/multidim_param_in_subscript.ll
    M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
    M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
    M polly/test/ScopInfo/multidim_srem.ll
    M polly/test/ScopInfo/multidim_with_bitcast.ll
    M polly/test/ScopInfo/multiple-binary-or-conditions.ll
    M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
    M polly/test/ScopInfo/multiple-types-non-affine-2.ll
    M polly/test/ScopInfo/multiple-types-non-affine.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
    M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
    M polly/test/ScopInfo/multiple-types-two-dimensional.ll
    M polly/test/ScopInfo/multiple-types.ll
    M polly/test/ScopInfo/multiple_exiting_blocks.ll
    M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
    M polly/test/ScopInfo/multiple_latch_blocks.ll
    M polly/test/ScopInfo/nested-loops.ll
    M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
    M polly/test/ScopInfo/non-affine-region-phi.ll
    M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
    M polly/test/ScopInfo/non-affine-region-with-loop.ll
    M polly/test/ScopInfo/non-precise-inv-load-1.ll
    M polly/test/ScopInfo/non-precise-inv-load-2.ll
    M polly/test/ScopInfo/non-precise-inv-load-3.ll
    M polly/test/ScopInfo/non-precise-inv-load-4.ll
    M polly/test/ScopInfo/non-precise-inv-load-5.ll
    M polly/test/ScopInfo/non-precise-inv-load-6.ll
    M polly/test/ScopInfo/non-pure-function-call.ll
    M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
    M polly/test/ScopInfo/non-pure-function-calls.ll
    M polly/test/ScopInfo/non_affine_access.ll
    M polly/test/ScopInfo/non_affine_region_1.ll
    M polly/test/ScopInfo/non_affine_region_2.ll
    M polly/test/ScopInfo/non_affine_region_3.ll
    M polly/test/ScopInfo/non_affine_region_4.ll
    M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
    M polly/test/ScopInfo/not-a-reduction.ll
    M polly/test/ScopInfo/opaque-struct.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
    M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/ScopInfo/parameter-constant-division.ll
    M polly/test/ScopInfo/parameter_in_dead_statement.ll
    M polly/test/ScopInfo/parameter_product.ll
    M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
    M polly/test/ScopInfo/partially_invariant_load_1.ll
    M polly/test/ScopInfo/partially_invariant_load_2.ll
    M polly/test/ScopInfo/phi-in-non-affine-region.ll
    M polly/test/ScopInfo/phi_after_error_block.ll
    M polly/test/ScopInfo/phi_condition_modeling_1.ll
    M polly/test/ScopInfo/phi_condition_modeling_2.ll
    M polly/test/ScopInfo/phi_conditional_simple_1.ll
    M polly/test/ScopInfo/phi_loop_carried_float.ll
    M polly/test/ScopInfo/phi_not_grouped_at_top.ll
    M polly/test/ScopInfo/phi_scalar_simple_1.ll
    M polly/test/ScopInfo/phi_scalar_simple_2.ll
    M polly/test/ScopInfo/phi_with_invoke_edge.ll
    M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
    M polly/test/ScopInfo/pointer-comparison.ll
    M polly/test/ScopInfo/pointer-type-expressions.ll
    M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
    M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
    M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
    M polly/test/ScopInfo/process_added_dimensions.ll
    M polly/test/ScopInfo/pwaff-complexity-bailout.ll
    M polly/test/ScopInfo/ranged_parameter.ll
    M polly/test/ScopInfo/ranged_parameter_2.ll
    M polly/test/ScopInfo/ranged_parameter_wrap.ll
    M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
    M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
    M polly/test/ScopInfo/read-only-scalars.ll
    M polly/test/ScopInfo/read-only-statements.ll
    M polly/test/ScopInfo/reduction_alternating_base.ll
    M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
    M polly/test/ScopInfo/reduction_different_index.ll
    M polly/test/ScopInfo/reduction_different_index1.ll
    M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate.ll
    M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
    M polly/test/ScopInfo/reduction_invalid_different_operators.ll
    M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
    M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
    M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
    M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
    M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
    M polly/test/ScopInfo/reduction_simple_fp.ll
    M polly/test/ScopInfo/reduction_simple_w_constant.ll
    M polly/test/ScopInfo/reduction_simple_w_iv.ll
    M polly/test/ScopInfo/reduction_two_identical_reads.ll
    M polly/test/ScopInfo/redundant_parameter_constraint.ll
    M polly/test/ScopInfo/region-with-instructions.ll
    M polly/test/ScopInfo/remarks.ll
    M polly/test/ScopInfo/required-invariant-loop-bounds.ll
    M polly/test/ScopInfo/restriction_in_dead_block.ll
    M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
    M polly/test/ScopInfo/run-time-check-many-parameters.ll
    M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
    M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
    M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
    M polly/test/ScopInfo/scalar.ll
    M polly/test/ScopInfo/scalar_dependence_cond_br.ll
    M polly/test/ScopInfo/scalar_to_array.ll
    M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
    M polly/test/ScopInfo/scev-invalidated.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
    M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
    M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
    M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
    M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
    M polly/test/ScopInfo/sign_wrapped_set.ll
    M polly/test/ScopInfo/simple_loop_1.ll
    M polly/test/ScopInfo/simple_loop_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned.ll
    M polly/test/ScopInfo/simple_loop_unsigned_2.ll
    M polly/test/ScopInfo/simple_loop_unsigned_3.ll
    M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
    M polly/test/ScopInfo/smax.ll
    M polly/test/ScopInfo/statistics.ll
    M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
    M polly/test/ScopInfo/stmt_split_no_after_split.ll
    M polly/test/ScopInfo/stmt_split_no_dependence.ll
    M polly/test/ScopInfo/stmt_split_on_store.ll
    M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
    M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
    M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
    M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
    M polly/test/ScopInfo/stmt_split_within_loop.ll
    M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
    M polly/test/ScopInfo/switch-1.ll
    M polly/test/ScopInfo/switch-2.ll
    M polly/test/ScopInfo/switch-3.ll
    M polly/test/ScopInfo/switch-4.ll
    M polly/test/ScopInfo/switch-5.ll
    M polly/test/ScopInfo/switch-6.ll
    M polly/test/ScopInfo/switch-7.ll
    M polly/test/ScopInfo/tempscop-printing.ll
    M polly/test/ScopInfo/test-wrapping-in-condition.ll
    M polly/test/ScopInfo/truncate-1.ll
    M polly/test/ScopInfo/truncate-2.ll
    M polly/test/ScopInfo/truncate-3.ll
    M polly/test/ScopInfo/two-loops-one-infinite.ll
    M polly/test/ScopInfo/two-loops-right-after-each-other.ll
    M polly/test/ScopInfo/undef_in_cond.ll
    M polly/test/ScopInfo/unnamed_nonaffine.ll
    M polly/test/ScopInfo/unnamed_stmts.ll
    M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
    M polly/test/ScopInfo/unprofitable_scalar-accs.ll
    M polly/test/ScopInfo/unsigned-condition.ll
    M polly/test/ScopInfo/unsigned-division-1.ll
    M polly/test/ScopInfo/unsigned-division-2.ll
    M polly/test/ScopInfo/unsigned-division-3.ll
    M polly/test/ScopInfo/unsigned-division-4.ll
    M polly/test/ScopInfo/unsigned-division-5.ll
    M polly/test/ScopInfo/unsigned_wrap_uge.ll
    M polly/test/ScopInfo/unsigned_wrap_ugt.ll
    M polly/test/ScopInfo/unsigned_wrap_ule.ll
    M polly/test/ScopInfo/unsigned_wrap_ult.ll
    M polly/test/ScopInfo/user_context.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
    M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
    M polly/test/ScopInfo/user_provided_assumptions.ll
    M polly/test/ScopInfo/user_provided_assumptions_2.ll
    M polly/test/ScopInfo/user_provided_assumptions_3.ll
    M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
    M polly/test/ScopInfo/variant_base_pointer.ll
    M polly/test/ScopInfo/variant_load_empty_domain.ll
    M polly/test/ScopInfo/wraping_signed_expr_0.ll
    M polly/test/ScopInfo/wraping_signed_expr_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_2.ll
    M polly/test/ScopInfo/wraping_signed_expr_3.ll
    M polly/test/ScopInfo/wraping_signed_expr_4.ll
    M polly/test/ScopInfo/wraping_signed_expr_5.ll
    M polly/test/ScopInfo/wraping_signed_expr_6.ll
    M polly/test/ScopInfo/wraping_signed_expr_7.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
    M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
    M polly/test/ScopInfo/zero_ext_of_truncate.ll
    M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
    M polly/test/ScopInfo/zero_ext_space_mismatch.ll
    M polly/test/ScopInliner/invariant-load-func.ll
    M polly/test/Simplify/coalesce_3partials.ll
    M polly/test/Simplify/coalesce_disjointelements.ll
    M polly/test/Simplify/coalesce_overlapping.ll
    M polly/test/Simplify/coalesce_partial.ll
    M polly/test/Simplify/dead_access_load.ll
    M polly/test/Simplify/dead_access_phi.ll
    M polly/test/Simplify/dead_access_value.ll
    M polly/test/Simplify/dead_instruction.ll
    M polly/test/Simplify/emptyaccessdomain.ll
    M polly/test/Simplify/exit_phi_accesses-2.ll
    M polly/test/Simplify/func-b320a7.ll
    M polly/test/Simplify/gemm.ll
    M polly/test/Simplify/nocoalesce_differentvalues.ll
    M polly/test/Simplify/nocoalesce_elementmismatch.ll
    M polly/test/Simplify/nocoalesce_readbetween.ll
    M polly/test/Simplify/nocoalesce_writebetween.ll
    M polly/test/Simplify/notdead_region_exitphi.ll
    M polly/test/Simplify/notdead_region_innerphi.ll
    M polly/test/Simplify/notredundant_region_loop.ll
    M polly/test/Simplify/notredundant_region_middle.ll
    M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
    M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
    M polly/test/Simplify/overwritten.ll
    M polly/test/Simplify/overwritten_3phi.ll
    M polly/test/Simplify/overwritten_3store.ll
    M polly/test/Simplify/overwritten_implicit_and_explicit.ll
    M polly/test/Simplify/overwritten_loadbetween.ll
    M polly/test/Simplify/overwritten_scalar.ll
    M polly/test/Simplify/pass_existence.ll
    M polly/test/Simplify/phi_in_regionstmt.ll
    M polly/test/Simplify/pr33323.ll
    M polly/test/Simplify/redundant.ll
    M polly/test/Simplify/redundant_differentindex.ll
    M polly/test/Simplify/redundant_region.ll
    M polly/test/Simplify/redundant_region_scalar.ll
    M polly/test/Simplify/redundant_scalarwrite.ll
    M polly/test/Simplify/redundant_storebetween.ll
    M polly/test/Simplify/scalability1.ll
    M polly/test/Simplify/scalability2.ll
    M polly/test/Simplify/sweep_mapped_phi.ll
    M polly/test/Simplify/sweep_mapped_value.ll
    M polly/test/Simplify/ununsed_read_in_region_entry.ll
    M polly/test/Support/Plugins.ll
    M polly/test/Support/defaultpipelines.ll
    M polly/test/Support/dumpfunction.ll
    M polly/test/Support/dumpmodule.ll
    M polly/test/Support/exportjson.ll
    M polly/test/Support/isl-args.ll
    M polly/test/Support/pipelineposition.ll
    M polly/test/Support/pollyDebug.ll
    M polly/test/lit.site.cfg.in
    M polly/test/polly.ll

  Log Message:
  -----------
  Revert "[polly] Port polly tests to use NPM" (#92215)

Reverts llvm/llvm-project#90632.

Causing failures on buildbots that dynamically load polly. Reverting
while we sort it out.


  Commit: 24180ea0c295856a696992f072c36259a266226b
      https://github.com/llvm/llvm-project/commit/24180ea0c295856a696992f072c36259a266226b
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-14 (Tue, 14 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Treat break, continue, goto, and label statements as trivial in WebKit checkers. (#91873)

Also allow CXXBindTemporaryExpr, which creates a temporary object with a
non-trivial destructor, and add a few more std and WTF functions to the
explicitly allowed list.


  Commit: 0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
      https://github.com/llvm/llvm-project/commit/0980f715cf7c3d78be6ba64e902bd2dfad3ebc75
  Author: Robin Caloudis <robin.caloudis at gmx.de>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/generic-error-number-macros.h

  Log Message:
  -----------
  [libc][errno] Remove previously added errno numbers (#92163)

Introduced in https://github.com/llvm/llvm-project/pull/91150. Not
needed anymore as https://github.com/llvm/llvm-project/pull/92041 fixed
the root cause. `ENAMETOOLONG` and `EOVERFLOW` are well defined in
`<linux/errno.h>`.

Post mortem: Due to the previously missing inclusion of
`<linux/errno.h>` (fixed with
https://github.com/llvm/llvm-project/pull/92041), I misinterpreted an
undefined macro issue during the development of
https://github.com/llvm/llvm-project/pull/91150 as being caused by a
missing definition rather than by the missing inclusion of the linux
header. I realized too late that `ENAMETOOLONG` and `EOVERFLOW` were
correctly defined in `<linux/errno.h>` and that it was my missing
inclusion that caused the problem.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    A llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll

  Log Message:
  -----------
  InstCombine: Emit ldexp intrinsic in exp2->ldexp combine (#92039)

Prefer to emit the intrinsic over a libcall in the
intrinsic or no-math-errno case.


  Commit: e6216906f528b948018b883068cef0fd4157bfd1
      https://github.com/llvm/llvm-project/commit/e6216906f528b948018b883068cef0fd4157bfd1
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Improve atomic verifier to properly support larger types (#92120)

This commit extends the verifier for atomics to properly verify larger
types. Beforehand, the verifier strictly rejected larger integer types,
while it now consults the data layout to determine if their bitsize is a
power of two. This behavior reflects what LLVM's verifier is checking
for.


  Commit: d6ee7e8481fbaee30f37d82778ef12e135db5e67
      https://github.com/llvm/llvm-project/commit/d6ee7e8481fbaee30f37d82778ef12e135db5e67
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    A llvm/test/CodeGen/SystemZ/splitMove_addressReg.mir

  Log Message:
  -----------
  [SystemZ] Handle address clobbering in splitMove(). (#92105)

When expanding an L128 (which is used to reload i128) it is
possible that the quadword destination register clobbers an
address register. This patch adds an assertion against the case
where both of the expanded parts clobber the address, and in the
case where one of the expanded parts do so puts it last.

Fixes #91437


  Commit: 45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
      https://github.com/llvm/llvm-project/commit/45726c1a3a3d89ff9f6ebe657c3cb7bcd59b88db
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    A llvm/test/Instrumentation/DataFlowSanitizer/dataflow-disable-sanitizer-instrumentation.ll
    A llvm/test/Instrumentation/SanitizerCoverage/coverage-disable-sanitizer-instrumentation.ll

  Log Message:
  -----------
  [LLVM] Make sanitizers respect the disable_santizer_instrumentation attribute. (#91732)

`disable_sanitizer_instrumetation` is attached to functions that shall
not be instrumented e.g. ifunc resolver because those run before
everything is initialised.
Some sanitizer already handles this attribute, this patch adds it to
DataFLow and Coverage too.


  Commit: 4688df68f9d022dd8bc102675a9e86ad274355d6
      https://github.com/llvm/llvm-project/commit/4688df68f9d022dd8bc102675a9e86ad274355d6
  Author: Stephan Bergmann <sbergman at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp

  Log Message:
  -----------
  Avoid partial munmap (#92109)

...which caused issues like

> ==42==ERROR: AddressSanitizer failed to deallocate 0x32 (50) bytes at
address 0x117e0000 (error code: 28)
> ==42==Cannot dump memory map on emscriptenAddressSanitizer: CHECK
failed: sanitizer_common.cpp:81 "((0 && "unable to unmmap")) != (0)"
(0x0, 0x0) (tid=288045824)
> #0 0x14f73b0c in __asan::CheckUnwind()+0x14f73b0c
(this.program+0x14f73b0c)
> #1 0x14f8a3c2 in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)+0x14f8a3c2
(this.program+0x14f8a3c2)
> #2 0x14f7d6e1 in __sanitizer::ReportMunmapFailureAndDie(void*,
unsigned long, int, bool)+0x14f7d6e1 (this.program+0x14f7d6e1)
> #3 0x14f81fbd in __sanitizer::UnmapOrDie(void*, unsigned
long)+0x14f81fbd (this.program+0x14f81fbd)
> #4 0x14f875df in __sanitizer::SuppressionContext::ParseFromFile(char
const*)+0x14f875df (this.program+0x14f875df)
> #5 0x14f74eab in __asan::InitializeSuppressions()+0x14f74eab
(this.program+0x14f74eab)
> #6 0x14f73a1a in __asan::AsanInitInternal()+0x14f73a1a
(this.program+0x14f73a1a)

when trying to use an ASan suppressions file under Emscripten: Even
though it would be considered OK by SUSv4, the Emscripten runtime states
"We don't support partial munmapping" (see

<https://github.com/emscripten-core/emscripten/commit/f4115eb2c36bac741685300273cb9fa186d719e1>
"Implement MAP_ANONYMOUS on top of malloc in STANDALONE_WASM mode
(#16289)").

Co-authored-by: Stephan Bergmann <stephan.bergmann at allotropia.de>


  Commit: 73324cbc9c5892541aa82d466799748b435ece29
      https://github.com/llvm/llvm-project/commit/73324cbc9c5892541aa82d466799748b435ece29
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M compiler-rt/lib/asan/CMakeLists.txt

  Log Message:
  -----------
  [ASan] Remove COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION. (#91832)

Since the set of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION is removed in
commit 8421fa5d536aadf42c0e54c566bc439a40ebdb8e,
cleanup the use of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION.


  Commit: 7f3ac51b946bf6d6fa8c8443457ebee219879302
      https://github.com/llvm/llvm-project/commit/7f3ac51b946bf6d6fa8c8443457ebee219879302
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx98.cpp

  Log Message:
  -----------
  [clang][Interp] Only accept constant variables in c++98


  Commit: d12c48cad52798f4846dd8ef882af0f854118d16
      https://github.com/llvm/llvm-project/commit/d12c48cad52798f4846dd8ef882af0f854118d16
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/source/Target/UnwindLLDB.cpp
    A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
    A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test

  Log Message:
  -----------
  [lldb/aarch64] Allow unaligned PC addresses below a trap handler (#92093)

The stack validation heuristic is counter-productive in this case, as
the unaligned address is most likely the thing that caused the signal in
the first place.


  Commit: 6479e3cb66895754089dc017a33478e9eb4b8d65
      https://github.com/llvm/llvm-project/commit/6479e3cb66895754089dc017a33478e9eb4b8d65
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/bitfields.cpp

  Log Message:
  -----------
  [clang][Interp] Use proper type for non-primitive reference dummies


  Commit: 1d43ec8191e55d6efd552a1510ce63dbdea00cc0
      https://github.com/llvm/llvm-project/commit/1d43ec8191e55d6efd552a1510ce63dbdea00cc0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unnecessary if condition

This is already in a if(isBlockPointer()) block.


  Commit: afba3daf822c839db1be40464041307679c803a9
      https://github.com/llvm/llvm-project/commit/afba3daf822c839db1be40464041307679c803a9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Add basic support for AddrLabelExprs

Just create a local variable for them.


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

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/test/Analysis/memory-model.cpp

  Log Message:
  -----------
  [analyzer] Refactor recognition of the errno getter functions (#91531)

There are many environments where `errno` is a macro that expands to
something like `(*__errno())` (different standard library
implementations use different names instead of "__errno").

In these environments the ErrnoModeling checker creates a symbolic
region which will be used to represent the return value of this "get the
location of errno" function.

Previously this symbol was only created when the checker was able to
find the declaration of the "get the location of errno" function; but
this commit eliminates the complex logic that was responsible for this
and always creates the symbolic region when `errno` is not available as
a "regular" global variable.

This significantly simplifies a code and only introduces a minimal
performance reduction (one extra symbol) in the case when `errno` is not
declared (neither as a variable nor as a function).


In addition to this simplification, this commit specifies that the
`CallDescription`s for the "get the location of errno" functions are
matched in `CDM::CLibrary` mode. (This was my original goal, but I was
sidetracked by resolving a FIXME above the `CallDescriptionSet` in
`ErrnoModeling.cpp`.)

This change is very close to being NFC, but it fixes weird corner cases
like the handling of a C++ method that happens to be named "__errno()"
(previously it could've been recognized as an errno location getter
function).


  Commit: f090801a9651cf4f0d05cc361a2a1b14805b62bf
      https://github.com/llvm/llvm-project/commit/f090801a9651cf4f0d05cc361a2a1b14805b62bf
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/unaligned-pc-sigbus.test

  Log Message:
  -----------
  [lldb] Disable unaligned-pc-sigbus.test on arm(32)

I though the test could work there as well, but (of course) it does not,
because the lowest bit just means "run the code as thumb".


  Commit: 2f6c0e6e180c81087c26f4afac2155ea70472ec6
      https://github.com/llvm/llvm-project/commit/2f6c0e6e180c81087c26f4afac2155ea70472ec6
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
    M flang/test/Transforms/tbaa.fir

  Log Message:
  -----------
  [flang][Alias Analysis] not all block arguments are dummy arguments (#92156)

Arguments to openmp regions should not be tagged as dummy arguments.
This is particularly unsafe because these openmp blocks will eventually
be inlined into the calling function, where they will trivially alias
with other values inside of the calling function.

This is probably a theoretical issue because the calls to openmp runtime
function calls would act as barriers, preventing optimizations that are
too aggressive. But a lot more thought would need to go into a bet like
that.

This came out of discussion on
https://github.com/llvm/llvm-project/pull/92036


  Commit: f39e75b45160ae69222d6ae197ee20c365146717
      https://github.com/llvm/llvm-project/commit/f39e75b45160ae69222d6ae197ee20c365146717
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp

  Log Message:
  -----------
  [CodeGen][ARM64EC][NFC] Factor out emitFunctionAlias and getSymbolFromMetadata in emitFunctionEntryLabel. (#92098)


  Commit: 421862f8e4ffddf57e210a205984a0ee39c57d96
      https://github.com/llvm/llvm-project/commit/421862f8e4ffddf57e210a205984a0ee39c57d96
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/ext-int-cc.c

  Log Message:
  -----------
  [Clang] Fix incorrect passing of _BitInt args (#90741)

This patch removes incorrect `byval` attribute from pointer argument
passed with >128 bit long _BitInt types.


  Commit: d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
      https://github.com/llvm/llvm-project/commit/d187005cad8c2cb7d44ba3dd6b01c5f0e4c14ae7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Update VPBlendRecipe codegen for for first-lane only.

Update VPBlendRecipe::execute to support generating code for first-lane
only. This fixes a crash in the newly added test
@test_not_first_lane_only_wide_compare_incoming_order_swapped.


  Commit: b0a1ae2cca4a438753e093df2f949e73a313dbe2
      https://github.com/llvm/llvm-project/commit/b0a1ae2cca4a438753e093df2f949e73a313dbe2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll

  Log Message:
  -----------
  [LV] Add additional variants of tests with udiv/urem/sdiv/srem in TC.

Add additional tests with udiv/urem/sdiv/srem in trip counts, where the
divisor is constant.

For https://github.com/llvm/llvm-project/pull/92177.


  Commit: b6f050fa129b08b6bc35168f0b8010742cd1ed9d
      https://github.com/llvm/llvm-project/commit/b6f050fa129b08b6bc35168f0b8010742cd1ed9d
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb] Document some more packets (#92124)

Comparing a bit of the mock GDB server code to what was in the document
I found these:
* QLaunchArch
* qSpeedTest
* qSymbol

qSymbol is the most mysterious but it did have some examples in a
comment so I've adapted that.


  Commit: 03bdfb65617e3cf714a106fdf7a6ae7551d17bce
      https://github.com/llvm/llvm-project/commit/03bdfb65617e3cf714a106fdf7a6ae7551d17bce
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoBreakpointsOneSignal.py

  Log Message:
  -----------
  [lldb][test][FreeBSD] Fix some concurrent event tests (#84155)

A lot of `TestConcurrent*.py` expect one of the threads to crash, but we
weren't checking for it properly.

Possibly because signal reporting got better on FreeBSD at some point,
and it now shows the same info as Linux does.

```
  lldb-api :: functionalities/inferior-changed/TestInferiorChanged.py
  lldb-api :: functionalities/inferior-crashing/TestInferiorCrashing.py
  lldb-api :: functionalities/inferior-crashing/TestInferiorCrashingStep.py
  lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py
  lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py
  lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithBreak.py
  lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithSignal.py
  lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpoint.py
  lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpointBreakpointSignal.py
```

Fixes #48777

`TestConcurrentTwoBreakpointsOneSignal.py` no longer fails, at least on
an AWS instance, so I've removed the xfail there.


  Commit: e67080df999c035d764c42aaa6d85417331ac52c
      https://github.com/llvm/llvm-project/commit/e67080df999c035d764c42aaa6d85417331ac52c
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/IR/Operation.h
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp

  Log Message:
  -----------
  [mlir][ods] Populate properties in generated builder (#90430)

Previously this was only populated in the create method later. This
resolves some of invalid builder paths. This may also be sufficient that
type inference functions no longer have to consider whether property
conversion has happened (but haven't verified that yet).

This also makes Attributes corresponding to Properties as optional
inside the set from attributes method. Today that is in effect what
happens with Property value initialization and folks use it to define
custom C++ types whose default initialization is what they want. This is
the behavior users get if they use properties directly. Propagating
Attributes without allowing partial setting would require iterating over
the dictionary attribute considering the properties of the op type that
will be created. This could also have been an additional method
generated or optional behavior on the set method. But doing it
consistently seems better. In terms of whats lost, it doesn't seem like
anything compared to the pure Property path where Property is default
value initialized and then partially overwritten (this doesn't seem to
buy anything else verification wise).

Default valued Properties (as specified ODS side rather than C++ side)
triggered error as the containing class was not yet complete but
referenced nested class, so that we couldn't have default initializer
for them in the parent class. Added an additional forwarding builder to
avoid needing to update call sites. This could be split out to separate
change.

Inlined templated function in unit test that was only used once. Moved
initialization earlier where seen.


  Commit: 7621a0d36465cf870769cd54035d254d409c2ce4
      https://github.com/llvm/llvm-project/commit/7621a0d36465cf870769cd54035d254d409c2ce4
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Improve custom lowering for EXTRACT_SUBVECTOR. (#90963)

We can extract any legal fixed length vector from a scalable vector by
using VECTOR_SPLICE.


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

  Changed paths:
    M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
    M lldb/test/API/tools/lldb-server/TestPtyServer.py

  Log Message:
  -----------
  [lldb][Windows] Fixed tests TestPty and TestPtyServer (#92090)

The tests TestPty and TestPtyServer use the Unix specific python builtin
module termios. They are failed in case of Windows host and Linux
target. Disable them for Windows host too.


  Commit: 3c3f6d877623d0d821f59f4ec6038b27f27ee01d
      https://github.com/llvm/llvm-project/commit/3c3f6d877623d0d821f59f4ec6038b27f27ee01d
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU][AsmParser][NFC] Eliminate Match_PreferE32. (#92159)

Was added in 88e0b251815563016ad50241dd592e304bc03ee5 and is unused
since fcef407aa21ad5a79d66a088e6f2a66a5745725d.


  Commit: de18f5ecf80ef7183625c80b04445c614a17c483
      https://github.com/llvm/llvm-project/commit/de18f5ecf80ef7183625c80b04445c614a17c483
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/taskgroup.f90

  Log Message:
  -----------
  [flang][OpenMP] Remove `allocate` from `taskgroup` in test (#92173)

Remove the `allocate`, because it needs to be used together with a
privatizing clause. The only such clause for `taskgroup` is
`task_reduction`, but it's not yet supported.


  Commit: e6ef836f23aa44520e0823c38e44b2f58eb5a52f
      https://github.com/llvm/llvm-project/commit/e6ef836f23aa44520e0823c38e44b2f58eb5a52f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/teams.f90

  Log Message:
  -----------
  [flang][OpenMP] Add -fopenmp-version=52 to teams.f90 (#92180)

One of the functions in the test has `teams if(...)`. The `if` clause
was only allowed on the `teams` directive in OpenMP 5.2.


  Commit: ccbf908b0836d8e3945f9331fd3679cbc6be0be1
      https://github.com/llvm/llvm-project/commit/ccbf908b0836d8e3945f9331fd3679cbc6be0be1
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/test/src/string/strerror_test.cpp

  Log Message:
  -----------
  [libc] Fix GPU test build error (#92235)

This fixes a build error on the AMDGPU buildbot introduced in PR
https://github.com/llvm/llvm-project/pull/92172


  Commit: 1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
      https://github.com/llvm/llvm-project/commit/1650f1b3d7f97ca95eb930984e74bdfd91b02b4e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/include/clang/AST/VTTBuilder.h
    M clang/lib/AST/VTTBuilder.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.h
    M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
    M flang/docs/HighLevelFIR.md
    M flang/test/Lower/HLFIR/forall.f90
    M libc/src/stdio/printf_core/parser.h
    M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/Analysis/DependenceAnalysis.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.h
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Support/ELFAttributeParser.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/CodeGen/X86/avx-vperm2x128.ll
    M llvm/test/DebugInfo/PDB/Inputs/every-type.yaml
    M llvm/test/MC/ARM/eh-directive-personalityindex-diagnostics.s
    M llvm/test/Transforms/InstCombine/phi-extractvalue.ll
    M llvm/test/Transforms/InstCombine/phi-of-insertvalues.ll
    M llvm/test/Transforms/VectorCombine/X86/scalarize-vector-gep.ll
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp

  Log Message:
  -----------
  Fix typo "indicies" (#92232)


  Commit: 398162ddbcf741c49e86bef2ef4aaa3fd0213916
      https://github.com/llvm/llvm-project/commit/398162ddbcf741c49e86bef2ef4aaa3fd0213916
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/test/src/string/strerror_test.cpp

  Log Message:
  -----------
  [libc] Fix typo in test message


  Commit: 3b5a121a2478e586f59e3277d04d17fb63be5d76
      https://github.com/llvm/llvm-project/commit/3b5a121a2478e586f59e3277d04d17fb63be5d76
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] replace comparison of begin and end iterators with range empty (#91994)

Improves readability by changing comparisons of `*_begin` and `*_end`
iterators into `.empty()` on their range.


  Commit: 8a71284cb9463a90fab0d9e8edbeb5d879531e32
      https://github.com/llvm/llvm-project/commit/8a71284cb9463a90fab0d9e8edbeb5d879531e32
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/MC/X86/abs8.s
    M llvm/test/MC/X86/align-branch-variant-symbol.s
    M llvm/test/MC/X86/data-prefix-fail.s
    M llvm/test/MC/X86/displacement-overflow.s
    M llvm/test/MC/X86/dwarf-segment-register.s
    M llvm/test/MC/X86/index-operations.s
    M llvm/test/MC/X86/ret.s
    M llvm/test/MC/X86/x86_errors.s

  Log Message:
  -----------
  [MC][X86] Cleanup check prefixes identified in #92248

Avoid using numbers as check prefix - replace with actual triple config names where possible


  Commit: 89873694654a635cabdd861ddebd61a041d8342f
      https://github.com/llvm/llvm-project/commit/89873694654a635cabdd861ddebd61a041d8342f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/sibcall-2.ll
    M llvm/test/CodeGen/X86/sibcall-byval.ll

  Log Message:
  -----------
  [X86] sibcall - cleanup check prefixes identified in #92248

Avoid using numbers as check prefix - replace with actual triple config names


  Commit: 932f0de43a9e334e161a69a50bd6b01cd51e238e
      https://github.com/llvm/llvm-project/commit/932f0de43a9e334e161a69a50bd6b01cd51e238e
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp

  Log Message:
  -----------
  [clang-tidy] fix crash due to assumed callee in min-max-use-initializer-list (#91992)

Previously, the call to `findArgs` for a `CallExpr` inside of a `min` or
`max` call would call `findArgs` before checking if the argument is a
call to `min` or `max`, which is what `findArgs` is expecting.
The fix moves the name checking before the call to `findArgs`, such that
only a `min` or `max` function call is used as an argument.

Fixes #91982 
Fixes #92249


  Commit: 83d9aa27680b6a7f3556fcf13ada70b4be95bab2
      https://github.com/llvm/llvm-project/commit/83d9aa27680b6a7f3556fcf13ada70b4be95bab2
  Author: Pietro Ghiglio <pietro.ghiglio at codeplay.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/as_cast.ll

  Log Message:
  -----------
  [VPlan] Add scalar inferencing support for addrspace cast (#92107)

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

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


  Commit: d06270ee00e37b247eb99268fb2f106dbeee08ff
      https://github.com/llvm/llvm-project/commit/d06270ee00e37b247eb99268fb2f106dbeee08ff
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M .github/workflows/libclang-abi-tests.yml

  Log Message:
  -----------
  [workflows] Fix libclang-abi-tests to work with new version scheme (#91865)


  Commit: 97418bb519d90542aad3c1f82c80264381a5758e
      https://github.com/llvm/llvm-project/commit/97418bb519d90542aad3c1f82c80264381a5758e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/patchable-function-entry-ibt.ll
    M llvm/test/CodeGen/X86/patchable-function-entry.ll
    M llvm/test/CodeGen/X86/patchable-prologue.ll

  Log Message:
  -----------
  [X86] patchable functions - cleanup check prefixes identified in #92248

Avoid using numbers as check prefix - replace with actual triple config names


  Commit: 96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
      https://github.com/llvm/llvm-project/commit/96ac2e3af78a45c4fdf4ecc3f9a76cc00663cac7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll

  Log Message:
  -----------
  [X86] cmpxchg-clobber-flags.ll - cleanup check prefixes identified in #92248

Avoid using numbers as check prefix - replace with actual triple config names


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

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

  Log Message:
  -----------
  [X86] prefetch.ll - cleanup check prefixes identified in #92248

Avoid using leading numbers in check prefixes - replace with actual triple config names (and makes it easier to add X64 test coverage in a future commit).


  Commit: 3f07430c383dffad77a120c91df79cbc7d99313c
      https://github.com/llvm/llvm-project/commit/3f07430c383dffad77a120c91df79cbc7d99313c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avoid-sfb-g-no-change.mir

  Log Message:
  -----------
  [X86] avoid-sfb-g-no-change.mir - cleanup check prefixes identified in #92248

Don't include "-LABEL" (or any other FileCheck modifier) in the core check prefix name


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

  Changed paths:
    M llvm/test/CodeGen/X86/align-branch-boundary-suppressions-tls.ll
    M llvm/test/CodeGen/X86/asm-modifier.ll
    M llvm/test/CodeGen/X86/pr32345.ll
    M llvm/test/CodeGen/X86/x32-va_start.ll

  Log Message:
  -----------
  [X86] Cleanup check prefixes identified in #92248

Avoid using leading numbers in check prefixes - replace with actual triple config names.


  Commit: b59760d83d10c27f22d77b7df24871500167c3e8
      https://github.com/llvm/llvm-project/commit/b59760d83d10c27f22d77b7df24871500167c3e8
  Author: Kamlesh Kumar <kamleshbhalui at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/examples/ExceptionDemo/CMakeLists.txt
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp

  Log Message:
  -----------
  Revert "[ExceptionDemo] Correct and update example ExceptionDemo" (#92257)

Reverts llvm/llvm-project#69485


  Commit: 3bb39690d729d85cd93c9dd6e750d82d6f367541
      https://github.com/llvm/llvm-project/commit/3bb39690d729d85cd93c9dd6e750d82d6f367541
  Author: Hans <hans at hanshq.net>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
    M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/test/Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
    M llvm/test/Transforms/Coroutines/coro-await-suspend-lower.ll
    R llvm/test/Transforms/Coroutines/coro-preserve-final.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail-chain-pgo-counter-promo.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail1.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail2.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail7.ll

  Log Message:
  -----------
  [coro] Lower `llvm.coro.await.suspend.handle` to resume with tail call (#89751)

The C++ standard requires that symmetric transfer from one coroutine to
another is performed via a tail call. Failure to do so is a miscompile
and often breaks programs by quickly overflowing the stack.

Until now, the coro split pass tried to ensure this in the
`addMustTailToCoroResumes()` function by searching for
`llvm.coro.resume` calls to lower as tail calls if the conditions were
right: the right function arguments, attributes, calling convention
etc., and if a `ret void` was sure to be reached after traversal with
some ad-hoc constant folding following the call.

This was brittle, as the kind of implicit variants required for a tail
call to happen could easily be broken by other passes (e.g. if some
instruction got in between the `resume` and `ret`), see for example
9d1cb18d19862fc0627e4a56e1e491a498e84c71 and
284da049f5feb62b40f5abc41dda7895e3d81d72.

Also the logic seemed backwards: instead of searching for possible tail
call candidates and doing them if the circumstances are right, it seems
better to start with the intention of making the tail calls we need, and
forcing the circumstances to be right.

Now that we have the `llvm.coro.await.suspend.handle` intrinsic (since
f78688134026686288a8d310b493d9327753a022) which corresponds exactly to
symmetric transfer, change the lowering of that to also include the
`resume` part, always lowered as a tail call.


  Commit: 95e307caeb17c080724921564d96e1b8457264bc
      https://github.com/llvm/llvm-project/commit/95e307caeb17c080724921564d96e1b8457264bc
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/CMakeLists.txt

  Log Message:
  -----------
  Fix bolt build with -DBUILD_SHARED_LIBS=ON after 71fbbb69d

Commit 71fbbb69d63c461f391cbabf1e32cd9977c4ce68 moved getGUID out of
line in llvm/IR/GlobalValue, now users have to link LLVMCore to have
the definition of it.

/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::parsePseudoProbe()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter16parsePseudoProbeEv+0x3d0): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
/usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::encodePseudoProbes()':
PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter18encodePseudoProbesEv+0x11a1): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/build.make:275: lib/libLLVMBOLTRewrite.so.19.0git] Error 1


  Commit: c2fba6df944e11e2c9a7073405c6a817fdba14e3
      https://github.com/llvm/llvm-project/commit/c2fba6df944e11e2c9a7073405c6a817fdba14e3
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/test/CodeGen/sparcv9-abi.c
    A clang/test/CodeGen/sparcv9-class-return.cpp

  Log Message:
  -----------
  [clang][SPARC] Treat empty structs as if it's a one-bit type in the CC (#90338)

Make sure that empty structs are treated as if it has a size of one bit
in function parameters and return types so that it occupies a full
argument and/or return register slot.

This fixes crashes and miscompilations when passing and/or returning
empty structs.

Reviewed by: @s-barannikov


  Commit: 97a30448f9477e0196f9340303aa20d544f1629a
      https://github.com/llvm/llvm-project/commit/97a30448f9477e0196f9340303aa20d544f1629a
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/parallel-sections.f90

  Log Message:
  -----------
  [flang][OpenMP] Add `private` to `allocate` in parallel-sections.f90 (#92185)

Add a privatizing clause to the construct that uses `allocate` clause.
Amend the CHECK lines to reflect the expected output.


  Commit: 4ec4a8e7fe463852e197d4ff396f4911ccce7449
      https://github.com/llvm/llvm-project/commit/4ec4a8e7fe463852e197d4ff396f4911ccce7449
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/unittests/Frontend/OpenMPDecompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Privatizing clauses in construct decomposition (#92176)

Add remaining clauses with the "privatizing" property to construct
decomposition, specifically to the part handling the `allocate` clause.

---------

Co-authored-by: Tom Eccles <t at freedommail.info>


  Commit: 8d386c63a8d38bc50acba8dba2cd5f0daca57012
      https://github.com/llvm/llvm-project/commit/8d386c63a8d38bc50acba8dba2cd5f0daca57012
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h

  Log Message:
  -----------
  [Frontend][OpenMP] Reduction modifier must be applied somewhere (#92160)

Detect the case when a reduction modifier ends up not being applied
after construct decomposition, treat it as an error.

This fixes a regression in the gfortran test suite after PR90098.


  Commit: 7c8176ebd39c357fc4fa488861318409cd87d8f2
      https://github.com/llvm/llvm-project/commit/7c8176ebd39c357fc4fa488861318409cd87d8f2
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Coroutines] Remove unused function (NFC)

llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:1223:1:
error: unused function 'scanPHIsAndUpdateValueMap' [-Werror,-Wunused-function]
scanPHIsAndUpdateValueMap(Instruction *Prev, BasicBlock *NewBlock,
^
1 error generated.


  Commit: 466d266945196ebbdefd8d72f654551d54d68600
      https://github.com/llvm/llvm-project/commit/466d266945196ebbdefd8d72f654551d54d68600
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
    M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll

  Log Message:
  -----------
  [AMDGPU] Fix GFX90x check prefixes in tests (#92254)


  Commit: 61da6366d043792d7db280ce9edd2db62516e0e8
      https://github.com/llvm/llvm-project/commit/61da6366d043792d7db280ce9edd2db62516e0e8
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Transforms/debug-local-var-2.f90
    A flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  [flang] Initial debug info support for local variables. (#90905)

We need the information in the `DeclareOp` to generate debug information
for variables.  Currently, cg-rewrite removes the `DeclareOp`. As
`AddDebugInfo` runs after that, it cannot process the `DeclareOp`. My
initial plan was to make the `AddDebugInfo` pass run before the cg-rewrite
but that has few issues.
    
1. Initially I was thinking to use the memref op to carry the variable
attr. But as @tblah suggested in the #86939, it makes more sense to
carry that information on `DeclareOp`. It also makes it easy to handle
it in codegen and there is no special handling needed for arguments. For
this reason, we need to preserve the `DeclareOp` till the codegen.
    
2. Running earlier, we will miss the changes in passes that run between
cg-rewrite and codegen.
    
But not removing the DeclareOp in cg-rewrite has the issue that ShapeOp
remains and it causes errors during codegen. To solve this problem, I
convert DeclareOp to XDeclareOp in cg-rewrite instead of removing
it. This was mentioned as possible solution by @jeanPerier in
https://reviews.llvm.org/D136254
    
The conversion follows similar logic as used for other operators in that
file. The FortranAttr and CudaAttr are currently not converted but left
as TODO when the need arise.

Now `AddDebugInfo` pass can extracts information about local variables
from `XDeclareOp` and creates `DILocalVariableAttr`. These are attached
to `XDeclareOp` using `FusedLoc` approach. Codegen can use them to
create `DbgDeclareOp`.  I have added tests that checks the debug
information in mlir from and also in llvm ir.

Currently we only handle very limited types. Rest are given a place
holder type. The previous placeholder type was basic type with
`DW_ATE_address` encoding. When variables are added, it started
causing assertions in the llvm debug info generation logic for some
types. It has been changed to an interger type to prevent these issues
until we handle those types properly.


  Commit: eda098aadea3e542f95b5f0d4173f00eae42dc72
      https://github.com/llvm/llvm-project/commit/eda098aadea3e542f95b5f0d4173f00eae42dc72
  Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    A clang/test/Analysis/block-in-critical-section.c

  Log Message:
  -----------
  [clang][analyzer] Fix a crash in alpha.unix.BlockInCriticalSection (#90030)

When analyzing C code with function pointers the checker crashes because
of how the implementation extracts `IdentifierInfo`. Without the fix, this
test crashes.


  Commit: da116bd82c0a78d2022c34b56e45cf6e4f91eaed
      https://github.com/llvm/llvm-project/commit/da116bd82c0a78d2022c34b56e45cf6e4f91eaed
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/Sparc.cpp

  Log Message:
  -----------
  [Clang] Use ULL for std::max constant argument to fix build failure.

getKnownMinValue returns uint64_t, use ULL to make sure the second arg
is also 64 bit.


  Commit: b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
      https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
  Author: AdityaK <hiraditya at msn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNHoist.cpp

  Log Message:
  -----------
  [GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)

There is no reason to call combineMetadata directly with a list of MD_
nodes. The combineMetadataForCSE function handles all the metadata
correctly

Partially fixes: #30866


  Commit: 8a4cbeada930bf11fe740a2038bd5a3230712284
      https://github.com/llvm/llvm-project/commit/8a4cbeada930bf11fe740a2038bd5a3230712284
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/Sparc.cpp

  Log Message:
  -----------
  [Clang] Unbreak build take 2 using uint64_t() explicitly.


  Commit: dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
      https://github.com/llvm/llvm-project/commit/dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Support/MemoryBuffer.cpp

  Log Message:
  -----------
  [Support] Use malloc instead of non-throwing new (#92157)

When allocating a memory buffer, we use a non-throwing new so that we
can explicitly handle memory buffers that are too large to fit into
memory. However, when exceptions are disabled, LLVM installs a custom
new handler

(https://github.com/llvm/llvm-project/blob/90109d444839683b09f0aafdc50b749cb4b3203b/llvm/lib/Support/InitLLVM.cpp#L61)
that explicitly crashes when we run out of memory

(https://github.com/llvm/llvm-project/blob/de14b749fee41d4ded711e771e43043ae3100cb3/llvm/lib/Support/ErrorHandling.cpp#L188)
and that means this particular out-of-memory situation cannot be
gracefully handled.

This was discovered while working on #embed
(https://github.com/llvm/llvm-project/pull/68620) on Windows and
resulted in a crash rather than the preprocessor issuing a diagnostic as
expected.

This patch switches away from the non-throwing new to a call to malloc
(and free), which will return a null pointer without calling a custom
new handler. It is the only instance in Clang or LLVM that I could find
which used a non-throwing new, so I did not think we would need anything
more involved than this change.

Testing this would be highly platform dependent and so it does not come
with test coverage. And because it doesn't change behavior that users
are likely to be able to observe, it does not come with a release note.


  Commit: 8ab753c121447c1388c4cb1af08ab27b2cd62a82
      https://github.com/llvm/llvm-project/commit/8ab753c121447c1388c4cb1af08ab27b2cd62a82
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90

  Log Message:
  -----------
  [flang][OpenMP] Add `REQUIRES: asserts` to test that relies on it

This should fix failures in release builds.


  Commit: 413aaf11cd74f422f05b990613f822dc10db4391
      https://github.com/llvm/llvm-project/commit/413aaf11cd74f422f05b990613f822dc10db4391
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Support IntAP(S) in emitPrimCast


  Commit: 28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
      https://github.com/llvm/llvm-project/commit/28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/IntegralAP.h

  Log Message:
  -----------
  [clang][Interp][NFC] Use a smaller default size for IntegralAP

Since we later possibly initialize the value by using operator-new,
we need the default value to _not_ allocate memory.


  Commit: 4527adc500ea0dc4b942a51dc7209da4ea26d9a2
      https://github.com/llvm/llvm-project/commit/4527adc500ea0dc4b942a51dc7209da4ea26d9a2
  Author: Daniel Kuts <kutz at ispras.ru>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  Fix null pointer dereference in logging in mlir TransformOps (#92237)

A variable `typeConverterOp` may be nullptr after dynamic cast. There is
a security guard for this, but during logging error message the variable
getting dereferenced.
Found with static analysis.


  Commit: b576a6b0452b9bfb634feaa215506d8a1afe857d
      https://github.com/llvm/llvm-project/commit/b576a6b0452b9bfb634feaa215506d8a1afe857d
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/test/CodeGen/X86/AMX/amx-tile-basic.ll

  Log Message:
  -----------
  [X86][AMX] Fix a bug after #83628 (#91207)

We need to check if `GR64Cand` a valid register before using it.

Test is not needed since it's covered in llvm-test-suite.

Fixes #90954


  Commit: bed5546bb53bdb231b62f569b67f449019426ce8
      https://github.com/llvm/llvm-project/commit/bed5546bb53bdb231b62f569b67f449019426ce8
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h

  Log Message:
  -----------
  [DebugInfo] Get rid of redundant conditional checks in `/DebugInfo` (#92111)

Resolves #90326


  Commit: dcf3102be8458fe7588f9d11315beddfca4323b0
      https://github.com/llvm/llvm-project/commit/dcf3102be8458fe7588f9d11315beddfca4323b0
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A bolt/docs/CommandLineArgumentReference.md

  Log Message:
  -----------
  [BOLT][NFC] Add documentation on BOLT options (#92117)

Add .md file documentation with all BOLT options to display it more
conveniently.


  Commit: 8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
      https://github.com/llvm/llvm-project/commit/8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
  Author: jyu2-git <jennifer.yu at intel.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
    A offload/test/mapping/map_both_pointer_pointee.c

  Log Message:
  -----------
  [Clang][OpenMP] Fix runtime problem when explicit map both pointer and pointee (#92210)

ponter int *p for following map, test currently crash.

  map(p, p[:100]) or map(p, p[1])

Currly IR looks like
// &p, &p, sizeof(int), TARGET_PARAM | TO | FROM
// &p, p[0], 100sizeof(float) TO | FROM

Worrking IR is
// map(p, p[0:100]) to map(p[0:100])
// &p, &p[0], 100*sizeof(float), TARGET_PARAM | TO | FROM | PTR_AND_OBJ

The change is add new argument AreBothBasePtrAndPteeMapped in
generateInfoForComponentList

Use that to skip map for map(p), when processing map(p[:100]) generate
map with right flag.


  Commit: ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
      https://github.com/llvm/llvm-project/commit/ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll

  Log Message:
  -----------
  [RISCV] Remove hasSideEffects=1 for vsetvli pseudos (#91319)

In a similar vein to #90049, we currently model all of the effects of a
vsetvli pseudo:

* VL and VTYPE are marked as defs
* VL preserving x0,x0 vsetvlis doesn't get emitted until
RISCVInsertVSETVLI, and when they are they have implicit uses on VL
* Regular vector pseudos are fully modelled too: Before
RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we
will eventually insert vsetvlis to correct VL and VTYPE. Afterwards,
they will have implicit uses on VL and VTYPE.

Since we model everything we can remove hasSideEffects=1. This gives us
some improvements like sinking in vsetvli-insert-crossbb.ll.

We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli
pseudos since it only operates on instructions with unmodelled side
effects.


  Commit: 74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
      https://github.com/llvm/llvm-project/commit/74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_convertvector


  Commit: 3a8d176af519e4385652e762c615ace9b80ef045
      https://github.com/llvm/llvm-project/commit/3a8d176af519e4385652e762c615ace9b80ef045
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/utils/filecheck_lint/filecheck_lint.py

  Log Message:
  -----------
  [utils][filecheck-lint] Add shebang (#92243)


  Commit: ba3447601c435bb2b24ad9e3c8d146c578f00568
      https://github.com/llvm/llvm-project/commit/ba3447601c435bb2b24ad9e3c8d146c578f00568
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp

  Log Message:
  -----------
  [clang-tidy] Fix crash in modernize-use-constraints (#92019)

Improved modernize-use-constraints check by fixing a crash that occurred
in some scenarios and excluded system headers from analysis.

Problem were with DependentNameTypeLoc having null type location as
getQualifierLoc().getTypeLoc().

Fixes #91872


  Commit: 54c6ee922abbaea7d2f138a209f320c414c1657b
      https://github.com/llvm/llvm-project/commit/54c6ee922abbaea7d2f138a209f320c414c1657b
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp

  Log Message:
  -----------
  [clang-tidy] Add AllowImplicitlyDeletedCopyOrMove option to cppcoreguidelines-special-member-functions (#71683)

Improved cppcoreguidelines-special-member-functions check with a new
option AllowImplicitlyDeletedCopyOrMove, which removes the requirement
for explicit copy or move special member functions when they are already
implicitly deleted.

Closes #62392


  Commit: 9bbefb7f600019c9d7025281132dd160729bfff2
      https://github.com/llvm/llvm-project/commit/9bbefb7f600019c9d7025281132dd160729bfff2
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Parse/Parser.cpp
    A clang/test/PCH/optnone.cpp

  Log Message:
  -----------
  [clang] Store FPOptions earlier when parsing function (#92146)

After https://github.com/llvm/llvm-project/pull/85605 ([clang] Set
correct FPOptions if attribute 'optnone' presents) the current FP
options in Sema are saved during parsing function because Sema can
modify them if optnone is present. However they were saved too late, it
caused fails in some cases when precompiled headers are used. This patch
moves the storing earlier.


  Commit: 03c53c69a367008da689f0d2940e2197eb4a955c
      https://github.com/llvm/llvm-project/commit/03c53c69a367008da689f0d2940e2197eb4a955c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  [MC] Remove UseAssemblerInfoForParsing

Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).

`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.

I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.

```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
  ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc     # succeeded

% clang -c b.cc     # succeeded with this patch
% clang -S b.cc     # still failed
<inline asm>:4:5: error: expected absolute expression
    4 | .if . -_start == 1
      |     ^
1 error generated.
```

Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841

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


  Commit: 141391ad2f22885342935442642c6c892f43e1ed
      https://github.com/llvm/llvm-project/commit/141391ad2f22885342935442642c6c892f43e1ed
  Author: Nuri Amari <nuri.amari99 at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lld/test/MachO/objc.s
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  [lld] Fix -ObjC load behavior with LTO (#92162)

When -ObjC is passed, the linker must force load any object files that
contain special sections that store Objective-C / Swift information that
is used at runtime.

This should work regadless if input files are bitcode or native, but it
was not working with bitcode. This is because the sections that identify
an object file that should be loaded were inconsistent when dealing with
a native file vs bitcode file. In particular, bitcode files were not
searched for `__TEXT,__swift` prefixed sections, while native files
were.

This means LLD wasn't loading certain bitcode files and forcing the user
to introduce --force-load to their linker invocation for that archive.

Co-authored-by: Nuri Amari <nuriamari at fb.com>


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

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

  Log Message:
  -----------
  [RISCV] Fix 80 columns in RISCVMatInt.cpp. NFC


  Commit: 29c2475f215110d9e6b3955d5eb2832b3f719c2f
      https://github.com/llvm/llvm-project/commit/29c2475f215110d9e6b3955d5eb2832b3f719c2f
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp

  Log Message:
  -----------
  [mlir] Fix the build after 03c53c69a367008da689f0d2940e2197eb4a955c


  Commit: 3f954f575156bce8ac81d6b4d94de443786befed
      https://github.com/llvm/llvm-project/commit/3f954f575156bce8ac81d6b4d94de443786befed
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Support/MemoryBuffer.cpp

  Log Message:
  -----------
  Correct mismatched allocation/deallocation calls

This amends dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6 because ASAN
caught an issue where the allocation and deallocation were not properly
paired: https://lab.llvm.org/buildbot/#/builders/239/builds/7001

Use malloc and free throughout this file to ensure that all kinds of
memory buffers use the proper pairing.


  Commit: 332de4b2677ce7a95cc2df30d761fbb55376fe07
      https://github.com/llvm/llvm-project/commit/332de4b2677ce7a95cc2df30d761fbb55376fe07
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [Offload] Correctly reject building on unsupported architectures (#92276)

Summary:
Previously we had this `LIBOMPTARGET_ENABLED` variable which controlled
including `libomptarget`. This is now redundant since it's controlled by
`LLVM_ENABLE_RUNTIMES`. However, this had the extra effect of not
building it when given unsupported targets. THis was lost during the
move to `offload`. This patch moves this logic back and makes the
`offload` target just quit without doing anything if used on an
unsupported architecture.

https://github.com/llvm/llvm-project/issues/91881
https://github.com/llvm/llvm-project/issues/91819

---------

Co-authored-by: Sylvestre Ledru <sylvestre at debian.org>


  Commit: be10746f3a4381456eb5082a968766201c17ab5d
      https://github.com/llvm/llvm-project/commit/be10746f3a4381456eb5082a968766201c17ab5d
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/OpenBSD.cpp

  Log Message:
  -----------
  [clang] Don't assume location of compiler-rt for OpenBSD (#92183)

If the `/usr/lib/...` path where compiler-rt is conventionally installed
on OpenBSD does not exist, fall back to the regular logic to find it.

This is a minimal change to allow OpenBSD cross compilation from a
toolchain that doesn't adopt all of OpenBSD's monorepo's conventions.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/cmp16.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
    M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/memcmp-x32.ll
    M llvm/test/CodeGen/X86/memcmp.ll

  Log Message:
  -----------
  [X86] EmitCmp - always use cmpw with foldable loads (#92251)

By default, EmitCmp avoids cmpw with i16 immediates due to 66/67h length-changing prefixes causing stalls, instead extending the value to i32 and using a cmpl with a i32 immediate, unless it has the TuningFastImm16 flag or we're building for optsize/minsize.

However, if we're loading the value for comparison, the performance costs of the decode stalls are likely to be exceeded by the impact of the load latency of the folded load, the shorter encoding and not needing an extra register to store the ext-load.

This matches the behaviour of gcc and msvc.

Fixes #90355


  Commit: 34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
      https://github.com/llvm/llvm-project/commit/34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py

  Log Message:
  -----------
  [lldb] Fixed the TestGdbRemoteCompletion test (#92268)

Do not try to run lldb-server on localhost in case of the remote target.


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

  Changed paths:
    M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatformFile (#92088)

The tests `test_file_permissions` and `test_file_permissions_fallback`
are disabled for Windows target. These tests use MockGDBServerResponder
and do not depend on the real target. These tests failed in case of
Windows host and Linux target. Disable them for Windows host too.


  Commit: 2ec85713bd910c5b22ce090798ca00f742d5eb14
      https://github.com/llvm/llvm-project/commit/2ec85713bd910c5b22ce090798ca00f742d5eb14
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M openmp/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition

Summary:
Even though we moved `libomptarget` this is still present in `omp.h` and
can't be removed.


  Commit: 4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
      https://github.com/llvm/llvm-project/commit/4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Don't pass clauses to op-generating functions anymore (#90108)

Remove parameter `const List<Clause> &clauses` from functions that take
construct queue. The clauses should now be accessed from the construct
queue.


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

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  [lldb] Fixed the TestCompletion test running on a remote target (#92281)

Install the image to the remote target if necessary.


  Commit: 7645269710493c188d1d270b9e4e085b3e92b9b0
      https://github.com/llvm/llvm-project/commit/7645269710493c188d1d270b9e4e085b3e92b9b0
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py

  Log Message:
  -----------
  [lldb] Fixed the TestNetBSDCore test (#92285)

TestNetBSDCore.py contains 3 classes with the same test names
test_aarch64 and test_amd64. It causes conflicts because the same build
dir. Add suffixes to avoid conflicts.


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

  Changed paths:
    M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the TestIOHandlerResizeNoEditline test (#92286)

This test caused python crash on Windows x86_64 host with the exit code
0xC0000409 (STATUS_STACK_BUFFER_OVERRUN). Close the input stream before
exit to avoid this crash.


  Commit: 217668f641e82f901645f428ae0d07a3c01e9a8a
      https://github.com/llvm/llvm-project/commit/217668f641e82f901645f428ae0d07a3c01e9a8a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/Error.h
    M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/Object/WindowsResource.cpp

  Log Message:
  -----------
  [nfc] Allow forwarding `Error` returns from `Expected` callers (#92208)

On a few compilers (clang 11/12 for example [1]), the following does not
result in a copy elision, and since `Error`'s copy dtor is elided,
results in a compile error:

```
  Expect<Something> foobar() {
    ...
    if (Error E = aCallReturningError())
      return E;
    ...
  }
```

Moving `E` would, conversely, result in the pessimizing-move warning on
more recent clangs ("moving a local object in a return statement
prevents copy elision")

We just need to make the `Expected` ctor taking an `Error` take it as a
r-value reference.

[1] https://lab.llvm.org/buildbot/#/builders/54/builds/10505


  Commit: 0647d1035cb208195e002b38089b82004b6f7b92
      https://github.com/llvm/llvm-project/commit/0647d1035cb208195e002b38089b82004b6f7b92
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

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

Most of these were to avoid undefined behavior if a shift left
changed the sign of the result. I don't think its possible to change
the sign of the result here. We're shifting left by 12 after an arithmetic
right shift by more than 12. The bits we are shifting out with the left
shift are guaranteed to be sign bits.

Also use SignExtend64<32> to force upper bits to all 1s instead of an
Or. We know the value isUInt<32> && !isInt<32> which means bit 31 is set.


  Commit: ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
      https://github.com/llvm/llvm-project/commit/ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant dependences before strided ones.

Add extra test coverage for loops with strided and invariant accesses to
the same object.


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

  Changed paths:
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  Reapply "[ctx_profile] Profile reader and writer" (#92199)

This reverts commit 03c7458a3603396d2d0e1dee43399d3d1664a264.

One of the problems was addressed in #92208

The other problem: needed to add `BitstreamReader` to the list of
link deps of `LLVMProfileData`


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn

  Log Message:
  -----------
  [gn build] Port c19f2c773b0e


  Commit: 468357114c64633651ebcc5ef17161990da25a78
      https://github.com/llvm/llvm-project/commit/468357114c64633651ebcc5ef17161990da25a78
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    A flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    R flang/test/Transforms/debug-local-var-2.f90
    R flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  Revert "[flang] Initial debug info support for local variables. (#909… (#92302)

…05)"

This reverts commit 61da6366d043792d7db280ce9edd2db62516e0e8.

Update #90905 was causing many tests to fail.

See comments in #90905.


  Commit: 411bf385ba27f15145c635c7d8ff2701fe8de5b9
      https://github.com/llvm/llvm-project/commit/411bf385ba27f15145c635c7d8ff2701fe8de5b9
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap] Include npm install in the extension installation steps (#92028)

Otherwise the build step fails due to missing dependencies.


  Commit: 2c54bf497f7d7aecd24f4b849ee08e37a3519611
      https://github.com/llvm/llvm-project/commit/2c54bf497f7d7aecd24f4b849ee08e37a3519611
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    R llvm/lib/ProfileData/PGOCtxProfReader.cpp
    R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  Revert "Reapply "[ctx_profile] Profile reader and writer" (#92199)"

This reverts commit c19f2c773b0e23fd623502888894add822079f63.

Broke the gcc-7 bot.


  Commit: 9ae2177843f681c70ad89506155a2cb83eeebfd4
      https://github.com/llvm/llvm-project/commit/9ae2177843f681c70ad89506155a2cb83eeebfd4
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll

  Log Message:
  -----------
  [RISCV] Handle undef AVLs in RISCVInsertVSETVLI

Before #91440 a VSETVLIInfo would have had an IMPLICIT_DEF defining
instruction, but now we look up a VNInfo which doesn't exist, which
triggers an assertion failure. Mark these undef AVLs as AVLIsIgnored.


  Commit: 378c9e952a3d198873677fb2d2afb33695185b72
      https://github.com/llvm/llvm-project/commit/378c9e952a3d198873677fb2d2afb33695185b72
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2c54bf497f7d


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

  Changed paths:
    M clang/test/CXX/drs/cwg11xx.cpp
    M clang/test/CXX/drs/cwg13xx.cpp
    M clang/test/CXX/drs/cwg14xx.cpp
    M clang/test/CXX/drs/cwg18xx.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/CXX/drs/cwg25xx.cpp
    A clang/test/CXX/drs/cwg2630.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg9xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests for CWG issues regarding completeness of types (#92113)

This patch covers the following Core issues:
[CWG930](https://cplusplus.github.io/CWG/issues/930.html) "`alignof`
with incomplete array type"
[CWG1110](https://cplusplus.github.io/CWG/issues/1110.html) "Incomplete
return type should be allowed in `decltype` operand"
[CWG1340](https://cplusplus.github.io/CWG/issues/1340.html) "Complete
type in member pointer expressions"
[CWG1352](https://cplusplus.github.io/CWG/issues/1352.html)
"Inconsistent class scope and completeness rules"
[CWG1458](https://cplusplus.github.io/CWG/issues/1458.html) "Address of
incomplete type vs `operator&()`"
[CWG1824](https://cplusplus.github.io/CWG/issues/1824.html)
"Completeness of return type vs point of instantiation"
[CWG1832](https://cplusplus.github.io/CWG/issues/1832.html) "Casting to
incomplete enumeration"
[CWG2304](https://cplusplus.github.io/CWG/issues/2304.html) "Incomplete
type vs overload resolution"
[CWG2310](https://cplusplus.github.io/CWG/issues/2310.html) "Type
completeness and derived-to-base pointer conversions"
[CWG2430](https://cplusplus.github.io/CWG/issues/2430.html)
"Completeness of return and parameter types of member functions"
[CWG2512](https://cplusplus.github.io/CWG/issues/2512.html) "`typeid`
and incomplete class types"
[CWG2630](https://cplusplus.github.io/CWG/issues/2630.html) "Syntactic
specification of class completeness"
[CWG2718](https://cplusplus.github.io/CWG/issues/2718.html) "Type
completeness for derived-to-base conversions"
[CWG2857](https://cplusplus.github.io/CWG/issues/2857.html)
"Argument-dependent lookup with incomplete class types"

Current wording for CWG1110 came from
[P0135R1](https://wg21.link/p0135R1) "Wording for guaranteed copy
elision through simplified value categories".

As a drive-by fix, I fixed incorrect status of CWG1815, test for which
was added in #87933. CC @yronglin


  Commit: 64b3cdc0220174c1af236a42b227a5226f0f12c5
      https://github.com/llvm/llvm-project/commit/64b3cdc0220174c1af236a42b227a5226f0f12c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/prepare_libc_gpu_build.cmake

  Log Message:
  -----------
  [libc] Fix GPU handling for unsupported backends (#92271)

Summary:
If the user does not have the selected backend enabled, we should still
be able to build the LLVM-IR an ddistribute it. This patch makes logic
to suppress tests if the backend can't build it, as well as removing a
flag for the building that's only present int he NVPTX backend.


  Commit: 4ab2ac22d0a481460536f673377b644702cb3372
      https://github.com/llvm/llvm-project/commit/4ab2ac22d0a481460536f673377b644702cb3372
  Author: Patrick O'Neill <patrick at rivosinc.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/RISCV/pr92193.ll

  Log Message:
  -----------
  [DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (#92195)

Fixes #92193.


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

  Changed paths:
    A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
    A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
    M llvm/lib/ProfileData/CMakeLists.txt
    A llvm/lib/ProfileData/PGOCtxProfReader.cpp
    A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
    M llvm/unittests/ProfileData/CMakeLists.txt
    A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  "Reapply "[ctx_profile] Profile reader and writer" (#92199)"

This reverts commit 2c54bf497f7d7aecd24f4b849ee08e37a3519611.

Fixed gcc-7 issue.


  Commit: 2fb92520cba15afff6f25a1f0b959ef39912fa0a
      https://github.com/llvm/llvm-project/commit/2fb92520cba15afff6f25a1f0b959ef39912fa0a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn

  Log Message:
  -----------
  [gn build] Port fc8775e2142c


  Commit: 24c39261e62d9f99bab91edf67bb9607a681b038
      https://github.com/llvm/llvm-project/commit/24c39261e62d9f99bab91edf67bb9607a681b038
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][test] Add tests for parsing profiles using RISCVISAInfo::parseArchString


  Commit: 891d687137ad9bb3b4efae116f9539addb5be0ea
      https://github.com/llvm/llvm-project/commit/891d687137ad9bb3b4efae116f9539addb5be0ea
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/test/Driver/riscv-profiles.c
    M llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Gate unratified profiles behind -menable-experimental-extensions (#92167)

As discussed in the last sync-up call, because these profiles are not
yet finalised they shouldn't be exposed to users unless they opt-in to
them (much like experimental extensions). We may later want to add a
more specific flag, but reusing `-menable-experimental-extensions`
solves the immediate problem.

This is implemented using the new support for marking profiles s
experimental added in #91993 to move the unratified profiles to
RISCVExperimentalProfile and making the necessary changes to logic in
RISCVISAInfo to handle this.


  Commit: 80d9ae9cbf692a73404995a88665af7166c7e8ad
      https://github.com/llvm/llvm-project/commit/80d9ae9cbf692a73404995a88665af7166c7e8ad
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fully support Environment construction for Stmt analysis. (#91616)

Assume in fewer places that the analysis is of a `FunctionDecl`, and
initialize the `Environment` properly for `Stmt`s.

Moves constructors for `Environment` to header to make it more obvious
that there are only minor differences between them and very little
initialization in the constructors.

Tested with check-clang-tooling.


  Commit: ee765b0c94df7e636d9739216b1646d3a2d3b5db
      https://github.com/llvm/llvm-project/commit/ee765b0c94df7e636d9739216b1646d3a2d3b5db
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-05-15 (Wed, 15 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. (#91334)

This PR adds a string interface to `InternalizePass`' `MustPreserveGV`
option, which is a callback function to indicate if a GV is not to be
internalized. This is for use in LLVM.jl, the Julia wrapper for LLVM,
which uses the C API and is thus required to use the PassBuilder string
API for building NewPM pipelines.


  Commit: ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
      https://github.com/llvm/llvm-project/commit/ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir

  Log Message:
  -----------
  AMDGPU/gfx12: avoid crashing on legacy waitcnt intrinsics (#92306)

They *are* still accepted by the HW but have a conservative effect.

Leave them untouched since handling them would complicate the logic a
bit, and developers who code to such a low level really need to revisit
what they're doing anyway.


  Commit: 81d20d861e48f5202c9f79b47dee244674fb9121
      https://github.com/llvm/llvm-project/commit/81d20d861e48f5202c9f79b47dee244674fb9121
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/LegacyAPI.cpp
    M offload/src/OpenMP/API.cpp
    M offload/src/OpenMP/Mapping.cpp
    M offload/src/omptarget.cpp

  Log Message:
  -----------
  [Offload][NFC] Fix warning messages in runtime

Summary:
These are lots of random warnings due to inconsistent initialization or
signedness.


  Commit: 83f065d582977aca5c037c27a7290f30850bdd35
      https://github.com/llvm/llvm-project/commit/83f065d582977aca5c037c27a7290f30850bdd35
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] static_assert SupportedProfiles and SupportedExperimentalProfiles are sorted

Just as we do for the arrays of extension names.


  Commit: e1ed138a67a92ef1ff0214ca198094be13045090
      https://github.com/llvm/llvm-project/commit/e1ed138a67a92ef1ff0214ca198094be13045090
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [bazel] Port #92199


  Commit: 8530b1c464ae9af4a5c8be145a8db043798634f6
      https://github.com/llvm/llvm-project/commit/8530b1c464ae9af4a5c8be145a8db043798634f6
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lldb/docs/use/variable.rst
    M lldb/source/Core/FormatEntity.cpp
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
    A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c

  Log Message:
  -----------
  [lldb] Support custom LLVM formatting for variables (#91868)

Re-apply https://github.com/llvm/llvm-project/pull/81196, with a fix that handles the 
absence of llvm formatting: 
https://github.com/llvm/llvm-project/pull/91868/commits/3ba650e91eded3543764f37921dcce3b
b47d425f


  Commit: 1daa7fd3fadd17e61d9dfa56f84228617c5514d9
      https://github.com/llvm/llvm-project/commit/1daa7fd3fadd17e61d9dfa56f84228617c5514d9
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll

  Log Message:
  -----------
  [AArch64][SME] Remove Darwin compile error for ABI support routine calls.

These are allowed for Darwin and use the same ABI.


  Commit: 537a94b2ef67cd96a4b3a9b5612ea726a91c602b
      https://github.com/llvm/llvm-project/commit/537a94b2ef67cd96a4b3a9b5612ea726a91c602b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 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:
  -----------
  Revert "[NewPM] Add pass options for `InternalizePass` to preserve GVs." (#92321)

Reverts llvm/llvm-project#91334

This broke the gcc7 build.
I suspect the issue is a mismatch on user-defined move constructor on
the return: `return PreservedGVs;` does not match the return type of the
function.


  Commit: f97f039e0bb7bb60c9cc437f678059c5ee19c8da
      https://github.com/llvm/llvm-project/commit/f97f039e0bb7bb60c9cc437f678059c5ee19c8da
  Author: klensy <klensy at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lld/test/MachO/install-name.s
    M lld/test/MachO/objc-methname.s

  Log Message:
  -----------
  [lld,test] Fix few FileCheck annotation typos (#92238)


  Commit: 00179e92c147e16de1f7c653f88c8805aef820c1
      https://github.com/llvm/llvm-project/commit/00179e92c147e16de1f7c653f88c8805aef820c1
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [bazel] Add new dependencies (#92323)

This also fixes building ... on Linux. Seems like target_compatible_with
isn't enough but you also need a manual tag.


  Commit: 050593fc4f9a7f2b9450ee093c4638b8539315b7
      https://github.com/llvm/llvm-project/commit/050593fc4f9a7f2b9450ee093c4638b8539315b7
  Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/test/CoverageMapping/coroutine.cpp

  Log Message:
  -----------
  [Coverage] Handle `CoroutineSuspendExpr` correctly (#88898)

This avoids visiting `co_await` or `co_yield` operand 5 times (it is
repeated under transformed awaiter subexpression, and under
`await_ready`, `await_suspend`, and `await_resume` generated call
subexpressions).


  Commit: 5ff6c6542ac451daaed6c417e481e313165d3454
      https://github.com/llvm/llvm-project/commit/5ff6c6542ac451daaed6c417e481e313165d3454
  Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/decomposition.cpp

  Log Message:
  -----------
  [Coverage] Handle array decomposition correctly (#88881)

`ArrayInitLoopExpr` AST node has two occurences of its as-written
initializing expression in its subexpressions through a non-unique
`OpaqueValueExpr`. It causes double-visiting of the initializing
expression if not handled explicitly, as discussed in #85837.


  Commit: aa889d7783af050ce5d19af67c7225ee119d625e
      https://github.com/llvm/llvm-project/commit/aa889d7783af050ce5d19af67c7225ee119d625e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M lld/test/ELF/arm-exidx-shared.s
    M lld/test/ELF/mips-tls-hilo.s
    M lld/test/ELF/ppc32-reloc-rel.s
    M lld/test/ELF/ppc64-pcrel-call-to-extern.s
    M lld/test/ELF/ppc64-toc-relax-ifunc.s
    M lld/test/ELF/riscv-gp.s

  Log Message:
  -----------
  [ELF,test] Fix FileCheck prefixes

Most violations are stale and should be removed while a few can be
adjusted.

Reported at #92238


  Commit: 0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
      https://github.com/llvm/llvm-project/commit/0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [lldb-dap] Support publishing to the VSCode market place (#92320)

Update the publisher and add a publish script that we can use from
Github actions.


  Commit: e00a3ccf43563209b71c5b68f56d83f4052dca63
      https://github.com/llvm/llvm-project/commit/e00a3ccf43563209b71c5b68f56d83f4052dca63
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M flang/include/flang/Frontend/FrontendActions.h
    M flang/include/flang/Frontend/FrontendOptions.h
    M flang/include/flang/Semantics/unparse-with-symbols.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/unparse-with-symbols.cpp
    A flang/test/Driver/unparse-with-modules.f90

  Log Message:
  -----------
  [flang] New -fdebug-unparse-with-modules option (#91660)

This option is a compilation action that parses a source file and
performs semantic analysis on it, like the existing -fdebug-unparse
option does. Its output, however, is preceded by the effective contents
of all of the non-intrinsic modules on which it depends but does not
define, transitively preceded by the closure of all of those modules'
dependencies.

The output from this option is therefore the analyzed parse tree for a
source file encapsulated with all of its non-intrinsic module
dependencies. This output may be useful for extracting code from large
applications for use as an attachment to a bug report, or as input to a
test case reduction tool for problem isolation.


  Commit: 667d12f86e626173726e87e101626a9060b8d967
      https://github.com/llvm/llvm-project/commit/667d12f86e626173726e87e101626a9060b8d967
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp

  Log Message:
  -----------
  [Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (#91534)

We do not deduce template arguments from the exception specification
when determining the primary template of a function template
specialization or when taking the address of a function template.
Therefore, this patch changes `isAtLeastAsSpecializedAs` such that we do
not mark template parameters in the exception specification as 'used'
during partial ordering (per [temp.deduct.partial]
p12) to prevent the following from being ambiguous:

```
template<typename T, typename U>
void f(U) noexcept(noexcept(T())); // #1

template<typename T>
void f(T*) noexcept; // #2

template<>
void f<int>(int*) noexcept; // currently ambiguous, selects #2 with this patch applied 
```

Although there is no corresponding wording in the standard (see core issue filed here
https://github.com/cplusplus/CWG/issues/537), this seems
to be the intended behavior given the definition of _deduction
substitution loci_ in [temp.deduct.general] p7 (and EDG does the same thing).


  Commit: 325d1d0b73aa6bff0ce4174b45a7601f6b32a793
      https://github.com/llvm/llvm-project/commit/325d1d0b73aa6bff0ce4174b45a7601f6b32a793
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-purity.cpp
    A flang/test/Semantics/pure02.f90

  Log Message:
  -----------
  [flang] Fix purity checking for internal subprograms (#91759)

ELEMENTAL internal subprograms are pure unless explicitly IMPURE.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/frelaxed-template-template-args.cpp

  Log Message:
  -----------
  [clang] Create new warning group for deprecation of '-fno-relaxed-template-template-args' (#92324)

This allows the warning to be disabled in isolation, as it helps when
treating them as errors.


  Commit: 7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
      https://github.com/llvm/llvm-project/commit/7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/entry01.f90
    M flang/test/Semantics/resolve102.f90

  Log Message:
  -----------
  [flang] Always check procedure characterizability (#92008)

When a procedure is defined with a subprogram but never referenced in a
compilation unit, it may not be characterized until lowering, and any
errors in characterization then may crash the compiler. So always ensure
that procedure definitions are characterizable in declaration checking.

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


  Commit: 463f58a564a8d136b3e5d56d23bb86b99ab75245
      https://github.com/llvm/llvm-project/commit/463f58a564a8d136b3e5d56d23bb86b99ab75245
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    A flang/test/Semantics/bind-c15.f90

  Log Message:
  -----------
  [flang] Further work on relaxing BIND(C) enforcement (#92029)

When a BIND(C) interface or subprogram has a dummy argument whose
derived type is not BIND(C) but meets the constraints and requirements
of a BIND(C) type, accept it with a warning.


  Commit: 5bbb63bd6d6d3929de643fcd88babbda20c97b69
      https://github.com/llvm/llvm-project/commit/5bbb63bd6d6d3929de643fcd88babbda20c97b69
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/executable-parsers.cpp
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-cuda.cpp
    M flang/lib/Semantics/resolve-directives.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/cuf-sanity-common
    M flang/test/Parser/cuf-sanity-unparse.CUF
    A flang/test/Semantics/reduce.cuf

  Log Message:
  -----------
  [flang] Parse REDUCE clauses in !$CUF KERNEL DO (#92154)

A !$CUF KERNEL DO directive is allowed to have advisory REDUCE clauses
similar to those in OpenACC and DO CONCURRENT. Parse and represent them.
Semantic validation will follow.


  Commit: 3ddfb6807e905868a3a9df71fa5ea87309181270
      https://github.com/llvm/llvm-project/commit/3ddfb6807e905868a3a9df71fa5ea87309181270
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M flang/lib/Evaluate/fold.cpp

  Log Message:
  -----------
  [flang] Prevent crash from unfoldable TRANSFER() (#92282)

When the MOLD= argument's type is polymorphic, the type of the result
cannot be known at compilation time, so the call cannot be folded even
when the SOURCE= is constant.

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


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

  Changed paths:
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/tools/llvm-profdata/trace-limit.proftext

  Log Message:
  -----------
  [InstrProf] Fix bug when clearing traces with samples (#92310)

The `--temporal-profile-max-trace-length=0` flag in the `llvm-profdata
merge` command is used to remove traces from a profile. There was a bug
where traces would not be cleared if the profile was already sampled.
This patch fixes that.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h

  Log Message:
  -----------
  [ctx_profile] Follow the pattern elsewhere for choosing the block IDs

This was an oversight in #91859. Using the subblock ID mechanism
other places that use the bitstream APIs (e.g. `BitstreamRemarkSerializer`) use.


  Commit: 772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
      https://github.com/llvm/llvm-project/commit/772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h

  Log Message:
  -----------
  [scudo] Move the chunk update into functions (#83493)

The code paths for mte enabled and disabled were interleaving and which
increases the difficulty of reading each path in both source level and
assembly level. In this change, we move the parts that they have
different logic into functions and minor refactors on the code
structure.


  Commit: c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
      https://github.com/llvm/llvm-project/commit/c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Remove the excess EOL.


  Commit: 26fabdded34f8cea490060a70188a07ad6b76b8b
      https://github.com/llvm/llvm-project/commit/26fabdded34f8cea490060a70188a07ad6b76b8b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

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

  Log Message:
  -----------
  [memprof] Pass FrameIdConverter and CallStackIdConverter by reference (#92327)

CallStackIdConverter sets LastUnmappedId when a mapping failure
occurs.  Now, since toMemProfRecord takes an instance of
CallStackIdConverter by value, namely std::function, the caller of
toMemProfRecord never receives the mapping failure that occurs inside
toMemProfRecord.  The same problem applies to FrameIdConverter.

The patch fixes the problem by passing FrameIdConverter and
CallStackIdConverter by reference, namely llvm::function_ref.

While I am it, this patch deletes the copy constructor and copy
assignment operator to avoid accidental copies.


  Commit: fa750f09be6966de7423ddce1af7d1eaf817182c
      https://github.com/llvm/llvm-project/commit/fa750f09be6966de7423ddce1af7d1eaf817182c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  Revert "[MC] Remove UseAssemblerInfoForParsing"

This reverts commit 03c53c69a367008da689f0d2940e2197eb4a955c.

This causes very large compile-time regressions in some cases,
e.g. sqlite3 at O0 regresses by 5%.


  Commit: a9763deb2f3f20d789b947ec69360c258377db6a
      https://github.com/llvm/llvm-project/commit/a9763deb2f3f20d789b947ec69360c258377db6a
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
    A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir

  Log Message:
  -----------
  Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)

Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.

If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.

For example the line table without this patch looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0
0x000000000000004c     12     13      1   0             0       0
0x000000000000005c     13      1      1   0             0       0  is_stmt
0x0000000000000064     12     13      1   0             0       0  is_stmt
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```

The line table entry for 0x000000000000005c should be 0

After this patch, the line table looks like:

```
Address            Line   Column File   ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000      0      0      1   0             0       0  is_stmt
0x0000000000000010     11     14      1   0             0       0  is_stmt prologue_end
0x0000000000000028     12      1      1   0             0       0  is_stmt
0x000000000000002c     12     15      1   0             0       0 
0x000000000000004c     12     13      1   0             0       0 
0x000000000000005c      0      0      1   0             0       0 
0x0000000000000064     12     13      1   0             0       0 
0x000000000000007c     13      7      1   0             0       0  is_stmt
0x00000000000000c8     13      1      1   0             0       0 
0x00000000000000e8     13      1      1   0             0       0  epilogue_begin
0x00000000000000f8     13      1      1   0             0       0  end_sequence
```


  Commit: 72200fcc346bee1830d9e640e42d717a55acd74c
      https://github.com/llvm/llvm-project/commit/72200fcc346bee1830d9e640e42d717a55acd74c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Check C++ base or member initializer in WebKit checkers. (#92220)

Co-authored-by: Ryosuke Niwa <rniwa at apple.com>


  Commit: f0b3654701bde1cf7821d60698b42383edaff9f3
      https://github.com/llvm/llvm-project/commit/f0b3654701bde1cf7821d60698b42383edaff9f3
  Author: Nikita Popov <npopov at redhat.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:
  -----------
  [LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)

The znver3/znver4 scheduler models are outliers, specifying very large
LoopMicroOpBufferSizes at 512, while typical values for other subtargets
are on the order of ~50. Even if this information is
micro-architecturally correct (*), this does not mean that we want to
runtime unroll all loops to a size that completely fills the loop
buffer. Unless this is the single hot loop in the entire application,
the massive code size increase will bust the micro-op and instruction
caches.

Protect against this by clamping to the default PartialThreshold of 150,
which is the same as the default full-unroll threshold and half the
aggressive full-unroll threshold. Allowing more partial unrolling than
full unrolling certainly does not make sense.

(*) I strongly doubt that this is actually correct -- I believe this may
derive from an incorrect reading of Agner Fog's micro-architecture
guide. The number 4096 that was originally used here is the size of the
general micro-op cache, not that of a loop buffer. A separate loop
buffer is not listed for the Zen microarchitecture. Comparing this to
the listing for Skylake, it has a 1536 micro-op buffer, but only a 64
micro-op loopback buffer, with a note that it's rarely fully utilized.
Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.


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

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Fix intermediate header locations for OpenMP

Summary:
A previous patch moved the code here and accidentally overrwrote the
include path that the LSP interface used. This caused incorrect errors
when using clangd with the offload project. This patch removes the
unnecessary header and makes sure we include the correct folder.


  Commit: 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
      https://github.com/llvm/llvm-project/commit/1595988ee6f9732e7ea79928af8a470ad5ef7dbe
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/Frontend/noderef_templates.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283)

This patch reapplies #90500, addressing a bug which caused binary
operators with dependent operands to be incorrectly rebuilt by
`TreeTransform`.


  Commit: 3a4c1b9b4428b08d4475decf74c11e0d328c5842
      https://github.com/llvm/llvm-project/commit/3a4c1b9b4428b08d4475decf74c11e0d328c5842
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92218)

Close https://github.com/llvm/llvm-project/issues/91418

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other.

For example,

```
SomeType a = ...;
SomeType b = a;
```

Previously, when we load variable `b`, we need to load the initializer,
then we need to load `a`. We can only mark the variable `b` as loaded
after we load `a`. Then `a` is always initialized before `b`. However,
it is not true after we implement lazy loading for initializers.

So here we try to load the initializers of static variables to make sure
they are passed to code generator by order. If we read any thing
interesting, we would consume that before emitting the current
declaration.


  Commit: 1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
      https://github.com/llvm/llvm-project/commit/1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
    M llvm/test/CodeGen/AArch64/aarch64-smull.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/ptradd.ll
    M llvm/test/CodeGen/AArch64/reduce-and.ll
    M llvm/test/CodeGen/AArch64/reduce-or.ll
    M llvm/test/CodeGen/AArch64/reduce-xor.ll

  Log Message:
  -----------
  [AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr, i) (#89017)

This patch adds a peephole to AArch64PostSelectOptimize for codegen
that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT
only to FPR registers in both the input and output registers. This can
cause a generation of COPY from FPR to GPR when, for example, the
output register of the G_EXTRACT_VECTOR_ELT is used in a branch
condition.

This was noticed when looking at codegen differences between SDAG and GI
for the s1279 kernel in the TSVC benchmark.


  Commit: 31c903890a905d203de3303eaaa63063754ffbca
      https://github.com/llvm/llvm-project/commit/31c903890a905d203de3303eaaa63063754ffbca
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add additional inbounds preservation tests (NFC)

Adding these for NVPTX because for AMDGPU the problematic -1 case
does not get reordered in the first place.


  Commit: b4d1a606c7492d827aff6ff0c1c109adff1253b9
      https://github.com/llvm/llvm-project/commit/b4d1a606c7492d827aff6ff0c1c109adff1253b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Check correct index for non-negativity

We were checking the index of GEP twice, instead of checking both
GEP and PtrGEP.


  Commit: 83e61d03deaaa8f4dd8395cfa753af7b38f74b24
      https://github.com/llvm/llvm-project/commit/83e61d03deaaa8f4dd8395cfa753af7b38f74b24
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Add tests for multiple indices (NFC)


  Commit: e91ea1b5d88805ebf7657da57ca6a7577374e4ad
      https://github.com/llvm/llvm-project/commit/e91ea1b5d88805ebf7657da57ca6a7577374e4ad
  Author: Jim M. R. Teichgräber <a at teichgraeber.digital>
  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/SemaExpr.cpp
    M clang/test/C/C2x/n2900_n3011.c
    M clang/test/C/C2x/n2900_n3011_2.c
    M clang/test/Sema/compound-literal.c

  Log Message:
  -----------
  [Clang] Disallow VLA type compound literals (#91891)

C99-C23 6.5.2.5 says: The type name shall specify an object type or an
array of unknown size, but not a variable length array type.

Fixes #89835.


  Commit: 90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
      https://github.com/llvm/llvm-project/commit/90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MCAsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify. NFC


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

  Changed paths:
    M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py

  Log Message:
  -----------
  [lldb] Fixed the TestFdLeak test (#92273)

Use `os.devnull` instead of `/dev/null`.


  Commit: b11a6607cb6522c58dfbd5f54239e7daa281368e
      https://github.com/llvm/llvm-project/commit/b11a6607cb6522c58dfbd5f54239e7daa281368e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/tools/clang-format/ClangFormat.cpp

  Log Message:
  -----------
  [clang-format][NFC] Reformat with 18.1.5


  Commit: 526553b25131a69d9d6426e17c7b69c2ba27144f
      https://github.com/llvm/llvm-project/commit/526553b25131a69d9d6426e17c7b69c2ba27144f
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/test/Driver/frontend-forwarding.f90
    M flang/test/Fir/loop01.fir
    M flang/test/Lower/array-substring.f90
    M flang/test/Lower/do_loop.f90
    M flang/test/Lower/do_loop_unstructured.f90
    M flang/test/Lower/infinite_loop.f90
    M flang/test/Lower/io-implied-do-fixes.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang] Add nsw flag to do-variable increment with a new option (#91579)

This patch adds nsw flag to the increment of do-variables when a new
option is enabled.
NOTE 11.10 in the Fortran 2018 standard says they never overflow.

See also the discussion in #74709 and the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5


  Commit: 3cc445a6608dc0e88f7d5f16501ef827199cf0c4
      https://github.com/llvm/llvm-project/commit/3cc445a6608dc0e88f7d5f16501ef827199cf0c4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp

  Log Message:
  -----------
  [MCAsmParser] Simplify expandMacro

The error checking is only for .macro directives. Move it to the .macro
parser to remove one parameter.


  Commit: 245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
      https://github.com/llvm/llvm-project/commit/245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Semantics/etime.f90

  Log Message:
  -----------
  [flang] Add ETIME runtime and lowering intrinsics implementation (#90578)

This patch add support of intrinsics GNU extension ETIME
https://github.com/llvm/llvm-project/issues/84205. Some usage info and
example has been added to `flang/docs/Intrinsics.md`. The patch contains
both the lowering and the runtime code and works on both Windows and
Linux.


|   System  |   Implmentation  |
|-----------|--------------------|
| Windows| GetProcessTimes |
| Linux      |times                     |


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll

  Log Message:
  -----------
  [LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes handled by LegalizeVectorOps. (#92332)

The expand code is present, but we were missing the type query code
so the nodes would be ignored until LegalizeDAG.


  Commit: 487b43cdc9fff9e370b8ea948c0cc19ca817aa86
      https://github.com/llvm/llvm-project/commit/487b43cdc9fff9e370b8ea948c0cc19ca817aa86
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll

  Log Message:
  -----------
  [RISCV] Pass subvector type to isLegalInterleavedAccessType in getInterleavedMemoryOpCost. (#91825)

isLegalInterleavedAccessType expects the subvector type, but
getInterleavedMemoryOpCost is called with the full vector type. So we
need to divide by Factor.


  Commit: 6bf185920bd6831efc151d7d4158d6390006c50b
      https://github.com/llvm/llvm-project/commit/6bf185920bd6831efc151d7d4158d6390006c50b
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.

rdar://127846581


  Commit: 566fbb450092bf8c9f966a6ab1b0381626e3e535
      https://github.com/llvm/llvm-project/commit/566fbb450092bf8c9f966a6ab1b0381626e3e535
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp

  Log Message:
  -----------
  [RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-after (#92303)

As noted in
https://github.com/llvm/llvm-project/pull/91440#discussion_r1601976425,
if the pass pipeline stops early because of -stop-after any allocated
passes added with insertPass will not be freed if they haven't already
been added.

This was showing up as a failure on the address sanitizer buildbots. We
can fix it by instead passing the pass ID instead so that allocation is
deferred.


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

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: Add a few more interesting test cases for CWG2398


  Commit: 5bd8091f4bde53de48329e14d5b955314e6518f4
      https://github.com/llvm/llvm-project/commit/5bd8091f4bde53de48329e14d5b955314e6518f4
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R mlir/docs/Dialects/Polynomial.md
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix polynomial docs for MLIR website (#92348)

I built it and confirmed this fixes the issue locally.

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: afce597baa9c6cf46feb30aba97cf832bff32673
      https://github.com/llvm/llvm-project/commit/afce597baa9c6cf46feb30aba97cf832bff32673
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] fix IRDL dialect docs (#92349)

Currently the irdl dialect page has no content beyond the header.

By referring to the Ops.td in the CMake config, it pulls in all the
types, attributes, etc., so that the doc generation can include them all
in the page.

Rendered locally to confirm it fixes the issue


![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3c2638dae58466f7eb4384bb7f26c9af904bf94c
      https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    R clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  Revert "[Serialization] Read the initializer for interesting static variables before consuming it (#92218)"

This reverts commit 3a4c1b9b4428b08d4475decf74c11e0d328c5842.

This breaks a bot on clang-s390x-linux


  Commit: 5c35b63da3c2e3c773580f748129fdec76354ede
      https://github.com/llvm/llvm-project/commit/5c35b63da3c2e3c773580f748129fdec76354ede
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/test/CAPI/llvm.c
    M mlir/test/Dialect/LLVMIR/debuginfo.mlir
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (#92043)

This field is present in LLVM, but was missing from the MLIR wrapper
type. This addition allows MLIR languages to add proper DWARF info for
GPU programs.


  Commit: 6706aebefac3c89d8df55bade022f3aeb55cfeb9
      https://github.com/llvm/llvm-project/commit/6706aebefac3c89d8df55bade022f3aeb55cfeb9
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-15 (Wed, 15 May 2024)

  Changed paths:
    R etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    R flang/test/Lower/Intrinsics/etime-function.f90
    R flang/test/Lower/Intrinsics/etime.f90
    R flang/test/Semantics/etime.f90

  Log Message:
  -----------
  Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)

Reverts llvm/llvm-project#90578

This broke the premerge linux buildbot.


  Commit: 45cc6bdea97be10793e4cd5f0ef11abd9d19adea
      https://github.com/llvm/llvm-project/commit/45cc6bdea97be10793e4cd5f0ef11abd9d19adea
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_shufflevector


  Commit: e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
      https://github.com/llvm/llvm-project/commit/e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add keith back to bazel codeowners

Wrongly removed in 45cc6bdea97be10793e4cd5f0ef11abd9d19adea.


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

  Changed paths:
    M llvm/include/llvm/MC/MCAsmMacro.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s

  Log Message:
  -----------
  MCAsmParser: Support \+

In .macro, \+ expands to the per-macro invocation count.
https://sourceware.org/pipermail/binutils/2024-May/134009.html

\+ counts from 0 for .irp/.irpc/.rept .

Note: We currently prints \q for `.print "\q"` while gas doesn't. This
patch does not change this behavior.


  Commit: 89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
      https://github.com/llvm/llvm-project/commit/89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Fix update operation not found issue (#92165)

If there is only one non-terminator operation in the update region then
the update operation can be found and we can try to generate an
atomicrmw instruction. Otherwise use the cmpxchg loop.

Fixes #91929


  Commit: ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
      https://github.com/llvm/llvm-project/commit/ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp
    M lld/test/ELF/aarch64-reloc-pauth.s

  Log Message:
  -----------
  [lld][AArch64][ELF][PAC] Support `.relr.auth.dyn` section (#87635)

Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-1.ll

  Log Message:
  -----------
  InstCombine: Try to use exp10 intrinsic instead of libcall (#92287)

Addresses old TODO about the exp10 intrinsic not existing.


  Commit: b5107bdda332234d632c9749e01d60dd0f01bf39
      https://github.com/llvm/llvm-project/commit/b5107bdda332234d632c9749e01d60dd0f01bf39
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Verify ops on tile types post LLVM conversion  (#92076)

Unsupported ops on tile types can become dead after
`-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such
operations don't exist post-conversion and fail if they do.

Based on discussion from
https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543


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

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

  Log Message:
  -----------
  SimplifyLibCalls: Use IRBuilder helpers for creating intrinsics (#92288)


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

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Deprecate StringRef::equals (#92351)

This patch deprecates StringRef::equals.  Note that I've migrated all
known users to operator==(StringRef, StringRef).


  Commit: 8f711aa32488beb3382de101a290e11b41ceb876
      https://github.com/llvm/llvm-project/commit/8f711aa32488beb3382de101a290e11b41ceb876
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++][test] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896)

The feature test macro was renamed when
[P2641R4](https://wg21.link/P2641R4) was adopted into the standard:
https://github.com/cplusplus/draft/commit/0facada4cadd97e1ba15bfaea76a804f1dc5c309
https://wg21.link/version.syn#lib:__cpp_lib_is_constant_evaluated


  Commit: dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
      https://github.com/llvm/llvm-project/commit/dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fold pack-unpack with unbalanced outer_dims_perm attr (#92234)

Extends pack/unpack perm attribute checker to account for cases when the
optional outer_dims_perm attribute might be missing in one operation and
the other one has explicit identity permutation. This enables
canonicalizer to fold more unpack(pack(x)) variants.


  Commit: cd5ee2715e89ad31982f91cc85fc3939977f2f4e
      https://github.com/llvm/llvm-project/commit/cd5ee2715e89ad31982f91cc85fc3939977f2f4e
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/CGOps.h
    M flang/include/flang/Optimizer/CodeGen/CGOps.td
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    R flang/lib/Optimizer/CodeGen/CGOps.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/declare-codegen.fir
    M flang/test/Fir/dummy-scope-codegen.fir
    A flang/test/Transforms/debug-local-var-2.f90
    A flang/test/Transforms/debug-local-var.f90

  Log Message:
  -----------
  [reland][flang] Initial debug info support for local variables (#92304)

This is same as #90905 with an added fix. The issue was that we
generated variable info even when user asked for line-tables-only. This
caused llvm dwarf generation code to fail an assertion as it expected an
empty variable list.

Fixed by not generating debug info for variables when user wants only
line table. I also updated a test check for this case.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll

  Log Message:
  -----------
  SimplifyLibCalls: Emit vector ldexp intrinsics in exp2->ldexp combine (#92219)

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 710f4bd054a857dd25012c9fef0cb66104f17ec0
      https://github.com/llvm/llvm-project/commit/710f4bd054a857dd25012c9fef0cb66104f17ec0
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h

  Log Message:
  -----------
  [mlir] add missing include to MemRefTransformOps.h

The ODS-generated code has the following:

```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
  return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
      *getODSOperands(0).begin());
}
```

that may require the compiler seing the definition of `OperationType` so
include the corresponding header.


  Commit: 51403ada789e63e98e0dd5ac0ceba351465490d1
      https://github.com/llvm/llvm-project/commit/51403ada789e63e98e0dd5ac0ceba351465490d1
  Author: Alex Zinenko <ftynse at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M mlir/docs/Dialects/Transform.md

  Log Message:
  -----------
  [mlir] fix orphaned IRDLExtensionOps documentation

.md files should be included into other .md files so they don't show up in the
top-level menu.


  Commit: 72a895336b1e4df1ec2f485f8786ead6c356edb8
      https://github.com/llvm/llvm-project/commit/72a895336b1e4df1ec2f485f8786ead6c356edb8
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/utils/TableGen/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [AArch64][TargetParser] move ArchInfo into tablegen [NFC] (#92037)

This moves the architecture version, profile and extension information
into tablegen, and generates the TargetParser ArchInfo objects from
this data.

There are two lists of "dependencies" defined for each architecture: the
SubtargetFeature::Implies which controls which features are
automatically enabled in the backend when the corresponding architecture
SubtargetFeature is enabled; and the list of Extensions which are
enabled by default for this architecture. As far as I can tell, the idea
here is that the SubtargetFeature models the mandatory dependencies (although
they can still be disabled if desired) while the default extensions models
the typical use case for that architecture.


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

  Changed paths:
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Dialect/Vector/vector-transferop-opt.mlir

  Log Message:
  -----------
  [mlir][vector] Teach `TransferOptimization` to forward masked stores (#87794)

This only handles one case (that's fairly common in practice*), storing
a masked constant splat, then reloading again with the same mask and a
padding value that matches the splat.

* For SVE/SME (without peeling) this occurs when you have a
`linalg.fill` preceding a `linalg.matmul`.


  Commit: 30410018d32b2cc19552c6d6a3b7b6de84d99382
      https://github.com/llvm/llvm-project/commit/30410018d32b2cc19552c6d6a3b7b6de84d99382
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    A llvm/test/CodeGen/LoongArch/target-abi.ll

  Log Message:
  -----------
  [LoongArch] Enable all -target-abi options

This is a pre-commit for modifying `computeTargetABI` logic.

This patch will provide warning prompts when using those ABIs that have
not yet been standardized.

Reviewed By: xen0n, SixWeining

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


  Commit: 70608c24fae8943cb93276db4d0358722705507b
      https://github.com/llvm/llvm-project/commit/70608c24fae8943cb93276db4d0358722705507b
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/test/CodeGen/LoongArch/e_flags.ll
    M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll

  Log Message:
  -----------
  [LoongArch] Refactor LoongArchABI::computeTargetABI

The previous logic did not consider whether the architectural features
meet the requirements of the ABI, resulting in the generation of
incorrect object files in some cases. For example:

```
llc -mtriple=loongarch64 -filetype=obj test/CodeGen/LoongArch/ir-instruction/fadd.ll -o t.o
llvm-readelf -h t.o
```
The object file indicates the ABI as lp64d, however, the generated code
is lp64s.

The new logic introduces the `feature-implied` ABI. When both target-abi
and triple-implied ABI are invalid, the feature-implied ABI is used.

Reviewed By: SixWeining, xen0n

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


  Commit: 53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
      https://github.com/llvm/llvm-project/commit/53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
  Author: Oleg Shyshkov <shyshkov at google.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

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

  Log Message:
  -----------
  [mlir][bazel] Fix bazel build.


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

  Changed paths:
    M lld/test/ELF/emulation-loongarch.s

  Log Message:
  -----------
  [lld][test] Fix test failure after #92223

https://lab.llvm.org/buildbot/#/builders/272/builds/16745


  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: 5a204a5f0a19417c1c0bd71834dee7ba129e6776
      https://github.com/llvm/llvm-project/commit/5a204a5f0a19417c1c0bd71834dee7ba129e6776
  Author: wanglei <wanglei at loongson.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
    M llvm/test/CodeGen/LoongArch/libcall-extend.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll

  Log Message:
  -----------
  [LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64

The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.

Reviewed By: heiher, SixWeining

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


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

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
    M llvm/test/CodeGen/LoongArch/libcall-extend.ll
    M llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll

  Log Message:
  -----------
  [LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall

Reviewed By: SixWeining, heiher

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


  Commit: 8fe39e64c0ef0a1aefce3c1187c5822343caeedd
      https://github.com/llvm/llvm-project/commit/8fe39e64c0ef0a1aefce3c1187c5822343caeedd
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Don't always break before << between string literals (#92214)

Instead, leave the line wrapping as is.

Fixes #43887.
Fixes #44363.


  Commit: 88d351e2e62d2ff291f3e6dea6b7e425f683285b
      https://github.com/llvm/llvm-project/commit/88d351e2e62d2ff291f3e6dea6b7e425f683285b
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a regression in annotating struct braces (#92352)

Fixes #92350.


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

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig

  Log Message:
  -----------
  [lldb] Include SBLanguages in the SWIG bindings (#92470)


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

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig

  Log Message:
  -----------
  Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)

Reverts llvm/llvm-project#92470


  Commit: 9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
      https://github.com/llvm/llvm-project/commit/9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-16 (Thu, 16 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo

Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.

Test Plan: NFC

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci

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


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

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/PathMappingList.cpp

  Log Message:
  -----------
  [lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)

Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).


  Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
      https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    M flang/test/Lower/OpenMP/atomic-write.f90

  Log Message:
  -----------
  [Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)

Fixes test.f90 in #83144.

This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.

I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.


  Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
      https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
    M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s

  Log Message:
  -----------
  [JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)

This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.


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

  Changed paths:
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp

  Log Message:
  -----------
  [CodeGen] Use operator==(StringRef, StringRef) (NFC)

The LHS and RHS are of SmallString and StringRef, respectively.  We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.


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

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

  Log Message:
  -----------
  [Sema] Use SmallString::empty (NFC)


  Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
      https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp

  Log Message:
  -----------
  [clang] Use constant rounding mode for floating literals (#90877)

Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.


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

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPContext.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp

  Log Message:
  -----------
  [llvm] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).


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

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang] Drop explicit conversions of string literals to StringRef (NFC)

We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).

The LHS here are all known to be of StringRef.


  Commit: 9bffe790499e99a4110a33988100ba45835e905e
      https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Speedup select to integer min/max (#92378)

https://github.com/llvm/llvm-project/issues/92309


  Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
      https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/bfloat.ll

  Log Message:
  -----------
  [X86][BF16] Change MVT to EVT in combineFP_EXTEND

Fixes: #92471


  Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
      https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir

  Log Message:
  -----------
  Fix Tan inaccuracies on extreme complex inputs. (#92443)

Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.


  Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
      https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp

  Log Message:
  -----------
  TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)

The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.

I'm trying to delete the default constructor altogether, but this seems
to be more difficult.


  Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
      https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-insert-point.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)

This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.


  Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
      https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
  error: missing 'typename' prior to dependent type name Op::Adaptor;
  implicit 'typename' is a C++20 extension
  [-Werror,-Wc++20-extensions]


  Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
      https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/test/API/functionalities/completion/TestCompletion.py

  Log Message:
  -----------
  [lldb] Avoid modifying the source tree in TestCompletion.py

This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.


  Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
      https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
    M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
    A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll

  Log Message:
  -----------
  [LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)

…VE2.1 for spill/fill

When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.


  Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
      https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)

llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
      const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
                              ^
2 errors generated.


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

  Changed paths:
    M clang/include/clang/Basic/SourceManager.h
    M clang/lib/Basic/SourceManager.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `SourceManager` (#92436)

This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.


  Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
      https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
    A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
    M lldb/tools/lldb-dap/DAP.cpp

  Log Message:
  -----------
  [lldb-dap] Correctly detect alias commands with arguments in repl (#92137)

ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.


  Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
      https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/test/ExtractAPI/class_template.cpp
    M clang/test/ExtractAPI/class_template_param_inheritance.cpp
    M clang/test/ExtractAPI/class_template_partial_spec.cpp
    M clang/test/ExtractAPI/class_template_spec.cpp
    M clang/test/ExtractAPI/concept.cpp
    M clang/test/ExtractAPI/field_template.cpp
    M clang/test/ExtractAPI/global_func_template.cpp
    M clang/test/ExtractAPI/global_func_template_spec.cpp
    M clang/test/ExtractAPI/global_var_template.cpp
    M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
    M clang/test/ExtractAPI/global_var_template_spec.cpp
    M clang/test/ExtractAPI/method_template.cpp
    M clang/test/ExtractAPI/method_template_spec.cpp
    A clang/test/ExtractAPI/non_type_template.cpp

  Log Message:
  -----------
  [clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)

Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.

rdar://127732598


  Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
      https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] refactor sortPtrAccesses (NFC) (#92256)

Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.


  Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
      https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll

  Log Message:
  -----------
  [SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)

This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.

The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.


  Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
      https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)

After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.

See also https://github.com/llvm/llvm-project/pull/87823 for more
details.


  Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
      https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/AddAliasTags.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to reduce AddAliasTags boilerplate (#92373)

I will make this pass run properly on more top-level operations in a
follow up patch.


  Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
      https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll

  Log Message:
  -----------
  [DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)


  Commit: 698cf0176b3146993134354b02c9a67352d9d27e
      https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
  Author: Johannes Reifferscheid <jreiffers at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    A llvm/test/CodeGen/NVPTX/i1-array-global.ll

  Log Message:
  -----------
  Fix i1 array global crash in NVPTXAsmPrinter. (#92506)

See the test file. At head, this crashes with

```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
  bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
  "Illegal bit extraction"
```


  Commit: c93b45aaee62700f61ddc366d971bde594459324
      https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
    M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)

It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.


  Commit: bbe40b9e0a24605e0526475e643312839772294f
      https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCSectionELF.cpp
    M llvm/test/MC/ELF/section-numeric-invalid-type.s

  Log Message:
  -----------
  [MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)

MCObjectStreamer already accepts unknown types.


  Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
      https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
  Author: David Green <david.green at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/selectopt-not.ll

  Log Message:
  -----------
  [SelectOpt] Add tests for not select conditions. NFC


  Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
      https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasSetTracker.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp

  Log Message:
  -----------
  [NFC][LLVM] Mainly whitespace changes.

Also marks AliasSetTracker::size() as const.


  Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
      https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
    M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
    M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
    M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
    M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp

  Log Message:
  -----------
  [analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)

This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.

A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.

After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).

The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.


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

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll

  Log Message:
  -----------
  SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)

PAIR128 should probably just be removed entirely

Depends #90638


  Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
      https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll

  Log Message:
  -----------
  [VPlan] Mark LoopInfo preserved in native-path as well (NFC).

LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.


  Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
      https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/AMDGPU/cttz.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll

  Log Message:
  -----------
  [SelectionDAG] Widen cttz to cttz_zero_undef (#92514)

Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.


  Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
      https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
  Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)

The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:

1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.

2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.

This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.

The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.


  Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
      https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)

This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.


  Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
      https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

  Log Message:
  -----------
  [X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI

This is to simplify code for #91747


  Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
      https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
    M llvm/test/Transforms/InstCombine/vector-reductions.ll

  Log Message:
  -----------
  [InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)

For all of the following reductions:

vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax

if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:

vector.reduce.fadd
vector.reduce.fmul


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CXX/drs/cwg24xx.cpp
    M clang/test/SemaCXX/cxx-deprecated.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Implement CWG2428 "Deprecating a concept" (#92295)

This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).


  Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
      https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang/docs/tools/clang-formatted-files.txt
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/lib/Tooling/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/unittests/CMakeLists.txt
    R clang/unittests/Introspection/CMakeLists.txt
    R clang/unittests/Introspection/IntrospectionTest.cpp
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn

  Log Message:
  -----------
  [clang-query] Remove support for srcloc output (#92442)

This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.

Fixes #82591


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int.ll
    M llvm/test/Transforms/InstCombine/pow_fp_int16.ll

  Log Message:
  -----------
  SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)


  Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
      https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll

  Log Message:
  -----------
  [AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)


  Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
      https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
  Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGen/clspv_libclc_builtin.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M libclc/generic/include/clc/clcfunc.h

  Log Message:
  -----------
  libclc: remove __attribute__((assume)) for clspv targets (#92126)

Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.

Ref https://github.com/llvm/llvm-project/pull/84934


  Commit: 9917f3ce641490ff95a11d22e37754a972c05420
      https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
    M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
    M clang/test/Sema/aarch64-sme2p1-diagnostics.c

  Log Message:
  -----------
  [Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)

Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.


  Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
      https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/Sema/bool-compare.c
    M clang/test/Sema/parentheses.cpp
    M clang/test/SemaCXX/bool-compare.cpp
    M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/test/SemaTemplate/typo-template-name.cpp

  Log Message:
  -----------
  [clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)

Add warning under `-Wparentheses` for consistency with `gcc 14.1`.

Closes #20456

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
      https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/test/Semantics/OpenMP/nested-distribute.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)

Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.

Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.


  Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
      https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.h

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Fix typo in include guard (#91593)


  Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
      https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Remove redundant check (#91594)

The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.


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

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `ParseClassSpecifier`


  Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
      https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/version-check.yml
    M llvm/utils/git/requirements.txt

  Log Message:
  -----------
  [git] Add hashes to requirements.txt for extra security (#92305)

https://pip.pypa.io/en/stable/topics/secure-installs/


  Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
      https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)

This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via

https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:

https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469


  Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
      https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)

[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]

According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics

void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");

as well as the corresponding `bf16` variants.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-bitreverse.ll

  Log Message:
  -----------
  [X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage


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

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/cmake/Modules/LibomptargetGetDependencies.cmake
    M offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/tools/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove header license in CMake files (#92544)

Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.


  Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
      https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/cmake/caches/HLSL.cmake

  Log Message:
  -----------
  [HLSL][CMake] Add clangd and distribution settings (#92011)

This just adds some simple distribution settings and includes clangd in
the build for distribution.


  Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
      https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/Parse/ParseCXXInlineMethods.cpp

  Log Message:
  -----------
  [clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`


  Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
      https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
  Author: maxbartel <bartel at roofline.ai>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
    M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir

  Log Message:
  -----------
  [mlir][spirv] Add support for dense_resource in arith to spirv (#91318)

This adds support for `dense_resource` in arith to spirv. 

Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!

The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.


  Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
      https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Support/CommandLine.cpp

  Log Message:
  -----------
  [Support] Drop nop conversions of StringRef to StringRef (NFC)

Both sides here are known to be of StringRef.


  Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
      https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir

  Log Message:
  -----------
  [flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)


  Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
      https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`


  Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
      https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp

  Log Message:
  -----------
  [MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)

This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.


  Commit: 9e39a0c723ced1aefdb30cece554356644aac148
      https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
  Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp

  Log Message:
  -----------
  [MLIR][ArmSME] Fix for block sorting refactor

This commit fixes a breakage introduced by changing the name of the
block sorting function.

Related PR: https://github.com/llvm/llvm-project/pull/92558


  Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
      https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)

Fixes #92188


  Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
      https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

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

  Log Message:
  -----------
  [clang][NFC] Remove an unnecessary `const_cast`


  Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
      https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  [mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)

Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.


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

  Changed paths:
    M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py

  Log Message:
  -----------
  [lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)

Install `_exe_to_attach` to a remote target if necessary.


  Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
      https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [LSP] Use std::string for storing the Reply method (#92464)

This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.


  Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
      https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
    A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
    A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
    A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
    A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
    A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
    A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Fir/cuf.mlir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/CUDA/cuda-mod.cuf
    M flang/test/Lower/CUDA/cuda-module-use.cuf
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/tco/CMakeLists.txt
    M flang/unittests/Optimizer/CMakeLists.txt
    M flang/unittests/Optimizer/FortranVariableTest.cpp

  Log Message:
  -----------
  [flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)

The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.

The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.


  Commit: e3686755eab66604335e246ed7b30033ab71dbbc
      https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/unittests/Dialect/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
    A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp

  Log Message:
  -----------
  [mlir][polynomial] implement add for polynomial data structure (#92169)

A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.

- use CRTP for base classes
- Add unit test

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
      https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp

  Log Message:
  -----------
  [clang] Introduce `SemaCodeCompletion` (#92311)

This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.


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

  Changed paths:
    M lldb/bindings/CMakeLists.txt
    M lldb/bindings/headers.swig
    M lldb/bindings/interfaces.swig
    M lldb/bindings/lua/CMakeLists.txt
    M lldb/bindings/python/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Include SBLanguages in the SWIG bindings (#92470)


  Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
      https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    A etime-function.mlir
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/time-intrinsic.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/runtime/time-intrinsic.cpp
    M flang/runtime/tools.h
    A flang/test/Lower/Intrinsics/etime-function.f90
    A flang/test/Lower/Intrinsics/etime.f90
    A flang/test/Semantics/etime.f90

  Log Message:
  -----------
  [reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)

This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989


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

  Changed paths:
    M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py

  Log Message:
  -----------
  [lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)

Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.


  Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
      https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    A mlir/test/Dialect/Polynomial/canonicalization.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Poly canonicalization (#91410)

Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
      https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] add arith dialect dep to fix buildbot failure (#92585)

https://lab.llvm.org/buildbot/#/builders/268/builds/14288

```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```


  Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
      https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CodeGen/array-init.c

  Log Message:
  -----------
  [CodeGen] Support arrays with initializers of 64-bit size

Based on @OfekShochat's https://reviews.llvm.org/D133648

init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.

Fix #57353

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


  Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
      https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Integration test (#92456)

Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.


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

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/mapping/array_section_implicit_capture.c
    M offload/test/offloading/default_thread_limit.c
    M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
    M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
    M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
    M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
    M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
    M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
    M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
    M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    M offload/test/offloading/fortran/target-map-enter-exit-array.f90
    M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
    M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
    M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
    M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
    M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
    M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
    M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
    M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
    M offload/test/offloading/spmdization.c
    M offload/test/offloading/thread_limit.c

  Log Message:
  -----------
  [Offload][NFC] Remove all trailing whitespace from offload/ (#92578)

Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.


  Commit: 770d92830311b21c82ff12ba85bd131950db23d0
      https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M offload/CMakeLists.txt
    M offload/DeviceRTL/CMakeLists.txt
    R offload/cmake/Modules/LibomptargetUtils.cmake
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/cuda/CMakeLists.txt
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/CMakeLists.txt
    M offload/tools/deviceinfo/CMakeLists.txt
    M offload/tools/kernelreplay/CMakeLists.txt
    M offload/unittests/Plugins/CMakeLists.txt

  Log Message:
  -----------
  [Offload][NFC] Remove 'libomptarget' message helpers (#92581)

Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.


  Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
      https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll

  Log Message:
  -----------
  AMDGPU: Handle undef correctly in isKnownIntegral (#92566)


  Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
      https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"

This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.

parseEOL() would remove \n # after .endr, not recognizing the line marker.

```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```


  Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
      https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
  Author: Dan Liew <delcypher at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-late-parsed-off.c
    A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    A clang/test/Sema/attr-counted-by-struct-ptrs.c
    A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    A clang/test/Sema/attr-counted-by-vla.c
    R clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)

Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.

For example this previously wasn't allowed:

```
struct BufferTypeDeclAttributePosition {
  size_t count;
  char* buffer __counted_by(count); // Now allowed
}
```

Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:

* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member

This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example

```
struct BufferTypeDeclAttributePosition {
  char* buffer __counted_by(count); // Now allowed
  size_t count;
}
```

is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.

Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:

```
struct BufferTypeAttributePosition {
  size_t count;
  char *__counted_by(count) buffer; // Now allowed
}
```

However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:

```
struct BufferTypeAttributePosition {
  char *__counted_by(count) buffer; // Fails to parse
  size_t count;
}
```

The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.

There are also several other follow up changes that will need to be
addressed in future patches:

* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).

This work is heavily based on a patch originally written by Yeoul Na.

rdar://125400257

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


  Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
      https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser,test] Test line marker after .endr \n

Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c

Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S


  Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
      https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)

`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.


  Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
      https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  [Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`

0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.

rdar://125400257


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

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`


  Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
      https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
  Author: John Ericson <John.Ericson at Obsidian.Systems>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M libcxx/src/atomic.cpp
    M libcxx/src/chrono.cpp
    M libcxxabi/src/cxa_guard_impl.h

  Log Message:
  -----------
  [libcxx][libcxxabi] Fix build for OpenBSD (#92186)

- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.

- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.

  See https://lists.boost.org/boost-bugs/2015/07/41690.php and
  https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
  for a description of an analogous problem and fix for Boost.


  Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
      https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
  Author: Julian Lettner <yln at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/test/tsan/signal_in_mutex_lock.cpp

  Log Message:
  -----------
  Fix flaky test: signal_in_mutex_lock.cpp (#92587)

Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.

My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.

rdar://126768628


  Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
      https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/semantics.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/semantics.cpp
    A flang/module/cudadevice.f90
    A flang/test/Semantics/cuf-device-procedures01.cuf
    A flang/test/Semantics/cuf-device-procedures02.cuf
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)

This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.


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

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

  Log Message:
  -----------
  [lldb-dap] Bump the version to 0.2.1

Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.


  Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
      https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c

  Log Message:
  -----------
  [test] Use conventional -emit-llvm-only

Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc


  Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
      https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.h
    A llvm/test/CodeGen/NVPTX/param-overalign.ll

  Log Message:
  -----------
  [NVPTX] fixup support for over-aligned parameters (#92457)

This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:

- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.


  Commit: fe2ff54590c313551e7968179b48988ff0916290
      https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    M flang/runtime/descriptor-io.h
    A flang/runtime/io-api-common.h
    A flang/runtime/io-api-minimal.cpp
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang][runtime] Decouple scalar output APIs from descriptors (#92444)

For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)


  Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
      https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/bind-c03.f90
    M flang/test/Semantics/bind-c09.f90
    M flang/test/Semantics/bind-c12.f90
    M flang/test/Semantics/resolve81.f90
    M flang/test/Semantics/resolve82.f90

  Log Message:
  -----------
  [flang] Relax checking of dummy procedures under BIND(C) (#92474)

As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.


  Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
      https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][polynomial] split attributes into its own tablegen (#92613)

Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).

This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.


  Commit: cef6387e52578366c2332275dad88b9953b55336
      https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
  Author: Dan Liew <dan at su-root.co.uk>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  [Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members

In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:

```
struct has_unannotated_VLA {
  int count;
  char buffer[];
};

struct buffer_of_structs_with_unnannotated_vla {
  int count;
  struct has_unannotated_VLA Arr[] __counted_by(count);
};
```

In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.

However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).

To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.


  Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
      https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/runtime/io-api.cpp

  Log Message:
  -----------
  [flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406


  Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
      https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Revert "[ctx_profile] Integration test (#92456)"

This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.

This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559


  Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
      https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll

  Log Message:
  -----------
  DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info


  Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
      https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBExpressionOptions.h
    M lldb/source/API/SBExpressionOptions.cpp

  Log Message:
  -----------
  [lldb] Namespace SBSourceLanguageName (NFC)


  Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
      https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M lld/ELF/InputSection.cpp
    R lld/test/ELF/loongarch-relax-align-ldr.s
    M lld/test/ELF/loongarch-relax-emit-relocs.s
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
    M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
    M llvm/test/MC/LoongArch/Relocations/relax-align.s

  Log Message:
  -----------
  Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"

This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.

This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html

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


  Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
      https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    A flang/test/Lower/CUDA/cuda-program-global.cuf

  Log Message:
  -----------
  [flang][cuda] Add data attribute to program globals (#92610)


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

  Changed paths:
    M .github/dependabot.yml
    M compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  Reapply "[ctx_profile] Integration test (#92456)"

This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.

Passing -ldl -lpthread explicitly


  Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
      https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M .github/dependabot.yml

  Log Message:
  -----------
  [Github] Revert accidental changes to dependabot config

f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.


  Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
      https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
  Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    R etime-function.mlir

  Log Message:
  -----------
  Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)

The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.


  Commit: 195ba4572129befa25ca56439515d7cb91587c56
      https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/test/MC/AsmParser/macro-arg.s
    M llvm/test/MC/AsmParser/macro-irp.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion

```
.irp foo,1
nop
.endr
nop
```

expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.

`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))

Instead, skip the potential \n after jumpToLoc at handleMacroExit.


  Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
      https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/test/Driver/include-omp-header.f90
    M flang/test/Lower/OpenMP/atomic-capture.f90
    M flang/test/Lower/OpenMP/atomic-read.f90
    M flang/test/Lower/OpenMP/atomic-update.f90
    M flang/test/Lower/OpenMP/atomic-write.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
    M flang/test/Lower/OpenMP/parallel-sections.f90
    M flang/test/Lower/OpenMP/parallel.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/taskgroup.f90
    M flang/test/Lower/OpenMP/teams.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
    M flang/test/Parser/OpenMP/allocate-tree.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in

  Log Message:
  -----------
  [flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)


  Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
      https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.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-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.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-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  [flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)


  Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
      https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-17 (Fri, 17 May 2024)

  Changed paths:
    M llvm/test/MC/AsmParser/macro-irp.s
    R llvm/test/MC/AsmParser/macro-rept-err1.s
    R llvm/test/MC/AsmParser/macro-rept-err2.s
    M llvm/test/MC/AsmParser/macro-rept.s

  Log Message:
  -----------
  [MCAsmParser] Improve .rept/.irp tests


  Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
      https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  [clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`

Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.

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


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

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Further improvements to const-correctness


  Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
      https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir

  Log Message:
  -----------
  [GlobalIsel] Combine select to integer min max more (#92570)


  Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
      https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir

  Log Message:
  -----------
  [X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)

```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```

To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.

In this patch, we support CCMP/CTEST as OP2.


  Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
      https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/CFGLoopInfo.h
    M mlir/include/mlir/IR/Block.h
    M mlir/lib/Analysis/CFGLoopInfo.cpp
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  [mlir] Add operator<< for printing `Block` (#92550)

Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.


  Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
      https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt

  Log Message:
  -----------
  [flang][cuf] Add attr gen dependency to fix #92635


  Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
      https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp

  Log Message:
  -----------
  [nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`


  Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
      https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  [NVPTX] support immediate values in st.param instructions (#91523)

Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.


  Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
      https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanValue.h

  Log Message:
  -----------
  [VPlan] Remove unused removeLastOperand (NFC).

The last use of the function has been removed a while ago. Remove the
unused function.


  Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
      https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/tools/dsymutil/MachODebugMapParser.cpp

  Log Message:
  -----------
  [dsymutil] Use operator==(StringRef, StringRef) (NFC)


  Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
      https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/OutputSections.h

  Log Message:
  -----------
  [DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)


  Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
      https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp

  Log Message:
  -----------
  [DXIL] Use consistent SmallVector parameters

Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886


  Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
      https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/frem-power2.ll
    M llvm/test/CodeGen/ARM/frem-power2.ll

  Log Message:
  -----------
  [DAG] Use copysign in frem power-2 fold. (#91751)

As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.

In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan


  Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
      https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
  Author: David Green <david.green at arm.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll

  Log Message:
  -----------
  [VectorCombine] Don't transform single shuffles in shuffleToIdentity

This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.


  Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
      https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
    M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
    M llvm/utils/UpdateTestChecks/asm.py
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/UpdateTestChecks/isel.py
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  update_test_checks: match IR basic block labels (#88979)

Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.

Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.

We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.

This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.

I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.

Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.


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

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [ThinLTO]Sort imported GUIDs before cache key update (#92622)

Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)

@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.


  Commit: 7b977e0f644c43232732e149b03d41de321d804e
      https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-18 (Sat, 18 May 2024)

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

  Log Message:
  -----------
  [nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)

The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212

---------

Co-authored-by: Kazu Hirata <kazu at google.com>


  Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
      https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Reformat


  Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
      https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]

`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.

`clang_rt.ctx_profile` has been introduced in #92456.


  Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
      https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h

  Log Message:
  -----------
  [NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)

In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.


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

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [gn build] Port b4ba3fe0068b


  Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
      https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)

This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
  %y = and i64 %x, 16383
  %z = xor i64 %y, 16368
  ret i64 %z
}
```


  Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
      https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
  Author: David Green <david.green at arm.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Additional extend tests for shuffleToIdentity. NFC


  Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
      https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.

The only difference is the operand index for the element index variable.


  Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
      https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
    M compiler-rt/test/ctx_profile/lit.cfg.py

  Log Message:
  -----------
  [ctx_profile] Pass lib path into test

Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    A llvm/test/CodeGen/X86/pr92569.ll

  Log Message:
  -----------
  [DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison

We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.

Fixes #92569


  Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
      https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92096


  Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
      https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92576


  Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
      https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-counted-by-vla.c

  Log Message:
  -----------
  Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"

Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit cef6387e52578366c2332275dad88b9953b55336.


  Commit: 6447abe067c8088a5cc093fe872719374e174068
      https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/AST/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-late-parsed-off.c
    R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
    R clang/test/Sema/attr-counted-by-struct-ptrs.c
    R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
    R clang/test/Sema/attr-counted-by-vla.c
    A clang/test/Sema/attr-counted-by.c

  Log Message:
  -----------
  Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"

Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.


  Commit: c587483da0b50efa04146fde205da1d16731e12e
      https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test

  Log Message:
  -----------
  Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"

Issue #92687

This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.


  Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
      https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenCXX/eh.cpp
    M clang/test/CodeGenCXX/nrvo.cpp
    M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
    M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
    M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
    M clang/test/CodeGenCXX/typeid-with-address-space.cpp
    M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
    M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
    M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
    M clang/test/CodeGenCXX/vtt-address-space.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
    M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
    M llvm/test/Transforms/Inline/inline_invoke.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
    M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)

At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.


  Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
      https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp

  Log Message:
  -----------
  [CodeGen][SDAG] Skip preferred extend at O0 (#92643)

This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.


  Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
      https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
  Author: aengelke <engelke at in.tum.de>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [CodeGen][SDAG] Track returntwice in lowering info (#92640)

This saves an extra iteration over the all instructions of the function.


  Commit: eab92cb7f33be16a6a17549182e9237112b7a183
      https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)

This PR is to address the issue #84640


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll

  Log Message:
  -----------
  SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)


  Commit: b050048d35f6580fb427e6de9063444aa85625c6
      https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
    M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll

  Log Message:
  -----------
  [VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)

Simplify a common pattern generated for masks when folding the tail.

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


  Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
      https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/HLSLDocs.rst

  Log Message:
  -----------
  HLSL availability diagnostics design doc (#92207)

Design document for the HLSL availability diagnostic modes

Fixes microsoft/hlsl-specs#190

---------

Co-authored-by: Xiang Li <python3kgae at outlook.com>


  Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
      https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
  Author: Isaac David <61389980+orion160 at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/docs/ORCv2.rst

  Log Message:
  -----------
  [DOCS] ORCv2.rst Typo (#89482)


  Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
      https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Parser/attr-availability.c
    M clang/test/Sema/attr-availability-ios.c
    A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
    A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
    R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
    M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl

  Log Message:
  -----------
  [Clang][HLSL] Add environment parameter to availability attribute (#89809)

Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.

This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.

The environment parameter is currently supported only for HLSL.

Fixes #89802


  Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
      https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
    M llvm/test/Transforms/Attributor/nofpclass.ll
    M llvm/test/Transforms/InstCombine/and-fcmp.ll
    M llvm/test/Transforms/InstCombine/or-fcmp.ll

  Log Message:
  -----------
  ValueTracking: Correct undef handling for constant FP vectors (#92557)

Treat undef as unknown, and poison as ignorable.


  Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
      https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/test/X86/bb-with-two-tail-calls.s

  Log Message:
  -----------
  [BOLT] Fix preserved offset in fixDoubleJumps (#92485)


  Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
      https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)

Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.

Related to [77615](https://github.com/llvm/llvm-project/pull/77615).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: ad625a407622ba5817ef58e30357139a40cf929e
      https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

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

  Log Message:
  -----------
  [TableGen] Avoid std::string copy. NFC

Fix #92702


  Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
      https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
  Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M .github/workflows/llvm-bugs.yml

  Log Message:
  -----------
  Update llvm-bugs.yml (#77243)


  Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
      https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Option/OptTable.cpp
    M llvm/lib/ProfileData/InstrProfCorrelator.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp

  Log Message:
  -----------
  [llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)


  Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
      https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Clean up SortIncludesTest.cpp

Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.


  Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
      https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp

  Log Message:
  -----------
  [mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)


  Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
      https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
    M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
    M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp

  Log Message:
  -----------
  [CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)

* Given the code sequence
   ```
   bb:
     %vtable = load ptr, ptr %d, !prof !8
     %vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
     %1 = load ptr, ptr %vfn
     %call = tail call i32 %1(ptr %d), !prof !9
  ```
   The transformation looks like

   ```
   bb:
    %vtable = load ptr, ptr %d, align 8
    %vfn = getelementptr inbounds i8, ptr %vtable, i64 8  <-- Inst 1
    %func-addr = load ptr, ptr %vfn, align 8  <-- Inst 2
    # compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18

  if.true.direct_targ:                              ; preds = %bb
    %2 = tail call i32 @<direct-call>(ptr nonnull %d)
    br label %if.end.icp

  if.false.orig_indirect:                           ; preds = %bb
    %call = tail call i32 %func-addr(ptr nonnull %d)
    br label %if.end.icp

if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]

   ```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)

* The parent patch is https://github.com/llvm/llvm-project/pull/81181


  Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
      https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [clang] Use operator==(StringRef, StringRef) (NFC) (#92708)


  Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
      https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll

  Log Message:
  -----------
  [SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)


  Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
      https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/IR/Mangler.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/TextAPI/Utils.cpp

  Log Message:
  -----------
  [llvm] Use StringRef::contains (NFC) (#92710)


  Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
      https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/pr91418.cppm
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp

  Log Message:
  -----------
  [Serialization] Read the initializer for interesting static variables before consuming it (#92353)

Close https://github.com/llvm/llvm-project/issues/91418

Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.


  Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
      https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M bolt/lib/Profile/YAMLProfileReader.cpp
    A bolt/test/X86/yaml-non-simple.test

  Log Message:
  -----------
  [BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)

YAML profile for non-simple functions without CFG is
  1) useless for optimizations,
  2) can't be attached, similar to fdata profile,
  3) would be reported as invalid/stale even if the profile is valid.

Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.

Test Plan: added yaml-non-simple.test


  Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
      https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
  Author: Monad <yanwqmonad at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/cast_ptr.ll

  Log Message:
  -----------
  [InstCombine] Fold pointer adding in integer to arithmetic add (#91596)

Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
  %base = inttoptr i32 %x to ptr
  %ptr = getelementptr inbounds i8, ptr %base, i32 %y
  %r = ptrtoint ptr %ptr to i32
  ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
  %r = add i32 %x, %y
  ret i32 %r
}
```

The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.

### Motivation

It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is


https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873

``` llvm
  %conv.i188 = zext i32 %145 to i64
  %add.i189 = add i64 %conv.i188, %125
  %146 = load i16, ptr %num_aux_entries10.i, align 2
  %conv2.i191 = zext i16 %146 to i64
  %mul.i192 = shl nuw nsw i64 %conv2.i191, 3
  %add3.i193 = add i64 %add.i189, %mul.i192
  %147 = inttoptr i64 %add3.i193 to ptr
  %sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
  %sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
  %sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
  %add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
  %sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
  %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```

where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.


  Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
      https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp

  Log Message:
  -----------
  [AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)


  Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
      https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)

Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.


  Commit: 8de7890572296830b27b6e6db39b36810bc98c31
      https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)

The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.

[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195


  Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
      https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] Remove unused ASTWriter::getTypeID

As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.


  Commit: b6e102e08cd35543175459494211a3a15f793302
      https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll

  Log Message:
  -----------
  [SCEV] Don't use non-deterministic constant folding for trip counts (#90942)

When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.

Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.

Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.


  Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
      https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    R llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)

Reverts llvm/llvm-project#88024

Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)


  Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
      https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/ParallelCG.cpp
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [llvm] Use SmallString::str (NFC) (#92712)


  Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
      https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp

  Log Message:
  -----------
  [AMDGPU] Only set Info.memVT when not later overridden (#92670)

For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).


  Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
      https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-19 (Sun, 19 May 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
    M llvm/tools/llvm-mc/llvm-mc.cpp
    M llvm/tools/llvm-ml/llvm-ml.cpp

  Log Message:
  -----------
  [MC] Make UseAssemblerInfoForParsing mostly true

Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).

`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.

I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.

```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
  ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc     # succeeded

% clang -c b.cc     # succeeded with this patch
% clang -S b.cc     # still failed
<inline asm>:4:5: error: expected absolute expression
    4 | .if . -_start == 1
      |     ^
1 error generated.
```

However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.

Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841

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


  Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
      https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
    M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
    M llvm/test/CodeGen/Mips/msa/inline-asm.ll

  Log Message:
  -----------
  MIPS: Support '%w' token in inline asm template for MSA (#91920)

MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
   double a, b, c;
   asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));

GCC has support it for quite long time.


  Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
      https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/test/Driver/mips-as.c
    M clang/test/Driver/mips-features.c

  Log Message:
  -----------
  Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)

MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
   clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.


  Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
      https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)

FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.


  Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
      https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/test/ELF/mips-eh_frame-pic.s

  Log Message:
  -----------
  [ELF] Support high address DW_EH_sdata4 for ELFCLASS32

When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.

In LLVM, this appears a MIPS-specific issue.
Fix #88852

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


  Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
      https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/pr92233.ll

  Log Message:
  -----------
  [PowerPC]perform bitcast lowering only at 64 bit

Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.

Fixes #92233


  Commit: a027bea438e285380450f5b380be072f44ee0312
      https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll

  Log Message:
  -----------
  [LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)


  Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
      https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/SemaCXX/type-traits.cpp

  Log Message:
  -----------
  [Clang] Fix __is_array returning true for zero-sized arrays (#86652)

Fixes #54705


  Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
      https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/OpenCLBuiltins.td

  Log Message:
  -----------
  [OpenCL] Add cl_khr_kernel_clock builtins (#91950)


  Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
      https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/objc_external_category.m

  Log Message:
  -----------
  [clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)

rdar://128259890


  Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
      https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
  Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll

  Log Message:
  -----------
  [RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)

With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)


  Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
      https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVNSink.cpp
    A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll

  Log Message:
  -----------
  [DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)

This PR fixes issue #77415 and is revised from PR #77419 .

PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.

```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# |          ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# |        ^
# | <stdin>:25:2: note: possible intended match here
# |  %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```

According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.

So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.


  Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
      https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Add PreTest for optimizing `MOV` to `ORR`


  Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
      https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
    A clang/test/Driver/ps4-visibility.cl
    A clang/test/Driver/ps5-visibility.cl

  Log Message:
  -----------
  [Driver][PS5] Set visibility option defaults (#92091)

Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).


  Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
      https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)

This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.

When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.

For example:
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = MOVKXi $x8, 49370, 32
  renamable $x8 = MOVKXi $x8, 320, 48
becomes
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = ORRXrs $x8, $x8, 32


  Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
      https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  [Coverage] Rework !SystemHeadersCoverage (#91446)

- Introduce `LeafExprSet`,
  - Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.

Fixes #78920


  Commit: 2217d1706a76d3f298899f824354ca9d96c45813
      https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py

  Log Message:
  -----------
  [lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)

This patch fixes #92574. It is a replacement for #92575.


  Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
      https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGenCXX/atomicinit.cpp
    M clang/test/CodeGenCXX/auto-var-init.cpp
    M clang/test/Profile/c-unreachable-after-switch.c
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Other/constant-fold-gep.ll
    M llvm/test/Other/optimize-inrange-gep.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
    M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
    M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
    M llvm/test/Transforms/IndVarSimplify/D108043.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
    M llvm/test/Transforms/IndVarSimplify/lftr.ll
    M llvm/test/Transforms/InstCombine/addrspacecast.ll
    M llvm/test/Transforms/InstCombine/align-addr.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
    M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
    M llvm/test/Transforms/InstCombine/fortify-folding.ll
    M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memchr-2.ll
    M llvm/test/Transforms/InstCombine/memchr-4.ll
    M llvm/test/Transforms/InstCombine/memchr-6.ll
    M llvm/test/Transforms/InstCombine/memchr-7.ll
    M llvm/test/Transforms/InstCombine/memchr-8.ll
    M llvm/test/Transforms/InstCombine/memchr-9.ll
    M llvm/test/Transforms/InstCombine/memchr.ll
    M llvm/test/Transforms/InstCombine/memcmp-8.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/memrchr-3.ll
    M llvm/test/Transforms/InstCombine/memrchr-4.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/objsize.ll
    M llvm/test/Transforms/InstCombine/pr25342.ll
    M llvm/test/Transforms/InstCombine/pr33453.ll
    M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/pr83947.ll
    M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
    M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
    M llvm/test/Transforms/InstCombine/snprintf-2.ll
    M llvm/test/Transforms/InstCombine/snprintf-3.ll
    M llvm/test/Transforms/InstCombine/snprintf-4.ll
    M llvm/test/Transforms/InstCombine/stpcpy-1.ll
    M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
    M llvm/test/Transforms/InstCombine/stpncpy-1.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int-4.ll
    M llvm/test/Transforms/InstCombine/str-int-5.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/InstCombine/strchr-1.ll
    M llvm/test/Transforms/InstCombine/strchr-3.ll
    M llvm/test/Transforms/InstCombine/strcmp-4.ll
    M llvm/test/Transforms/InstCombine/strlcpy-1.ll
    M llvm/test/Transforms/InstCombine/strlen-1.ll
    M llvm/test/Transforms/InstCombine/strlen-6.ll
    M llvm/test/Transforms/InstCombine/strpbrk-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-1.ll
    M llvm/test/Transforms/InstCombine/strrchr-3.ll
    M llvm/test/Transforms/InstCombine/strstr-1.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/wcslen-1.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
    M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
    M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
    M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
    M llvm/test/Transforms/NewGVN/loadforward.ll
    M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
    M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
    M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/SCCP/apint-bigint2.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll

  Log Message:
  -----------
  [ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)

This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.

I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.

This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699


  Commit: 21419071e197ca2f813a983c319a2213844dc72d
      https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll

  Log Message:
  -----------
  InstSimplify: increase shufflevector test coverage (#92407)

Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.


  Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
      https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)

This means that this pass will also run on hlfir intrinsics which are
not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).


  Commit: 1ef081b05c562936fc025dde39b444066d9d470f
      https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  movimm-expand-ldst.mir (d3d6565c2453) requires asserts


  Commit: 9f449c34278191193f2f2cbc96c333548ad20238
      https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)

already.


  Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
      https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)

This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:

- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.

Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.


  Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
      https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir

  Log Message:
  -----------
  [mlir][irdl] Fix missing verifier in irdl.parametric (#92700)

The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.


  Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
      https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll

  Log Message:
  -----------
  [VPlan] Add commutative binary OR matcher, use in transform. (#92539)

Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.

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


  Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
      https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [CloneFunction] Remove check that is no longer necessary (#92577)

We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.


  Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
      https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)

According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.

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


  Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
      https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll

  Log Message:
  -----------
  [LAA] Add tests with invariant accesses using vector types.

Extra tests for https://github.com/llvm/llvm-project/pull/92307


  Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
      https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp

  Log Message:
  -----------
  [clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)

clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.

We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.


  Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
      https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] HasOneUse builtin predicate on PatFrags (#91578)

This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.


  Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
      https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
  Author: Andrew Ng <andrew.ng at sony.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp

  Log Message:
  -----------
  [clang] Make PS template DLL attribute propagation the same as MSVC (#92549)

For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.


  Commit: c2f92a33464bd9b76007ad5817952000add0033e
      https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll

  Log Message:
  -----------
  [DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)

Fixes #92537


  Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
      https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [clang] Use SmallString::str (NFC) (#92717)


  Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
      https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)

Fix linkage of `build_name`; it is not supposed to have external
linkage.


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

  Changed paths:
    R offload/plugins-nextgen/exports

  Log Message:
  -----------
  [Offload] Remove unused version script for plugins

Summary:
The plugins are no longer linked to a share library, making this unused
and useless.


  Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
      https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  [DivRemPairs] Pre-commit tests for PR #92627 (#92628)

The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.


  Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
      https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll

  Log Message:
  -----------
  [DivRemPairs] Do not freeze poisons that can't be undef (#92627)

Per comments in DivRemPairs, the rewrite from
```llvm
    %div = div %X, %Y
    %rem = rem %X, %Y
```
to
```llvm
    %div = div %X, %Y
    %.mul = mul %div, %Y
    %rem = sub %X, %mul
```
is unsound when %X or %Y are undef.

However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.

Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j

A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.

Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.


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

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)

The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test

Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`

**Original Commit Message:**

The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.

* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.

* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.


  Commit: 3efaf9caa56393597839b796d34f92459c711605
      https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)

Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
  void f();
};

constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.

This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.


  Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
      https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix CMake dependency in CUF/Attributes (#92751)

flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.

Fixes #92635


  Commit: 9def85f99aba66fb5a266d2abf60c3802ff13c6a
      https://github.com/llvm/llvm-project/commit/9def85f99aba66fb5a266d2abf60c3802ff13c6a
  Author: inglorion <inglorion at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/utils/revert_checker.py

  Log Message:
  -----------
  [revert_checker] replace Phabricator URIs with GitHub URIs (#92102)

LLVM is now using GitHub. This change makes revert_checker.py -u
generate commit links that go to GitHub, instead of the old Phabricator
URIs.


  Commit: 586ecd75606e70a8d16cb1717809acce652ffe7f
      https://github.com/llvm/llvm-project/commit/586ecd75606e70a8d16cb1717809acce652ffe7f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Relax vector restriction for rootn libcall folds (#92594)

We could try harder for nonsplat vectors but probably not worth the
effort.


  Commit: 0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
      https://github.com/llvm/llvm-project/commit/0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp

  Log Message:
  -----------
  [NFC][amdgpuarch] Correct file names in file header comments (#92294)


  Commit: 097e96d0d1ad9cceb461bb3487af0a2ec42176e4
      https://github.com/llvm/llvm-project/commit/097e96d0d1ad9cceb461bb3487af0a2ec42176e4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll

  Log Message:
  -----------
  [LegalizeTypes] Use VP_AND for zext_inreg in PromoteIntRes_VPFunnelShift.

I may eventually add getVPZeroExtendInReg to SelectionDAG if there are
other cases, but for now just hardcode it.


  Commit: 9964c2c33d750d60b512d518899fa2147576f3f3
      https://github.com/llvm/llvm-project/commit/9964c2c33d750d60b512d518899fa2147576f3f3
  Author: Pradeep Kumar <pradeepisro49 at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir

  Log Message:
  -----------
  [MILR][NVVM] Fix missing semicolon in nvvm.barrier.arrive Op (#92769)

This commit fixes the missing semicolon in the PTX codegen path where
barrier id is provided for the NVVM BarrierArriveOp. Also, updated
nvvm-to-llvm.mlir lit test to reflect the same

Co-authored-by: pradeepku <pradeepku at nvidia.com>


  Commit: 4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
      https://github.com/llvm/llvm-project/commit/4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp

  Log Message:
  -----------
  [clang][NFC] Rename `SemaRISCVVectorLookup.cpp` into `SemaRISCV.cpp`

In preparation for #92682.


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

  Changed paths:
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang][NFC] Update the list of Core issues


  Commit: 0047df9af4a106560197850438d6543dcb87d839
      https://github.com/llvm/llvm-project/commit/0047df9af4a106560197850438d6543dcb87d839
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll

  Log Message:
  -----------
  [SPIR-V] reqd_work_group_size and work_group_size_hint metadata are correctly converted to the LocalSize and LocalSizeHint execution mode (#92552)

The goal of this PR is to ensure that reqd_work_group_size and
work_group_size_hint metadata are correctly converted to the LocalSize
and LocalSizeHint execution mode.

reqd_work_group_size and work_group_size_hint require 3 operands (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Execution_Mode),
if metadata contains less operands, just add a default value (1).


  Commit: 50be0b1b967eeb479989ed26c13d17a53845dd1e
      https://github.com/llvm/llvm-project/commit/50be0b1b967eeb479989ed26c13d17a53845dd1e
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll

  Log Message:
  -----------
  [SPIR-V] Ensure that internal intrinsic functions "ptrcast" for PHI's operand are inserted at the correct positions (#92536)

The goal of the PR is to ensure that newly inserted `ptrcast` internal
intrinsic functions are inserted at the correct positions, and don't
break rules of instruction domination and PHI nodes grouping at top of
basic block.


  Commit: 1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
      https://github.com/llvm/llvm-project/commit/1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

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

  Log Message:
  -----------
  [mlir] [openmp] fix bazel build (#92790)

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3575d23ca866e0510b322e4520d6cbcebee18c22
      https://github.com/llvm/llvm-project/commit/3575d23ca866e0510b322e4520d6cbcebee18c22
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp

  Log Message:
  -----------
  [clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)

This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.


  Commit: 285f1392da07f6b0bcaa7d106c00b1e9fda25333
      https://github.com/llvm/llvm-project/commit/285f1392da07f6b0bcaa7d106c00b1e9fda25333
  Author: David Green <david.green at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine] Some more tests for different cmp's and fp consts. NFC


  Commit: a0e3e76385feca289f03576b17d5e9cc7783c9b4
      https://github.com/llvm/llvm-project/commit/a0e3e76385feca289f03576b17d5e9cc7783c9b4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h

  Log Message:
  -----------
  [mlir] Remove redundant include in Passes.h header (NFC)


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

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 4f5bc4bb55a8


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (#92318)

According to [expr.prim.id.general] p2:
> If an _id-expression_ `E` denotes a non-static non-type member of some
class `C` at a point where the current class is `X` and
> - `E` is potentially evaluated or `C` is `X` or a base class of `X`,
and
> - `E` is not the _id-expression_ of a class member access expression,
and
> - if `E` is a _qualified-id_, `E` is not the un-parenthesized operand
of the unary `&` operator,
>
> the _id-expression_ is transformed into a class member access
expression using `(*this)` as the object expression.

Consider the following:
```
struct A
{
    void f0();

    template<typename T>
    void f1();
};

template<typename T>
struct B : T
{
    auto g0() -> decltype(T::f0()); // ok

    auto g1() -> decltype(T::template f1<int>()); // error: call to non-static member function without an object argument
};

template struct B<A>;
```

Clang incorrectly rejects the call to `f1` in the _trailing-return-type_
of `g1`. Furthermore, the following snippet results in a crash during
codegen:
```
struct A
{
    void f();
};

template<typename T>
struct B : T
{
    template<typename U>
    static void g();
    
    template<>
    void g<int>()
    {
        return T::f(); // crash here
    }
};

template struct B<A>;
```
This happens because we unconditionally build a
`CXXDependentScopeMemberExpr` (with an implicit object expression) for
`T::f` when parsing the template definition, even though we don't know
whether `g` is an implicit object member function yet.

This patch fixes these issues by instead building
`DependentScopeDeclRefExpr`s for such expressions, and only transforming
them into implicit class member access expressions during instantiation.
Since we implemented the MS "unqualified lookup into dependent bases"
extension by building an implicit class member access (and relying on
the first component name of the _nested-name-specifier_ to be looked up
in the context of the object expression during instantiation), we
instead pre-append a fake _nested-name-specifier_ that refers to the
injected-class-name of the enclosing class. This patch also refactors
`Sema::BuildQualifiedDeclarationNameExpr` and
`Sema::BuildQualifiedTemplateIdExpr`, streamlining their implementation
and removing any redundant checks.


  Commit: c6486633d2656faecea8d7eb426bb22c52ddfd14
      https://github.com/llvm/llvm-project/commit/c6486633d2656faecea8d7eb426bb22c52ddfd14
  Author: Yingchi Long <i at lyc.dev>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/test/CodeGen/BPF/xadd.ll

  Log Message:
  -----------
  [BPF] report `Invalid usage of the XADD return value"` elegantly (#92742)

Previously `report_fatal_error` is used for reporting something goes
wrong in the backend, but this is confusing because `report_fatal_error`
basically means there are something unexpected & crashed in the backend.

So, turn this "crash" into an elegant error reporting. After this patch,
clang can diagnose it:

    bpf-crash.c:4:30: error: Invalid usage of the XADD return value
4 | u32 next_event_id() { return __sync_fetch_and_add(&GLOBAL_EVENT_ID,
1); }
        |                              ^
    1 error generated.


  Commit: 549fdda3e1e4e01acd6a11f3808d6500b4ded36c
      https://github.com/llvm/llvm-project/commit/549fdda3e1e4e01acd6a11f3808d6500b4ded36c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td

  Log Message:
  -----------
  [AMDGPU] Refactor int_amdgcn_mov_dpp8 patterns. NFC. (#92764)

I still don't see why we need to select to different Real instructions
on different targets, but at least this is less verbose.


  Commit: 3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
      https://github.com/llvm/llvm-project/commit/3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/CoverageMapping/mcdc-system-headers.cpp

  Log Message:
  -----------
  Fix test for non-Itanium ABIs.

This amends 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed to hopefully get
the test passing for Windows again.


  Commit: 245491a9f384e4c53421196533c2a2b693efaf8d
      https://github.com/llvm/llvm-project/commit/245491a9f384e4c53421196533c2a2b693efaf8d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [MC] Disable MCAssembler based constant folding for DwarfDebug

Related to the poor performance of MCAssembler based constant folding
(see `bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const` and
`AttemptToFoldSymbolOffsetDifference`),
commit 9500a5d02e23f9b43294e5f662ac099f8989c0e4 (#91082) caused -O0 -g
compile time regression.

9500a5d02e23f9b43294e5f662ac099f8989c0e4 special cased .eh_frame FDE
emitting. This patch adds a special case to .debug_* emitting as well to
mitigate the rest regression.

The MCAssembler based constant folding strategy should be improved to
remove the two special cases.


  Commit: bce3680f45b57f6ce745cb7da659f2ece745a1d1
      https://github.com/llvm/llvm-project/commit/bce3680f45b57f6ce745cb7da659f2ece745a1d1
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] Move logic to compute start and end of a pointer to helper (NFC).

This allows use at other places, in particular an updated version of
https://github.com/llvm/llvm-project/pull/92307.


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

  Changed paths:
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose current instantiation used as an incomplete base class (#92597)

Consider the following:
```
template<typename T>
struct A
{
    struct B : A { };
};
```
According to [class.derived.general] p2:
> [...] A _class-or-decltype_ shall denote a (possibly cv-qualified)
class type that is not an incompletely defined class; any cv-qualifiers
are ignored. [...]

Although GCC and EDG rejects this, Clang accepts it. This is incorrect,
as `A` is incomplete within its own definition (outside of a
complete-class context). This patch correctly diagnoses instances where
the current instantiation is used as a base class before it is complete.

Conversely, Clang erroneously rejects the following:
```
template<typename T>
struct A 
{
    struct B;

    struct C : B { };

    struct B : C { }; // error: circular inheritance between 'C' and 'A::B'
};
```
Though it may seem like no valid specialization of this template can be
instantiated, an explicit specialization of either member classes for an
implicit instantiated specialization of `A` would permit the definition
of the other member class to be instantiated, e.g.:
```
template<>
struct A<int>::B { };

A<int>::C c; // ok
```
So this patch also does away with this error. This means that circular
inheritance is diagnosed during instantiation of the definition as a
consequence of requiring the base class type to be complete (matching
the behavior of GCC and EDG).


  Commit: a91d5c07f2357f10a5378bb3b0e439847f2b8e00
      https://github.com/llvm/llvm-project/commit/a91d5c07f2357f10a5378bb3b0e439847f2b8e00
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    R flang/test/Semantics/OpenMP/do02.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90

  Log Message:
  -----------
  [Flang][OpenMP] Disable all OpenMP semantics tests on Windows (#92739)

Removes two XFAILed tests, the other tests are marked UNSUPPORTED only
on windows.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp

  Log Message:
  -----------
  [Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (#92449)

Clang incorrectly accepts the following when using C++14 or later:
```
struct A {
  template<typename T>
  void f() const;

  template<>
  constexpr void f<int>();
};
```
Non-static member functions declared `constexpr` are only implicitly
`const` in C++11. This patch makes clang reject the explicit
specialization of `f` in language modes after C++11.


  Commit: 6430939baaa6222518d58d9192160312fca09327
      https://github.com/llvm/llvm-project/commit/6430939baaa6222518d58d9192160312fca09327
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/cmake/caches/HLSL.cmake

  Log Message:
  -----------
  [HLSL][CMake] Cache files don't have generator vars (#92793)

Doh! CMake cache scripts don't have generator variables set yet, so the
script can't depend on the generator variables. Instead I've added a
variable that a user can specify to enable the distribution settings.


  Commit: 1eb7f055d9ae5d14de8e4f75687dc2cf45511300
      https://github.com/llvm/llvm-project/commit/1eb7f055d9ae5d14de8e4f75687dc2cf45511300
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll

  Log Message:
  -----------
  CodeGen: Fix libcall names for exp10 on the various darwins (#92520)

It's really great that we have the same information duplicated in
TargetLibraryInfo and RuntimeLibcalls which both assume everything by
default.

Should fix issue reported after #92287


  Commit: e1c06c380ce01a4524df8061171e63cad010e4e6
      https://github.com/llvm/llvm-project/commit/e1c06c380ce01a4524df8061171e63cad010e4e6
  Author: Leon Clark <PeddleSpam at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll

  Log Message:
  -----------
  [AMDGPU] Fix error in #88512. (#92770)

Fixes error in GlobalISel CTLZ lowering caused by
[#88512](https://github.com/llvm/llvm-project/pull/88512).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>


  Commit: fdd245ad856f85019bb408ed5c14984823e7077f
      https://github.com/llvm/llvm-project/commit/fdd245ad856f85019bb408ed5c14984823e7077f
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [MLIR][Vector] Implement transferXXPermutationLowering as MaskableOpRewritePattern (#91987)

* Implements `TransferWritePermutationLowering`,
`TransferReadPermutationLowering` and
`TransferWriteNonPermutationLowering` as a MaskableOpRewritePattern.
Allowing to exit gracefully when such use of a xferOp is inside a
`vector::MaskOp`
* Updates MaskableOpRewritePattern to handle MemRefs and buffer
semantics providing empty `Value()` as a return value for
`matchAndRewriteMaskableOp` now represents successful rewriting without
value to replace the original op.

Split of https://github.com/llvm/llvm-project/pull/90835


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)

The current definition is a bit fuzzy... replace it with something
that's somewhat rigorous.

For functions, the definition is pretty narrow; as a consequence of
language-level non-determinism, it's impossible to tell whether two
functions are equivalent, so just embrace the non-determinism. For
constants, we're pretty strict; otherwise you end up concluding
constants can actually change value, which is bad for alias analysis. I
think C++ standard don't allow any non-deterministic operations in
constants, so we should be okay there? Poison is per-byte to allow some
ambiguity in the way padding is defined.


  Commit: 0da1a6ceb595fa91e3af20bf7f304ba275526f3c
      https://github.com/llvm/llvm-project/commit/0da1a6ceb595fa91e3af20bf7f304ba275526f3c
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td

  Log Message:
  -----------
  [mlir][polynomial] split polynomial types tablegen (#92805)

Similar to https://github.com/llvm/llvm-project/pull/92613, but for
types.

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>


  Commit: 3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
      https://github.com/llvm/llvm-project/commit/3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll

  Log Message:
  -----------
  AMDGPU: Don't fold rootn(x, 1) to input for strictfp functions (#92595)

We need to insert a constrained canonicalize.

Depends #92594


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

  Changed paths:
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for `isKnowNonZero` of `X op (X != 0)`; NFC


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Recognize `X op (X != 0)` as non-zero

The ops supported are: `add`, `sub`, `xor`, `or`, `umax`, `uadd.sat`

Proofs: https://alive2.llvm.org/ce/z/8ZMSRg

The `add` case actually comes up in SPECInt, the rest are here mostly
for completeness.

Closes #88579


  Commit: 250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
      https://github.com/llvm/llvm-project/commit/250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libcxx/src/chrono.cpp

  Log Message:
  -----------
  [libcxx] Add cast to avoid pointer casting warning on Windows (#92738)

This avoids the following build time warning, when building with the
latest nightly Clang:

warning: cast from 'FARPROC' (aka 'int (*)() __attribute__((stdcall))')
to
'GetSystemTimeAsFileTimePtr' (aka 'void (*)(_FILETIME *)
__attribute__((stdcall))')
converts to incompatible function type [-Wcast-function-type-mismatch]

This warning seems to have appeared since Clang commit
999d4f840777bf8de26d45947192aa0728edc0fb, which restructured.

The GetProcAddress function returns a `FARPROC` type, which is `int
(WINAPI *)()`. Directly casting this to another function pointer type
triggers this warning, but casting to a `void*` inbetween avoids this
issue. (On Unix-like platforms, dlsym returns a `void*`, which doesn't
exhibit this casting problem.)


  Commit: 1f07bfb92c2a62731a5ae3ec2d135e3869634c01
      https://github.com/llvm/llvm-project/commit/1f07bfb92c2a62731a5ae3ec2d135e3869634c01
  Author: Spenser Bauman <sbauman at mathworks.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Implement folding logic for size 0 tensor and memref ops (#90814)

Implement folding and rewrite logic to eliminate no-op tensor and memref
operations. This handles two specific cases:

1. tensor.insert_slice operations where the size of the inserted slice
is known to be 0.
2. memref.copy operations where either the source or target memrefs are
known to be emtpy.

Co-authored-by: Spenser Bauman <sabauma at fastmail>


  Commit: 753f7e814514ddb2bb2fd837549d5958cf0ef343
      https://github.com/llvm/llvm-project/commit/753f7e814514ddb2bb2fd837549d5958cf0ef343
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/lib/AST/ASTContext.cpp
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp

  Log Message:
  -----------
  [OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (#92612)

In building AddrSpaceQualType
(https://github.com/llvm/llvm-project/pull/90048), there is a bug in
removeAddrSpaceQualType() for arrays. Arrays are weird because
qualifiers on the element type also count as qualifiers on the type, so
getSingleStepDesugaredType() can't remove the sugar on arrays. This
results in an infinite loop in removeAddrSpaceQualType. To fix the
issue, we use ASTContext::getUnqualifiedArrayType instead, which strips
the qualifier off the element type, then reconstruct the array type.


  Commit: 51ba7a816ccdadf7f943fb30a1933ded72a4c178
      https://github.com/llvm/llvm-project/commit/51ba7a816ccdadf7f943fb30a1933ded72a4c178
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/src/setjmp/x86_64/CMakeLists.txt

  Log Message:
  -----------
  [libc][setjmp] disable -ftrivial-auto-var-init=pattern for now (#92796)

This would consistently fail for me locally, to the point where I could not run
ninja libc-unit-tests without ninja libc_setjmp_unittests failing.

Turns out that since I enabled -ftrivial-auto-var-init=pattern in
commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern (#78776)")
this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
so we wound up clobbering these registers and instead backing up
0xAAAAAAAAAAAAAAAA rather than the actual register value.

The implemenation should be rewritten entirely. I've proposed three different
ways to do so (linked below). Until we decide which way to go, at least disable
this hardening feature for this function for now so that the unit tests go back
to green.

Link: #87837
Link: #88054
Link: #88157
Fixes: #91164


  Commit: dce197ac9219319e5ea76a110100e87e225684d8
      https://github.com/llvm/llvm-project/commit/dce197ac9219319e5ea76a110100e87e225684d8
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h

  Log Message:
  -----------
  [libc][errno] remove mips+sparc specific errnos (#92798)

These are untested and unsupported platforms. The pattern used makes sense for
platform specific error numbers, but these are platforms we do not support.
Excise this code.

Link: #91150


  Commit: 7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
      https://github.com/llvm/llvm-project/commit/7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h

  Log Message:
  -----------
  [MCA] use std::function instead of function_ref when storing (#91039)

This patch changes uses of llvm::function_ref for std::function when
storing the callback inside of a class. The LLVM Programmer's manual
mentions that llvm::function_ref is not safe to store as it contains
pointers to external memory that are not guaranteed to exist in the
future when it is stored.

This causes issues when setting callbacks inside of a class that manages
MCA state. Passing a lambda directly to the set callback functions will
end up causing UB/segfaults when the lambda is called as some external
memory is now invalid. This is easy to work around (create a separate
std::function, pass that into the function setting the callback), but
isn't ideal.


  Commit: 33b7833891dcacf9e81e911ed59932fd55113fff
      https://github.com/llvm/llvm-project/commit/33b7833891dcacf9e81e911ed59932fd55113fff
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Add more specialize patterns (#91153)

Currently only linalg.copy is recognized when trying to specialize
linalg.generics back to named op. This diff enables recognition of more
generic to named op e.g. linalg.fill, elemwise unary/binary.


  Commit: 110f6a740b4f63f8eabefc24ad90e98357782949
      https://github.com/llvm/llvm-project/commit/110f6a740b4f63f8eabefc24ad90e98357782949
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Add getVPZeroExtendInReg. NFC (#92792)

Use it for 2 places in LegalizeIntegerTypes that created a VP_AND.


  Commit: 8018e4c569d34b5913a4cc78f08f25f778dec866
      https://github.com/llvm/llvm-project/commit/8018e4c569d34b5913a4cc78f08f25f778dec866
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp

  Log Message:
  -----------
  [LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. NFC (#92816)


  Commit: e8dc8d614ada201e250fbf075241b2b6180943b5
      https://github.com/llvm/llvm-project/commit/e8dc8d614ada201e250fbf075241b2b6180943b5
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c

  Log Message:
  -----------
  Add new Python API `SBCommandInterpreter::GetTranscript()` (#90703)

# Motivation

Currently, the user can already get the "transcript" (for "what is the
transcript", see `CommandInterpreter::SaveTranscript`). However, the
only way to obtain the transcript data as a user is to first destroy the
debugger, then read the save directory. Note that destroy-callbacks
cannot be used, because 1\ transcript data is private to the command
interpreter (see `CommandInterpreter.h`), and 2\ the writing of the
transcript is *after* the invocation of destory-callbacks (see
`Debugger::Destroy`).

So basically, there is no way to obtain the transcript:
* during the lifetime of a debugger (including the destroy-callbacks,
which often performs logging tasks, where the transcript can be useful)
* without relying on external storage

In theory, there are other ways for user to obtain transcript data
during a debugger's life cycle:
* Use Python API and intercept commands and results.
* Use CLI and record console input/output.

However, such ways rely on the client's setup and are not supported
natively by LLDB.


# Proposal

Add a new Python API `SBCommandInterpreter::GetTranscript()`.

Goals:
* It can be called at any time during the debugger's life cycle,
including in destroy-callbacks.
* It returns data in-memory.

Structured data:
* To make data processing easier, the return type is `SBStructuredData`.
See comments in code for how the data is organized.
* In the future, `SaveTranscript` can be updated to write different
formats using such data (e.g. JSON). This is probably accompanied by a
new setting (e.g. `interpreter.save-session-format`).

# Alternatives

The return type can also be `std::vector<std::pair<std::string,
SBCommandReturnObject>>`. This will make implementation easier, without
having to translate it to `SBStructuredData`. On the other hand,
`SBStructuredData` can convert to JSON easily, so it's more convenient
for user to process.

# Privacy

Both user commands and output/error in the transcript can contain
privacy data. However, as mentioned, the transcript is already available
to the user. The addition of the new API doesn't increase the level of
risk. In fact, it _lowers_ the risk of privacy data being leaked later
on, by avoiding writing such data to external storage.

Once the user (or their code) gets the transcript, it will be their
responsibility to make sure that any required privacy policies are
guaranteed.

# Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
```

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/session/save/TestSessionSave.py
```

---------

Co-authored-by: Roy Shi <royshi at meta.com>
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 9f62775038b9135709a2c3c7ea97c944278967a2
      https://github.com/llvm/llvm-project/commit/9f62775038b9135709a2c3c7ea97c944278967a2
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py

  Log Message:
  -----------
  SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (#89868)

# Motivation

Individual callers of `SBDebugger::SetDestroyCallback()` might think
that they have registered their callback and expect it to be called when
the debugger is destroyed. In reality, only the last caller survives,
and all previous callers are forgotten, which might be a surprise to
them. Worse, if this is called in a race condition, which callback
survives is less predictable, which may case confusing behavior
elsewhere.

# This PR

Allows multiple destroy callbacks to be registered and all called when
the debugger is destroyed.

**EDIT**: Adds two new APIs: `AddDestroyCallback()` and
`ClearDestroyCallback()`. `SetDestroyCallback()` will first clear then
add the given callback. Tests are added for the new APIs.

## Tests

```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
```

## (out-dated, see comments below) Semantic change to
`SetDestroyCallback()`

~~Currently, the method overwrites the old callback with the new one.
With this PR, it will NOT overwrite. Instead, it will hold on to both.
Both callbacks get called during destroy.~~

~~**Risk**: Although the documentation of `SetDestroyCallback()` (see
[C++](https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#afa1649d9453a376b5c95888b5a0cb4ec)
and
[python](https://lldb.llvm.org/python_api/lldb.SBDebugger.html#lldb.SBDebugger.SetDestroyCallback))
doesn't really specify the behavior, there is a risk: if existing call
sites rely on the "overwrite" behavior, they will be surprised because
now the old callback will get called. But as the above said, the current
behavior of "overwrite" itself might be unintended, so I don't
anticipate users to rely on this behavior. In short, this risk might be
less of a problem if we correct it sooner rather than later (which is
what this PR is trying to do).~~

## (out-dated, see comments below) Implementation

~~The implementation holds a `std::vector<std::pair<callback, baton>>`.
When `SetDestroyCallback()` is called, callbacks and batons are appended
to the `std::vector`. When destroy event happen, the `(callback, baton)`
pairs are invoked FIFO. Finally, the `std::vector` is cleared.~~

# (out-dated, see comments below) Alternatives considered

~~Instead of changing `SetDestroyCallback()`, a new method
`AddDestroyCallback()` can be added, which use the same
`std::vector<std::pair<>>` implementation. Together with
`ClearDestroyCallback()` (see below), they will replace and deprecate
`SetDestroyCallback()`. Meanwhile, in order to be backward compatible,
`SetDestroyCallback()` need to be updated to clear the `std::vector` and
then add the new callback. Pros: The end state is semantically more
correct. Cons: More steps to take; potentially maintaining an
"incorrect" behavior (of "overwrite").~~

~~A new method `ClearDestroyCallback()` can be added. Might be
unnecessary at this point, because workflows which need to set then
clear callbacks may exist but shouldn't be too common at least for now.
Such method can be added later when needed.~~

~~The `std::vector` may bring slight performance drawback if its
implementation doesn't handle small size efficiently. However, even if
that's the case, this path should be very cold (only used during init
and destroy). Such performance drawback should be negligible.~~

~~A different implementation was also considered. Instead of using
`std::vector`, the current `m_destroy_callback` field can be kept
unchanged. When `SetDestroyCallback()` is called, a lambda function can
be stored into `m_destroy_callback`. This lambda function will first
call the old callback, then the new one. This way, `std::vector` is
avoided. However, this implementation is more complex, thus less
readable, with not much perf to gain.~~

---------

Co-authored-by: Roy Shi <royshi at meta.com>


  Commit: 00d7e67f8352308288db483f03294460a38a3773
      https://github.com/llvm/llvm-project/commit/00d7e67f8352308288db483f03294460a38a3773
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-05-20 (Mon, 20 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 address space on global clock

Summary:
I did this wrong in the first version, because `extern "C"` doesn't
imply it's extern when used directly.


  Commit: 93540455669ab9ad55bd7e24a42a305194a109af
      https://github.com/llvm/llvm-project/commit/93540455669ab9ad55bd7e24a42a305194a109af
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp

  Log Message:
  -----------
  [NFC][flang][runtime] Avoid recursion in EditCharacterOutput and EditLogicalOutput. (#92806)


  Commit: bccac125e196bd5afeeb2fef93cf501f4b9f7f83
      https://github.com/llvm/llvm-project/commit/bccac125e196bd5afeeb2fef93cf501f4b9f7f83
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt

  Log Message:
  -----------
  [flang][runtime] Added io-api-minimal.cpp to the offload build. (#92807)


  Commit: 888e087b09dbd658a03f27c475ada50d37323987
      https://github.com/llvm/llvm-project/commit/888e087b09dbd658a03f27c475ada50d37323987
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.h

  Log Message:
  -----------
  [RISCV] Remove unused function declaration. NFC


  Commit: bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
      https://github.com/llvm/llvm-project/commit/bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/runtime/X86/hot-end-symbol.s

  Log Message:
  -----------
  [BOLT] Ignore special symbols as function aliases in updateELFSymbolTable

Exempt special symbols (hot text/data and _end symbol) from normal
handling. We only need to set their value and make them absolute.

If these symbols are handled as normal symbols and if they alias
functions we may create non-sensical symbols, e.g. __hot_start.cold.

Test Plan: updated hot-end-symbol.s

Reviewers: maksfb, rafaelauler, ayermolo, dcci

Reviewed By: dcci, maksfb

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


  Commit: 7064e4b1633811da984261fdc585ba4438efe827
      https://github.com/llvm/llvm-project/commit/7064e4b1633811da984261fdc585ba4438efe827
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] Split and rename WriteVISlideX into WriteVSlideUpX and WriteVSlideDownX (#92605)

Some processors might have different latencies and/or rthroughput for
slide up and down operations on integer vectors, yet there is only a
single SchedWrite for both of them at this moment. This patch splits
this SchedWrite into two as well as drop the "I" before "Slide" since
such information is redundant. We also do the same renaming on
`WriteVISlideI`.
Note that we only split the X variant (i.e. using a register value for
index offset) for now.

This is effectively NFC.


  Commit: 3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
      https://github.com/llvm/llvm-project/commit/3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp

  Log Message:
  -----------
  [llvm-profdata] Fix some style and clang-tidy issues

Fix #92761
Fix #92762


  Commit: 45968da95d8959a7c4ca7d56f501bb12de413fcc
      https://github.com/llvm/llvm-project/commit/45968da95d8959a7c4ca7d56f501bb12de413fcc
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll

  Log Message:
  -----------
  [AMDGPU] Fix an issue that wrong index is used in calculation of byte provider when the op is extract_vector_elt (#91697)

Fixes: SWDEV-460097


  Commit: d1aca0ae2e0c52298966e35e4312e21045d4c6e4
      https://github.com/llvm/llvm-project/commit/d1aca0ae2e0c52298966e35e4312e21045d4c6e4
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/CodeGenCXX/wasm-eh.cpp

  Log Message:
  -----------
  [WebAssembly] Define __WASM_EXCEPTIONS__ for -fwasm-exceptions (#92604)

When using other specific exception options in Clang, such as
`-fseh-exceptions` or `-fsjlj-exceptions`, Clang defines a corresponding
preprocessor such as `-D__USING_SJLJ_EXCEPTIONS__`. Emscripten does that
in our own build system:

https://github.com/emscripten-core/emscripten/blob/7dcd7f40749918e141dc33397d2f4311dd80637a/tools/system_libs.py#L1577-L1578

But to make Wasm EH usable in non-Emscripten toolchain, this has to be
defined somewhere else. This PR makes Wasm EH consistent with other
exception scheme by letting it defined by Clang depending on the
exception option.

We have been using `__USING_WASM_EXCEPTIONS__` in our current library
code, but this changes it to `__WASM_EXCEPTIONS__` for its conciseness,
and I will update other parts of LLVM as follow-ups. This does not break
anything currently working, because we have not been defining anything
in Clang so far.


  Commit: 8ce2045be0ce708af0bfce5dc14632fa15dc743a
      https://github.com/llvm/llvm-project/commit/8ce2045be0ce708af0bfce5dc14632fa15dc743a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang][Sema] Avoid pack expansion for expanded empty PackIndexingExprs (#92385)

We previously doubled the id-expression expansion, even when the pack
was expanded to empty. The previous condition for determining whether we
should expand couldn't distinguish between cases where 'the expansion
was previously postponed' and 'the expansion occurred but resulted in
emptiness.'

In the latter scenario, we crash because we have not been examining the
current lambda's parent local instantiation scope since
[D98068](https://reviews.llvm.org/D98068): Any Decls instantiated in the
parent scope are not visible to the generic lambda, and thus any attempt
of looking for instantiated Decls in the lambda is capped to the current
Lambda's LIS.

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


  Commit: 4cebe5a43ba83eab477358ef4da665b43463bb68
      https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/test/SemaTemplate/cwg2398.cpp

  Log Message:
  -----------
  [clang] NFC: add test for cwg2398 ambiguity issue


  Commit: 85e1124049cd8aa1e58c101e082100ba74df7e42
      https://github.com/llvm/llvm-project/commit/85e1124049cd8aa1e58c101e082100ba74df7e42
  Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.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-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.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-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)"

This reverts commit 2a97b507dc643b7ee3bc651b3f21b754cfba433c.

It has broken LLVM testsuite on various bots
https://lab.llvm.org/buildbot/#/builders/184/builds/12760
https://lab.llvm.org/buildbot/#/builders/197/builds/14376
https://lab.llvm.org/buildbot/#/builders/179/builds/10176


  Commit: 1486653dcfd706db5b634676af4734a915179da1
      https://github.com/llvm/llvm-project/commit/1486653dcfd706db5b634676af4734a915179da1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp

  Log Message:
  -----------
  [BOLT] Use StringRef::contains (NFC) (#92842)


  Commit: b2d7d72ff2408dcc27048e08d50ac719ff03a89e
      https://github.com/llvm/llvm-project/commit/b2d7d72ff2408dcc27048e08d50ac719ff03a89e
  Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/test/CodeGen/aarch64-varargs.c

  Log Message:
  -----------
  [AArch64] Use ptrmask for vaarg stack alignment (#92836)


  Commit: 560c2fd3d427a5e2dc2361abde1142f3fda40253
      https://github.com/llvm/llvm-project/commit/560c2fd3d427a5e2dc2361abde1142f3fda40253
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll

  Log Message:
  -----------
  NVPTX: fix test failures under ptxas-12.0.

(Because ptxas-12 no longer supports 32-bit.)

Fixes c5b11a710e01304908e3f320e40bc9da9f6a8de4 and 8da3a8f550d0b266411b2dc177dff8591ee86cb2.


  Commit: 1c58208d899285318c89e069268145c85ec33368
      https://github.com/llvm/llvm-project/commit/1c58208d899285318c89e069268145c85ec33368
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Remove redundnat llvm::, clang::, etc.


  Commit: 64aafd6908e3aa36c4504bc10f8d9fc819513f6c
      https://github.com/llvm/llvm-project/commit/64aafd6908e3aa36c4504bc10f8d9fc819513f6c
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenTypes.cpp

  Log Message:
  -----------
  [RISCV] Remove unneeded multiply in RISCV CodeGenTypes (#92644)

The NumVectors other than 1 is handled by the code above.


  Commit: 8be079cdddfd628d356d9ddb5ab397ea95fb1030
      https://github.com/llvm/llvm-project/commit/8be079cdddfd628d356d9ddb5ab397ea95fb1030
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Bump Zaamo and Zalrsc to version 1.0 (#91556)

The ratified information can be found here:
https://wiki.riscv.org/display/HOME/Ratified+Extensions


  Commit: b4492c910cc6a3593b429b0ca16a1c7970e8b879
      https://github.com/llvm/llvm-project/commit/b4492c910cc6a3593b429b0ca16a1c7970e8b879
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp

  Log Message:
  -----------
  [RISCV] Use an enum for demanded LMUL in RISCVInsertVSETVLI. NFC (#92513)

In needVSETVLI used by the forward insertion pass, we have some rules
where we can relax the demanded fields for slides and splats when VL=1.

However this only works if we don't increase LMUL to anything > M1
otherwise we would end up clobbering random registers.

Rather than check the VSETVLIInfo we're transitioning to, store this
information in DemandedFields and have isCompatible check it.

That way an upcoming patch can share these VL=1 rules with
RISCVCoalesceVSETVLI, which uses isCompatible and not needVSETVLI.


  Commit: c9dc52d424b7a264d4bcb29d7f56551304396d7f
      https://github.com/llvm/llvm-project/commit/c9dc52d424b7a264d4bcb29d7f56551304396d7f
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] add JSON option to pass X<label> arguments (#91770)


  Commit: 6658e1a3fdfebfc9d1805029ca0e4de643634927
      https://github.com/llvm/llvm-project/commit/6658e1a3fdfebfc9d1805029ca0e4de643634927
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    A flang/test/Semantics/OpenMP/masked.f90

  Log Message:
  -----------
  Adding parsing and semantic check support for omp masked (#91432)

omp masked directive in OpenMP 5.2 allows to specify code regions which
are expected to be executed by thread ids specified by the programmer.
Filter clause of the directive allows to specify the thread id. This
change adds the parsing support for the directive


  Commit: ac7c482ca581cdab11558b5a37ae5095a1638fd2
      https://github.com/llvm/llvm-project/commit/ac7c482ca581cdab11558b5a37ae5095a1638fd2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp

  Log Message:
  -----------
  [MemCpyOpt] Add extra debug output (NFC)


  Commit: 312c132467717461f3b00eccddbd615aa6aa483b
      https://github.com/llvm/llvm-project/commit/312c132467717461f3b00eccddbd615aa6aa483b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Adjust BUILD file for 33b7833891dcacf9e81e911ed59932fd55113fff


  Commit: e411c88b7223d87520af819fdc012c9dbb46e575
      https://github.com/llvm/llvm-project/commit/e411c88b7223d87520af819fdc012c9dbb46e575
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp

  Log Message:
  -----------
  Use StringRef::find_first_of(char), etc (NFC) (#92841)


  Commit: 66b76faffb211b3cb2d58e3ab9401e6396447de9
      https://github.com/llvm/llvm-project/commit/66b76faffb211b3cb2d58e3ab9401e6396447de9
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Directly emit sqrt intrinsic when folding rootn(x, 2) (#92598)

This avoids depending on pre/post link runs.

Depends #92595


  Commit: e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
      https://github.com/llvm/llvm-project/commit/e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Unify getDemanded between forward and backwards passes in RISCVInsertVSETVLI (#92860)

We have two rules in needVSETVLI where we can relax the demanded fields
for slides and splats when VL=1.

However these aren't present in getDemanded which prevents us from
coalescing some vsetvlis around slides and splats in the backwards pass.

The reasoning as to why they weren't in getDemanded is that these
require us to check the value of the AVL operand, which may be stale in
the backwards pass: the actual VL or VTYPE value may differ from what
was precisely requested in the pseudo's operands.

Using the original operands should actually be fine though, as we only
care about what was originally demanded by the instruction. The current
value of VL or VTYPE shouldn't influence this.

This addresses some of the regressions we are seeing in #70549 from
splats and slides getting reordered.


  Commit: 50dbbe5a0afd76f3c26c03da5af65e7263ac8664
      https://github.com/llvm/llvm-project/commit/50dbbe5a0afd76f3c26c03da5af65e7263ac8664
  Author: henke9600 <168358614+henke9600 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp

  Log Message:
  -----------
  [SROA] Use stable sort for slices to avoid non-determinism (#91609)

Found this while trying to build a LLVM toolchain reproducibly from both
Debian 12 and FreeBSD 14. With these changes they come out bit-by-bit
identical.

Previously there was a mix of stable and unstable sorts for slices, now
only stable sorts are used.


  Commit: 6246b495adcbdff7d2ec4f37dfb656542adf909d
      https://github.com/llvm/llvm-project/commit/6246b495adcbdff7d2ec4f37dfb656542adf909d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll

  Log Message:
  -----------
  [RISCV] Select ISD::AVGCEILS/AVGFLOORS as vaadd. (#92839)

I think the behaviors are the same if this describes their behavior.

AVGFLOORS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1 before truncating to the original bit width.
This is vaadd with rdn rounding mode.

AVGCEILS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1. If the bit shifted out is 1, it adds 1 to
the shifted value. Then truncates to the original bit width. This is vaadd
with rnu rounding mode.

I think this wasn't implemented previously because there was some
confusion about what average means. Some may expect average to round
towards zero, but there is no way to do that in RISC-V or with the
SelectionDAG nodes. Related issue
https://github.com/riscv/riscv-v-spec/issues/935


  Commit: 2631531764f0e732a0e96ab066de27d08b604655
      https://github.com/llvm/llvm-project/commit/2631531764f0e732a0e96ab066de27d08b604655
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fma.ll

  Log Message:
  -----------
  [InstCombine] Removing the combine of fmuladd with fast flag

We should treat fmuladd like an fma intrinsic, and any regressions need to be
addressed by dealing with fma/fmuladd in other contexts.


  Commit: f2e787e7030126f5f55bb4e90cc83827f25e1219
      https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/fma.ll

  Log Message:
  -----------
  [InstCombine] Add some tests with reduced flag sets, NFC

We remove the combine for fmuladd with fast flag on PR90434,
and add these tests with reduced flags to show they have identity
results.


  Commit: 9c7848171779dffb2e23cc7db6b518612e804a74
      https://github.com/llvm/llvm-project/commit/9c7848171779dffb2e23cc7db6b518612e804a74
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Support multiple indices in reorderGEP (#92339)

The code was essentially already ready to handle multiple indices -- we
only need to adjust the non-negative index check to check all indices,
instead of only the first one.


  Commit: 675e7bd1b94f78f0567b4327f187841c0cde36f9
      https://github.com/llvm/llvm-project/commit/675e7bd1b94f78f0567b4327f187841c0cde36f9
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Support postRA vsetvl insertion pass (#70549)

This patch try to get rid of vsetvl implict vl/vtype def-use chain and
improve the register allocation quality by moving the vsetvl insertion
pass after RVV register allocation

It will gain the benefit for the following optimization from

1. unblock scheduler's constraints by removing vl/vtype def-use chain
2. Support RVV re-materialization
3. Support partial spill

This patch add a new option `-riscv-vsetvl-after-rvv-regalloc=<1|0>` to
control this feature and default set as disable.


  Commit: 56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
      https://github.com/llvm/llvm-project/commit/56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M llvm/docs/MemorySSA.rst

  Log Message:
  -----------
  Documentation: Fix C++ examples in MemorySSA documentation (#92802)


  Commit: c4d6867b786a0c850de824fe5452acf6c3c676ca
      https://github.com/llvm/llvm-project/commit/c4d6867b786a0c850de824fe5452acf6c3c676ca
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  InstSimplify: strip bad TODO (NFC) (#92754)

foldIdentityShuffles requires two sets of canceling shuffles. If there
are any intervening instructions, they are feeding in the result of the
first set of shuffles. To eliminate the two sets of shuffles, you'd have
to rewrite the head of the intervening instructions to feed in the
operand of the first set of shuffles. Since modifying the IR in any way
is disallowed by an analysis, strip this bad TODO.


  Commit: 63d81311a2569226781dc00481feb91ea1423571
      https://github.com/llvm/llvm-project/commit/63d81311a2569226781dc00481feb91ea1423571
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  VectorCombine: add tests written for InstSimplify (#92776)

2141907 (InstSimplify: increase shufflevector test coverage) was
recently merged as a pre-commit test for some work that was misguided.
It turns out that InstSimplify can never work on those tests, but the
tests are useful nevertheless; move them to VectorCombine to support the
development of VectorCombine::foldShuffleToIdentity.


  Commit: bfb5fe218ec7aa282375905189bf0aab79609c04
      https://github.com/llvm/llvm-project/commit/bfb5fe218ec7aa282375905189bf0aab79609c04
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Fold transpose into xfer read to enable in-flight transpose (#92562)

vector.transpose ops whose inputs come from vector.transfer_read can be
eliminated by folding the transpose into the xfer op to enable in-flight
transposition when converting xfer read to arm_sme.tile_load.


  Commit: e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
      https://github.com/llvm/llvm-project/commit/e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
  Author: Ramkumar Ramachandra <r at artagnon.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp

  Log Message:
  -----------
  VectorCombine: refactor foldShuffleToIdentity (NFC) (#92766)

Lift out the long lambdas into static functions, use C++ destructing
syntax, and fix other minor things to improve the readability of the
function.


  Commit: 566431ce087d34eaec390cff13251e743688928f
      https://github.com/llvm/llvm-project/commit/566431ce087d34eaec390cff13251e743688928f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake

  Log Message:
  -----------
  [NFC] Improve the comment about `std::min_element` being `constepxr` in libstdc++


  Commit: d094bb660d48fd1beadc0e2456f104ab2cc7f52c
      https://github.com/llvm/llvm-project/commit/d094bb660d48fd1beadc0e2456f104ab2cc7f52c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [InstSimplify] Avoid use of ConstantExpr::getICmp() (NFC)

Use ConstantFoldCompareInstOperands() instead.


  Commit: 1e86e924288221826e0fb93d33be80d65f198ae6
      https://github.com/llvm/llvm-project/commit/1e86e924288221826e0fb93d33be80d65f198ae6
  Author: hev <wangrui at loongson.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll

  Log Message:
  -----------
  [LoongArch] Enable interleaved vectorization (#92629)

This PR enables interleaved vectorization for LoongArch, with a default
interleaving factor of `2`.


  Commit: 7efafb0109b899d501a6508a0329e0c181964c47
      https://github.com/llvm/llvm-project/commit/7efafb0109b899d501a6508a0329e0c181964c47
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/lib/IR/IRBuilder.cpp

  Log Message:
  -----------
  [IRBuilder] Migrate fcmp to folding API

This was one of the last leftovers still using a Create-style
instead of Fold-style API. Convert FoldICmp into FoldCmp so it
can handle both icmp and fcmp.


  Commit: fea29ee41d50c5603338f5af4728ddbdf93aaec2
      https://github.com/llvm/llvm-project/commit/fea29ee41d50c5603338f5af4728ddbdf93aaec2
  Author: Zibi <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 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] Switch to use TEST_HAS_NO_INT128 as per comment in PR 92261 (#92434)

Follow up to llvm#92261.


  Commit: 8b8ad75cc94aad88c505bdca71c903774f9e75c7
      https://github.com/llvm/llvm-project/commit/8b8ad75cc94aad88c505bdca71c903774f9e75c7
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp

  Log Message:
  -----------
  [libcxx] removes unnecessary traits from `has_unique_object_representations` (#69241)

`remove_cv_t` and `remove_all_extents_t` are taken care of by the
built-in trait, so we don't need to use them directly.

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 74f1e29133bc0f984d159493552b843f771087d0
      https://github.com/llvm/llvm-project/commit/74f1e29133bc0f984d159493552b843f771087d0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Assembler/ConstantExprFold.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll

  Log Message:
  -----------
  [Tests] Regenerate test checks (NFC)

To minimize future diffs.


  Commit: d89f20058b45e3836527e816af7ed7372e1d554d
      https://github.com/llvm/llvm-project/commit/d89f20058b45e3836527e816af7ed7372e1d554d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in formatting goto labels in macros (#92494)

Fixes #92300.


  Commit: af8f1554b8e7844304ce61b49b06e5b7946e9c47
      https://github.com/llvm/llvm-project/commit/af8f1554b8e7844304ce61b49b06e5b7946e9c47
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb-dap] Don't send expanded descriptions for "hover" expressions (#92726)

VSCode will automatically ask for the children (in structured form) so
there's no point in sending the textual representation. This can make
displaying hover popups for complex variables with complicated data
formatters much faster. See discussion on #77026 for context.


  Commit: b7941dc860e7b827baa4902aa32dab86fb9d6a31
      https://github.com/llvm/llvm-project/commit/b7941dc860e7b827baa4902aa32dab86fb9d6a31
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/OpenMP/threadprivate_codegen.cpp

  Log Message:
  -----------
  [OpenMP] Regenerate test checks (NFC)


  Commit: ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
      https://github.com/llvm/llvm-project/commit/ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
  Author: Kristof Beyls <kristof.beyls at llvm.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/DeveloperPolicy.rst

  Log Message:
  -----------
  [DevPolicy] Drop requirement to contribute also under the legacy license (#92394)

See
https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
for more details.


  Commit: bbd54e08b08f5ccd38c4665178e65c58f7b14459
      https://github.com/llvm/llvm-project/commit/bbd54e08b08f5ccd38c4665178e65c58f7b14459
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/functionalities/bt-interrupt/main.c
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp

  Log Message:
  -----------
  Reapply "[lldb/aarch64] Fix unwinding when signal interrupts a leaf f… (#92503)

…unction (#91321)"

This reapplies fd1bd53ba5a06f344698a55578f6a5d79c457e30, which was
reverted due to a test failure on aarch64/windows. The failure was
caused by a combination of several factors:
- clang targeting aarch64-windows (unlike msvc, and unlike clang
targeting other aarch64 platforms) defaults to -fomit-frame-pointers
- lldb's code for looking up register values for `<same>` unwind rules
is recursive
- the test binary creates a very long chain of fp-less function frames
(it manages to fit about 22k frames before it blows its stack)

Together, these things have caused lldb to recreate the same deep
recursion when unwinding through this, and blow its own stack as well.
Since lldb frames are larger, about 4k frames like this was sufficient
to trigger the stack overflow.

This version of the patch works around this problem by increasing the
frame size of the test binary, thereby causing it to blow its stack
sooner. This doesn't fix the issue -- the same problem can occur with a
real binary -- but it's not very likely, as it requires an infinite
recursion in a simple (so it doesn't use the frame pointer) function
with a very small frame (so you can fit a lot of them on the stack).

A more principled fix would be to make lldb's lookup code non-recursive,
but I believe that's out of scope for this patch.

The original patch description follows:

A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.

To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).

The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix typos in test names


  Commit: 2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
      https://github.com/llvm/llvm-project/commit/2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  AMDGPU: Fix testing unaligned double atomics in atomic scan tests

Fix copy paste error using align 4 double atomics. Test the meaningful
correctly aligned cases, the unaligned case emits broken libcalls.


  Commit: 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
      https://github.com/llvm/llvm-project/commit/502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/test/Semantics/OpenMP/dealloc.f90
    M flang/test/Semantics/OpenMP/declarative-directive.f90
    M flang/test/Semantics/OpenMP/declare-target-common-block.f90
    M flang/test/Semantics/OpenMP/declare-target01.f90
    M flang/test/Semantics/OpenMP/declare-target02.f90
    M flang/test/Semantics/OpenMP/declare-target03.f90
    M flang/test/Semantics/OpenMP/declare-target04.f90
    M flang/test/Semantics/OpenMP/declare-target05.f90
    M flang/test/Semantics/OpenMP/declare-target06.f90
    M flang/test/Semantics/OpenMP/declare-target07.f90
    M flang/test/Semantics/OpenMP/default-clause.f90
    M flang/test/Semantics/OpenMP/default-none.f90
    M flang/test/Semantics/OpenMP/default.f90
    M flang/test/Semantics/OpenMP/default02.f90
    M flang/test/Semantics/OpenMP/depend01.f90
    M flang/test/Semantics/OpenMP/depend02.f90
    M flang/test/Semantics/OpenMP/depend03.f90
    M flang/test/Semantics/OpenMP/device-clause01.f90
    M flang/test/Semantics/OpenMP/device-constructs.f90
    M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
    M flang/test/Semantics/OpenMP/do-collapse.f90
    M flang/test/Semantics/OpenMP/do-cycle.f90
    M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
    M flang/test/Semantics/OpenMP/do-ordered.f90
    M flang/test/Semantics/OpenMP/do-schedule01.f90
    M flang/test/Semantics/OpenMP/do-schedule02.f90
    M flang/test/Semantics/OpenMP/do-schedule03.f90
    M flang/test/Semantics/OpenMP/do-schedule04.f90
    M flang/test/Semantics/OpenMP/do01-positivecase.f90
    M flang/test/Semantics/OpenMP/do01.f90
    M flang/test/Semantics/OpenMP/do03.f90
    M flang/test/Semantics/OpenMP/do04-positivecase.f90
    M flang/test/Semantics/OpenMP/do04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do05.f90
    M flang/test/Semantics/OpenMP/do06-positivecases.f90
    M flang/test/Semantics/OpenMP/do06.f90
    M flang/test/Semantics/OpenMP/do07.f90
    M flang/test/Semantics/OpenMP/do08.f90
    M flang/test/Semantics/OpenMP/do09.f90
    M flang/test/Semantics/OpenMP/do10.f90
    M flang/test/Semantics/OpenMP/do11.f90
    M flang/test/Semantics/OpenMP/do12.f90
    M flang/test/Semantics/OpenMP/do13.f90
    M flang/test/Semantics/OpenMP/do14.f90
    M flang/test/Semantics/OpenMP/do15.f90
    M flang/test/Semantics/OpenMP/do16.f90
    M flang/test/Semantics/OpenMP/do17.f90
    M flang/test/Semantics/OpenMP/do18.f90
    M flang/test/Semantics/OpenMP/do19.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/firstprivate01.f90
    M flang/test/Semantics/OpenMP/firstprivate02.f90
    M flang/test/Semantics/OpenMP/flush01.f90
    M flang/test/Semantics/OpenMP/flush02.f90
    M flang/test/Semantics/OpenMP/if-clause.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/invalid-branch.f90
    M flang/test/Semantics/OpenMP/lastprivate01.f90
    M flang/test/Semantics/OpenMP/lastprivate02.f90
    M flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/linear-iter.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/OpenMP/loop-simd01.f90
    M flang/test/Semantics/OpenMP/map-clause.f90
    M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
    M flang/test/Semantics/OpenMP/nested-barrier.f90
    M flang/test/Semantics/OpenMP/nested-cancel.f90
    M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
    M flang/test/Semantics/OpenMP/nested-distribute.f90
    M flang/test/Semantics/OpenMP/nested-master.f90
    M flang/test/Semantics/OpenMP/nested-simd.f90
    M flang/test/Semantics/OpenMP/nested-target.f90
    M flang/test/Semantics/OpenMP/nested-teams.f90
    M flang/test/Semantics/OpenMP/nested01.f90
    M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
    M flang/test/Semantics/OpenMP/nontemporal.f90
    M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
    M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
    M flang/test/Semantics/OpenMP/order-clause01.f90
    M flang/test/Semantics/OpenMP/ordered-simd.f90
    M flang/test/Semantics/OpenMP/ordered01.f90
    M flang/test/Semantics/OpenMP/ordered02.f90
    M flang/test/Semantics/OpenMP/ordered03.f90
    M flang/test/Semantics/OpenMP/parallel-critical-do.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections-do.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    M flang/test/Semantics/OpenMP/parallel01.f90
    M flang/test/Semantics/OpenMP/parallel02.f90
    M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
    M flang/test/Semantics/OpenMP/private01.f90
    M flang/test/Semantics/OpenMP/private02.f90
    M flang/test/Semantics/OpenMP/reduction-subtract.f90
    M flang/test/Semantics/OpenMP/reduction01.f90
    M flang/test/Semantics/OpenMP/reduction02.f90
    M flang/test/Semantics/OpenMP/reduction03.f90
    M flang/test/Semantics/OpenMP/reduction04.f90
    M flang/test/Semantics/OpenMP/reduction05.f90
    M flang/test/Semantics/OpenMP/reduction06.f90
    M flang/test/Semantics/OpenMP/reduction07.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/reduction10.f90
    M flang/test/Semantics/OpenMP/reduction11.f90
    M flang/test/Semantics/OpenMP/reduction12.f90
    M flang/test/Semantics/OpenMP/requires-atomic01.f90
    M flang/test/Semantics/OpenMP/requires-atomic02.f90
    M flang/test/Semantics/OpenMP/requires01.f90
    M flang/test/Semantics/OpenMP/requires02.f90
    M flang/test/Semantics/OpenMP/requires03.f90
    M flang/test/Semantics/OpenMP/requires04.f90
    M flang/test/Semantics/OpenMP/requires05.f90
    M flang/test/Semantics/OpenMP/requires06.f90
    M flang/test/Semantics/OpenMP/requires07.f90
    M flang/test/Semantics/OpenMP/requires08.f90
    M flang/test/Semantics/OpenMP/requires09.f90
    M flang/test/Semantics/OpenMP/resolve01.f90
    M flang/test/Semantics/OpenMP/resolve02.f90
    M flang/test/Semantics/OpenMP/resolve03.f90
    M flang/test/Semantics/OpenMP/resolve04.f90
    M flang/test/Semantics/OpenMP/resolve05.f90
    M flang/test/Semantics/OpenMP/resolve06.f90
    M flang/test/Semantics/OpenMP/target-update01.f90
    M flang/test/Semantics/OpenMP/target.f90
    M flang/test/Semantics/OpenMP/target01.f90
    M flang/test/Semantics/OpenMP/target02.f90
    M flang/test/Semantics/OpenMP/task01.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop-simd01.f90

  Log Message:
  -----------
  [Flang][OpenMP] Re-enable tests without runtime issues on Windows (#92824)


  Commit: 352dc7d4bb246ef0ecda4005934770e2a976ee4c
      https://github.com/llvm/llvm-project/commit/352dc7d4bb246ef0ecda4005934770e2a976ee4c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [LV] Propagate PredicatedBBsAfterVectorization to predecessors.

This fixes some cases where predicated BBs where missed previously,
leading to under-estimating the cost of those blocks.


  Commit: 37813e09fa8b67ec858ad3c82dcf72a8ff306b03
      https://github.com/llvm/llvm-project/commit/37813e09fa8b67ec858ad3c82dcf72a8ff306b03
  Author: martinboehme <mboehme at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn

  Log Message:
  -----------
  [clang][dataflow] Make `CNFFormula` externally accessible. (#92401)

This component can be useful when creating implementations of `Solver`,
as some
SAT solvers require the input to be in 3-CNF.

As part of making `CNFFormula` externally accessible, I have moved some
member
variables out of it that aren't really part of the representation of a
3-CNF
formula and thus live better elsewhere:

*  `WatchedHead` and `NextWatched` have been moved to
`WatchedLiteralsSolverImpl`, as they're part of the specific algorithm
used
   by that SAT solver.

* `Atomics` has become an output parameter of `buildCNF()` because it
has to do
with the relationship between a `CNFFormula` and the set of `Formula`s
it is
derived from rather than being an integral part of the representation of
a
   3-CNF formula.

I have also made all member variables private and added appropriate
accessors.


  Commit: a098beaff7670e5986b790b6ba93999fa21c6b48
      https://github.com/llvm/llvm-project/commit/a098beaff7670e5986b790b6ba93999fa21c6b48
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/include/lldb/lldb-types.h

  Log Message:
  -----------
  [lldb] Move callback_token_t out of #ifdef windows

Also make it a int32_t to match the surrounding code.


  Commit: 9d70975c7a72f3fa58d2d63090b92886dbf8a32b
      https://github.com/llvm/llvm-project/commit/9d70975c7a72f3fa58d2d63090b92886dbf8a32b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Remove an assertion that's too strong

Both types need to boil down to a vector type with the same length
and their element types need to match, but we still can't compare
them with == since they might be sugared, etc.


  Commit: 7cee61c82f7fe5a563c2781e855c13238c44931f
      https://github.com/llvm/llvm-project/commit/7cee61c82f7fe5a563c2781e855c13238c44931f
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/test/Lower/OpenMP/lastprivate-iv.f90

  Log Message:
  -----------
  [Flang][OpenMP] Fix lastprivate store issue (#92777)

Fix an issue where the lastprivate variable type is different from the
type used for the index of the loop.

Fixes #79780


  Commit: 1b377dbeb73ef3abec246fe11fc98ec699625c0c
      https://github.com/llvm/llvm-project/commit/1b377dbeb73ef3abec246fe11fc98ec699625c0c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll

  Log Message:
  -----------
  [LAA] Check accesses don't overlap early to determine NoDep (#92307)

Use getStartAndEndForAccess to compute the start and end of both src 
and sink (factored out to helper in bce3680f45b57f). If they do not
overlap (i.e. SrcEnd <= SinkStart || SinkEnd <= SrcStart), there is no
dependence, regardless of stride.

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


  Commit: 808fc8406973f958fa76acba2d7648d215d9681b
      https://github.com/llvm/llvm-project/commit/808fc8406973f958fa76acba2d7648d215d9681b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix dummy DeclRefExprs for function pointers


  Commit: 375761bcaba9ba5694890ece6eed5db286fc4fd1
      https://github.com/llvm/llvm-project/commit/375761bcaba9ba5694890ece6eed5db286fc4fd1
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/nofpclass.c

  Log Message:
  -----------
  [Clang] Emit lifetime markers for non-aggregate temporary allocas (#90849)

This patch extends https://reviews.llvm.org/D68611 and emits lifetime
markers for temporary allocas of non-aggregate types as well.


  Commit: bb3d261f55e72e313fd8ddfefac3b47cfca2f656
      https://github.com/llvm/llvm-project/commit/bb3d261f55e72e313fd8ddfefac3b47cfca2f656
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Protect GetPtrField ops from unknown size arrays


  Commit: 9677e8171c19f1a15c0234724f083bc9473c545a
      https://github.com/llvm/llvm-project/commit/9677e8171c19f1a15c0234724f083bc9473c545a
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp

  Log Message:
  -----------
  [lldb/dwarf] Fix DW_IDX_parent processing for split dwarf (#92745)

DWARFDebugInfo only knows how to resolve references in its own file, but
in split dwarf, the index entries will refer to DIEs in the separate
(DWO) file. To resolve the DIERef correctly we'd either need to go
through the SymbolFileDWARF to get the full logic for resolving a
DIERef, or use the fact that ToDIERef already looks up the correct unit
while computing its result.

This patch does the latter.

This bug manifested itself in not being able to find type definitions
for types in namespaces, so I've modified one of our type resolving test
cases to run with debug_names, and added a namespaced class into it (it
originally contained only a top-level class).


  Commit: 45a5d8d6dba6156c24825b3a04378e999f8af82d
      https://github.com/llvm/llvm-project/commit/45a5d8d6dba6156c24825b3a04378e999f8af82d
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h

  Log Message:
  -----------
  [lldb] Clean up unused includes in DebugNamesDWARFIndex


  Commit: d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
      https://github.com/llvm/llvm-project/commit/d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix discarding construct exprs with zero initializers

We need to create the temporary earlier so the
visitZeroRecordInitializer() call has access to it.


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

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Reduce instantiation depth in `infinite-instantiations.test` (#92888)

This patch reduces template instantiation depth in
`infinite-instantiations.test`, because it doesn't seem to be concerned
with the default instantiation depth in particular, but has a very
material impact on testing times of clangd. Which subsequently affects
CI run times for all Clang changes.

The following numbers are taken from
https://buildkite.com/llvm-project/github-pull-requests/builds/65299,
but they are the same for any CI run with clangd:
Linux:
```
Slowest Tests:
--------------------------------------------------------------------------
35.19s: Clangd :: infinite-instantiation.test
5.53s: Clangd :: protocol.test
1.48s: Clang Tools :: clang-tidy/checkers/modernize/use-emplace.cpp
1.40s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
1.17s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
1.15s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
1.10s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
1.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
1.06s: Clang Tools :: clang-tidy/checkers/misc/const-correctness-values.cpp
1.02s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
1.00s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
0.97s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-basic.cpp
0.95s: Clang Tools :: clang-tidy/checkers/modernize/use-std-print.cpp
0.93s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-extra.cpp
0.92s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
0.90s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
0.90s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
0.89s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
0.88s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
0.85s: Clangd Unit Tests :: ./ClangdTests/Hover/All
```
Windows:
```
Slowest Tests:
--------------------------------------------------------------------------
244.74s: Clangd :: infinite-instantiation.test
11.42s: Clangd :: protocol.test
8.97s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
7.44s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
6.71s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
6.61s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
6.42s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
6.32s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
6.01s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
5.62s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
5.58s: Clang Tools :: clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
5.46s: Clang Tools :: clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
5.08s: Clang Tools :: clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
5.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-declaration.cpp
4.99s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
4.91s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
4.87s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
4.79s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
4.78s: Clang Tools :: clang-tidy/infrastructure/clean-up-code.cpp
4.76s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
```


  Commit: 6ff82363dfd21be1af799f47e64115ffe8edb8d5
      https://github.com/llvm/llvm-project/commit/6ff82363dfd21be1af799f47e64115ffe8edb8d5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang][HLFIR] Adapt InlineElementals to run on all top level ops (#92734)

This means that this pass will also run on hlfir elemental operations
which are not inside of functions.

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).

While I was updating the tests I noticed that the optimized
bufferization pass and some cse were missing from the optimized pipeline
in flang/test/Driver/mlir-pass-pipeline.f90. I fixed this in this
commit.


  Commit: a7521fd162cac93da37df9151d233692fd61998f
      https://github.com/llvm/llvm-project/commit/a7521fd162cac93da37df9151d233692fd61998f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    A clang/test/AST/Interp/sycl.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_sycl_unique_stable_name


  Commit: 18e7bcbae12bc2e2cf9888844a0b3f12075f508c
      https://github.com/llvm/llvm-project/commit/18e7bcbae12bc2e2cf9888844a0b3f12075f508c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/cxx11.cpp

  Log Message:
  -----------
  [clang][Interp] Reject inc/dec ops before C++ 14


  Commit: 5693678cae86ac433aa8bd9ed3920c8c93b5817b
      https://github.com/llvm/llvm-project/commit/5693678cae86ac433aa8bd9ed3920c8c93b5817b
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/COFF/DriverUtils.cpp
    A lld/test/COFF/arm64ec-exports.s

  Log Message:
  -----------
  [LLD][COFF] Demangle ARM64EC export names. (#87068)


  Commit: 46d8bb08cfd3798977b4e22881514dc9d77425c2
      https://github.com/llvm/llvm-project/commit/46d8bb08cfd3798977b4e22881514dc9d77425c2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.h
    M clang/test/AST/Interp/arrays.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp

  Log Message:
  -----------
  [clang][Interp] Fix initializing zero-size arrays


  Commit: 1664610130b88ef168e33eddfe973a3f11bd4261
      https://github.com/llvm/llvm-project/commit/1664610130b88ef168e33eddfe973a3f11bd4261
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [clang] Introduce `SemaPseudoObject` (#92646)

This patch moves `Sema` functions that handle pseudo-objects into the
new `SemaPseudoObject` class. This continues previous efforts to split
`Sema` up. Additional context can be found in #84184.
As usual, in order to help reviewing this, formatting changes are split
into a separate commit.


  Commit: 45293b5edb7f320bc1b14b6ce8ac90ed111baa53
      https://github.com/llvm/llvm-project/commit/45293b5edb7f320bc1b14b6ce8ac90ed111baa53
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Basic/Targets/Mips.h

  Log Message:
  -----------
  MIPS/Clang: handleTargetFeatures, add +fp64 if +msa and no other +-fp (#92728)

Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
added +fp64 for `clang`, while not for `clang -cc1`. So

   clang -cc1 -triple=mips -target-feature +msa -S

will emit an asm source file without ".module fp=64".


  Commit: f3aaaafe50697a1d9985836adb0b167aab05047c
      https://github.com/llvm/llvm-project/commit/f3aaaafe50697a1d9985836adb0b167aab05047c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for fences in SIInsertWaitcnts (#92902)

We insert required waits for fences in SIMemoryLegalizer.


  Commit: 4e86b0006b639f10df108a885a54ff0eddb40217
      https://github.com/llvm/llvm-project/commit/4e86b0006b639f10df108a885a54ff0eddb40217
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for buffer stores in SIInsertWaitcnts (#92903)


  Commit: 2117136b2b78ef3b83202909ffaf351598da8bd5
      https://github.com/llvm/llvm-project/commit/2117136b2b78ef3b83202909ffaf351598da8bd5
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix bad directory path in `infinite-instantiations.test`

Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 558f3ea4aef718f953d3f38a45363d8a91988292
      https://github.com/llvm/llvm-project/commit/558f3ea4aef718f953d3f38a45363d8a91988292
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Remove #if 0 code for indexed resources in SIInsertWaitcnts (#92905)

I do not understand what optimization this was supposed to implement.
It has never been enabled. I suspect it no longer applies to GCN/RDNA
architectures.


  Commit: f78b1a40864470f7eb30dfda44a6ea8e845346a5
      https://github.com/llvm/llvm-project/commit/f78b1a40864470f7eb30dfda44a6ea8e845346a5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Add test for #92887 (NFC)


  Commit: 263224e4481b0850539a93a272184aac4abe86d4
      https://github.com/llvm/llvm-project/commit/263224e4481b0850539a93a272184aac4abe86d4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Require poison operand in canEvaluateShuffled transform

This transform works on single-source shuffles, which require that
the second operand is poison, not undef. Otherwise we may convert
undef to poison.

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


  Commit: c1b5b7c19b76f8d153f7ae9350d217b74888ed93
      https://github.com/llvm/llvm-project/commit/c1b5b7c19b76f8d153f7ae9350d217b74888ed93
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90

  Log Message:
  -----------
  [flang][Lower] Emit exiting branches from within constructs (#92455)

When lowering IfConstruct, CaseConstruct, and SelectTypeConstruct, emit
branches that exit the construct in each block that is still
unterminated after the FIR has been generated in it.

The same thing may be needed for SelectRankConstruct, once it's
supported.

This eliminates the need for inserting branches in `genFIR(Evaluation)`.

Follow-up to PR https://github.com/llvm/llvm-project/pull/91614.


  Commit: 557a0be3af798cf55b1ef54fc98a84fa5a4ade42
      https://github.com/llvm/llvm-project/commit/557a0be3af798cf55b1ef54fc98a84fa5a4ade42
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Add test for splat shuffle miscompile (NFC)


  Commit: ecd269e8305330c185bbedbd5a59e887122333ba
      https://github.com/llvm/llvm-project/commit/ecd269e8305330c185bbedbd5a59e887122333ba
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in splat shuffle fold

We can't canonicalize these to a splat shuffle, as doing so would
convert undef -> poison.


  Commit: 2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
      https://github.com/llvm/llvm-project/commit/2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef in some places (NFCI)

I believe that in these cases other conditions already ensure that
the second operand is not used, this is mostly for clarity.


  Commit: b8e3d8021648478229697edeeb8539c99dbe5503
      https://github.com/llvm/llvm-project/commit/b8e3d8021648478229697edeeb8539c99dbe5503
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Add test for incorrect shuffle of unop transform (NFC)


  Commit: 8f1c984325bd679b2634a6173db69548da87ac71
      https://github.com/llvm/llvm-project/commit/8f1c984325bd679b2634a6173db69548da87ac71
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in shuffle of unop transform

Otherwise this may not actually be a single-source shuffle.


  Commit: a53e568b16db60eaeb4886232841c2a884f484fc
      https://github.com/llvm/llvm-project/commit/a53e568b16db60eaeb4886232841c2a884f484fc
  Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp

  Log Message:
  -----------
  [AIX] Set memrchr to unavailable (#92588)

`memrchr` is not available on AIX. This patch turns it off so the
optimizer will not generate it to cause link errors.


  Commit: fbc798e4426b322ed0e03019c20d929f2eaade22
      https://github.com/llvm/llvm-project/commit/fbc798e4426b322ed0e03019c20d929f2eaade22
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [InstCombine] Use m_Poison instead of m_Undef (NFCI)

In this case, isIdentityWithExtract() should already ensure that
this is a single-source shuffle. This just makes things more
explicit.


  Commit: a15b685c2d868eaf408d05baa50baa3c9f5cc740
      https://github.com/llvm/llvm-project/commit/a15b685c2d868eaf408d05baa50baa3c9f5cc740
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'reduction' sema for compute constructs (#92808)

'reduction' has a few restrictions over normal 'var-list' clauses:

1- On parallel, a num_gangs can only have 1 argument when combined with
reduction. These two aren't able to be combined on any other of the
compute constructs however.

2- The vars all must be 'numerical data types' types of some sort, or a
'composite of numerical data types'. A list of types is given in the
standard as a minimum, so we choose 'isScalar', which covers all of
these types and keeps types that are actually numeric. Other compilers
don't seem to implement the 'composite of numerical data types', though
we do.

3- Because of the above restrictions, member-of-composite is not
allowed, so any access via a memberexpr is disallowed. Array-element and
sub-arrays (aka array sections) are both permitted, so long as they meet
the requirements of #2.

This patch implements all of these for compute constructs.


  Commit: d0e0205bfc5a147f8744a176a10f185af7520c26
      https://github.com/llvm/llvm-project/commit/d0e0205bfc5a147f8744a176a10f185af7520c26
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in single shuffle fold

Otherwise we'll convert undef to poison. Alive2 was already flagging
the existing test8 test as a miscompile.


  Commit: 8d5b7d4d11ea47b9903b634f4159986422855383
      https://github.com/llvm/llvm-project/commit/8d5b7d4d11ea47b9903b634f4159986422855383
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case, the isIdentityWithExtract() checks should already
guarantee that these are single-source shuffles, so this is just
for clarity.


  Commit: 7c640d1d43d7a151100e92c678757e0ce897bcc2
      https://github.com/llvm/llvm-project/commit/7c640d1d43d7a151100e92c678757e0ce897bcc2
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instatiation.test`

Another take at fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26920 and https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888


  Commit: 530d4c9bf3d963f51375a1d7afb32f439d9c94a9
      https://github.com/llvm/llvm-project/commit/530d4c9bf3d963f51375a1d7afb32f439d9c94a9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [InstCombine] Use m_Poison() instead of m_Undef() (NFCI)

In this case the shuffle mask checks should already guarantee a
single-source shuffle, so this is just for clarity.


  Commit: 4ae896fe979b7db501cabde4b6b3504478958682
      https://github.com/llvm/llvm-project/commit/4ae896fe979b7db501cabde4b6b3504478958682
  Author: jofrn <jofernau at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td

  Log Message:
  -----------
  [AMDGPU] HasOneUse uses (#92534)

#91578 implements `HasOneUse` predicate on `PatFrag`, so this commit
uses it within AMDGPU.


  Commit: 76748119bfd52ff6647740a06e29e3584e22ee16
      https://github.com/llvm/llvm-project/commit/76748119bfd52ff6647740a06e29e3584e22ee16
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir

  Log Message:
  -----------
  [GISel][RISCV] Add irtranslator/legalizer/selector support for G_FREEZE. (#92744)

This patch adds support for G_FREEZE on riscv. It will be selected into
a copy instruction.
 
The ll test is copied from the AArch64 patch:
https://github.com/llvm/llvm-project/commit/665da596854bf07ee25f368855156dde43845013.


  Commit: 7c19058d2a8e05383988b92cf4004c4cd8a54951
      https://github.com/llvm/llvm-project/commit/7c19058d2a8e05383988b92cf4004c4cd8a54951
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/darwin-target-variant.c
    M llvm/lib/IR/Module.cpp
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll

  Log Message:
  -----------
  [Darwin][IR] Don't error on target_variant mismatch when linking IR (#92297)

Change the ModuleFlag type for target_variant to warning to avoid error
out when the value is different. This matches the linker behavior when
linking object files.

rdar://125874272


  Commit: f52d29c9ab7d3c712d36c28d00adc95fe7d52805
      https://github.com/llvm/llvm-project/commit/f52d29c9ab7d3c712d36c28d00adc95fe7d52805
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/AST/Type.h
    M clang/lib/Sema/SemaExpr.cpp

  Log Message:
  -----------
  [Clang][Sema] Refactor handling of vector subscript expressions (NFC) (#92778)


  Commit: ea43a30899df5c3c36412392c8f4db79973a1c43
      https://github.com/llvm/llvm-project/commit/ea43a30899df5c3c36412392c8f4db79973a1c43
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll

  Log Message:
  -----------
  [AMDGPU] Vectorize more 16 bit shuffles (#90648)

In the case of larger vectors, we should still prefer the vectorized
version (i.e. shufflevector vs extract/insert chains).

In arithmetic chains, vectorization results in chains of packed math
instructions (as opposed to unpack/repack & scalarized arithmetic):
https://godbolt.org/z/c5onaf6G5

In chains with PHIs, vectorization again removes the unnecessary pack /
repack code around BBs: https://godbolt.org/z/vz7zYzvhs


  Commit: 446f66d685c2470bc7744b1d1538c4728e838e43
      https://github.com/llvm/llvm-project/commit/446f66d685c2470bc7744b1d1538c4728e838e43
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/test/CodeGen/fat-lto-objects.c
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/test/CodeGen/X86/fat-lto-section.ll

  Log Message:
  -----------
  [CodeGen] Assign SHT_LLVM_LTO to .llvm.lto section (#92856)

This follows up to SHT_LLVM_LTO (https://reviews.llvm.org/D153215) and
resolves the comment of the FatLTO patch
https://reviews.llvm.org/D146776#4430626


  Commit: cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
      https://github.com/llvm/llvm-project/commit/cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    A lld/test/ELF/aarch64-feature-gcs.s

  Log Message:
  -----------
  [lld][AArch64] Add support for GCS (#90732)

This adds the -z gcs and -z gcs-report options, which behave similarly
to -z shtk and -z cet-report, except that -z gcs accepts a parameter:
* -z gcs=implicit is the default behaviour, where the GCS bit is
inferred from the input objects.
 * -z gcs=never clears the GCS bit, ignoring the input objects.
 * -z gcs=always sets the GCS bit, ignoring the input objects.

This is so that there's a means of explicitly disabling GCS even when
all input objects have the GCS bit set.


  Commit: 67e3514692f60f85c69aef9a793d3e43b68fb038
      https://github.com/llvm/llvm-project/commit/67e3514692f60f85c69aef9a793d3e43b68fb038
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll

  Log Message:
  -----------
  AMDGPU: Implement getRoundingControlRegisters (#92884)


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll

  Log Message:
  -----------
  AMDGPU: Emit 1/llvm.sqrt(x) instead of rsqrt calls in libcall handling (#92863)

With the contract flag we should end up codegening to the rsqrt
instruction, or denormal corrected rsqrt sequence present in the
library.


  Commit: 0c8bc08868e7bf051e9683851726747def85765a
      https://github.com/llvm/llvm-project/commit/0c8bc08868e7bf051e9683851726747def85765a
  Author: Alan Zhao <ayzhao at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll

  Log Message:
  -----------
  Reapply "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265) (#91372)

This reverts commit 924384161ffceda08099536dd07a953299a69b53.

This reland addresses the performance regressions seen in #90265 by
retaining the original definition of
`isPotentiallyReachableFromMany(...)` instead of reimplementing it with
`isManyPotentiallyReachableFromMany(...)`.

Fixes #86580


  Commit: 557bf3835b96ef5839013b1e821a1cb869660aa3
      https://github.com/llvm/llvm-project/commit/557bf3835b96ef5839013b1e821a1cb869660aa3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/pr90730.ll

  Log Message:
  -----------
  [RISCV][ISel] Allow opaque constants in `hasAndNotCompare` (#92926)

See the following code:

https://github.com/llvm/llvm-project/blob/4ae896fe979b7db501cabde4b6b3504478958682/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L9334-L9357

> Combining: t47: i64 = xor t43, OpaqueConstant:i64<31808>
X: i64 = Constant<0>
Y: i64 = OpaqueConstant<31808>

The assertion failed because both `X` and `Y` are constants.
This patch allows opaque constants in `hasAndNotCompare` to fix the
issue.

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


  Commit: 4636b66de513dfa15da1ba071f279b64ad68903f
      https://github.com/llvm/llvm-project/commit/4636b66de513dfa15da1ba071f279b64ad68903f
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp

  Log Message:
  -----------
  [mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui` (#92641)

This patch adapts the `test.reflect_bounds` test Op to use explicitly
signed and unsigned representation for signed and unsigned bounds of
`IntegerType`s.

This is mostly a cosmetic change as the internal representation of the
ranges is unchanged. However, it improves readability of tests.


  Commit: 0eca2655843e1b79e6c65c7239bce8c9a1509568
      https://github.com/llvm/llvm-project/commit/0eca2655843e1b79e6c65c7239bce8c9a1509568
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td

  Log Message:
  -----------
  [flang][cuda] Fix memory side effects on cuf.data_transfer op (#92928)

The memory side effects on the `cuf.data_transfer` operation were
swapped between the src and dst operands. We read from source and write
to destination not the opposite.


  Commit: 3e15c97fa3812993bdc319827a5c6d867b765ae8
      https://github.com/llvm/llvm-project/commit/3e15c97fa3812993bdc319827a5c6d867b765ae8
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/locale
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp

  Log Message:
  -----------
  [libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)

This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381)
by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN
are intendedly rejected by that LWG issue.

The source character array used for parsing is
`"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters
are used for parsing integers or floating-point values respectively.
Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`,
`'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also
replaces magic numbers 26 and 28 (formerly 32) with named constants.

Drive-by change: when the first character (possibly after the leading
`'+'` or `'-'`) is not a decimal digit but an acceptable character
(e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage
2 in [facet.num.get.virtuals]/3).

#65168 may be rendered invalid, see
https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342.

Apple back-deployment targets remain broken, likely due to dylib. XFAIL
is marked in related tests.

---------

Co-authored-by: Mark de Wever <koraq at xs4all.nl>


  Commit: 98f105a1304e8d3fd0a0234d1d488ed513833df8
      https://github.com/llvm/llvm-project/commit/98f105a1304e8d3fd0a0234d1d488ed513833df8
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp

  Log Message:
  -----------
  [lldb] Add the word "backtrace" to bt help string (#92618)

We noticed that `apropos backtrace` did not return the `bt` alias. This change adds the 
word "backtrace" to the help for `bt`. It also updates `thread backtrace` to keep the 
language used roughly in sync.


  Commit: 253c28fa829cee0104c2fc59ed1a958980b5138c
      https://github.com/llvm/llvm-project/commit/253c28fa829cee0104c2fc59ed1a958980b5138c
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Interpreter/execute.c

  Log Message:
  -----------
  [clang-repl] Extend the C support. (#89804)

The IdResolver chain is the main way for C to implement lookup rules.
Every new partial translation unit caused clang to exit the top-most
scope which in turn cleaned up the IdResolver chain. That was not an
issue for C++ because its lookup is implemented on the level of
declaration contexts.

This patch keeps the IdResolver chain across partial translation units
maintaining proper C-style lookup infrastructure.


  Commit: 315a83145b6d83134eee49570632f3ee2a5a38a9
      https://github.com/llvm/llvm-project/commit/315a83145b6d83134eee49570632f3ee2a5a38a9
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h

  Log Message:
  -----------
  AMDGPU/NFC: Reserve 0x056 and 0x057 EF_AMDGPU_MACHs (#92917)


  Commit: 70fc23946bc241a154c13140af9a597049715723
      https://github.com/llvm/llvm-project/commit/70fc23946bc241a154c13140af9a597049715723
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterPressure.cpp

  Log Message:
  -----------
  RegisterPressure: Check empty instead of size == 0


  Commit: 2805e6faad7795ed0846010e3e7ad41460030758
      https://github.com/llvm/llvm-project/commit/2805e6faad7795ed0846010e3e7ad41460030758
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/test/tools/llvm-driver/symlink-call.test
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl

  Log Message:
  -----------
  [llvm-driver] Add driver alias for c++filt (#92803)

Similar to 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162, this allows the
driver to respond to `c++filt`.


  Commit: 194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
      https://github.com/llvm/llvm-project/commit/194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/test/Driver/tocdata-cc1.c
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/toc-data.ll

  Log Message:
  -----------
  [PowerPC][AIX] 64-bit large code-model support for toc-data (#90619)

This patch adds support for toc-data for 64-bit large code-model on AIX.
The sequence ADDIStocHA8/ADDItocL8 is used to access the data directly
from the TOC.
When emitting the instruction ADDIStocHA8, we check if the symbol has
toc-data attribute before creating a toc entry for it. When emitting the
instruction ADDItocL8, we use the LA8 instruction to load the address.


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

  Changed paths:
    M clang-tools-extra/clangd/test/infinite-instantiation.test

  Log Message:
  -----------
  [clangd] Fix directory separators in `infinite-instantiation.test`

Fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26934 caused by #92888. Third time the charm!


  Commit: 3c3e71d929457daf4be425a35920cc53ed875fab
      https://github.com/llvm/llvm-project/commit/3c3e71d929457daf4be425a35920cc53ed875fab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    A llvm/test/CodeGen/X86/issue76416.ll

  Log Message:
  -----------
  X86: Add regression test from issue #76416

Also add another testcase reported at the same regression commit. Make
sure this assert is fixed when the patch is eventually reapplied.


  Commit: 1fc3ce1cdb8390ed64feea939a9555d3642439ea
      https://github.com/llvm/llvm-project/commit/1fc3ce1cdb8390ed64feea939a9555d3642439ea
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Enable data transfer for descriptors (#92804)

Remove the TODO when data transfer is done with descriptor variables.


  Commit: 172759492a162592da7ae9e03888661c108b1be4
      https://github.com/llvm/llvm-project/commit/172759492a162592da7ae9e03888661c108b1be4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterPressure.cpp

  Log Message:
  -----------
  RegisterPressure: Add parameter name comment


  Commit: 7847b1ca00fb4649799125592f01cd38c5509b45
      https://github.com/llvm/llvm-project/commit/7847b1ca00fb4649799125592f01cd38c5509b45
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Silence warning triggered in buildbot


  Commit: ce1d28e645b53ba9518d295dad35a4578dd8e8dc
      https://github.com/llvm/llvm-project/commit/ce1d28e645b53ba9518d295dad35a4578dd8e8dc
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Sema/builtins.c

  Log Message:
  -----------
  Fix diagnostic wording style; NFC


  Commit: 8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
      https://github.com/llvm/llvm-project/commit/8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp

  Log Message:
  -----------
  InstCombine: Stop handling bitcast in PointerReplacer (#92937)

These should be irrelevant since opaque pointers.


  Commit: 67ae86d700b899979db39883f4063257513498d5
      https://github.com/llvm/llvm-project/commit/67ae86d700b899979db39883f4063257513498d5
  Author: lolloz98 <lorenzocarpaneto at yahoo.it>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/functions.c

  Log Message:
  -----------
  [clang] Fix crash passing function pointer without prototype. (#90255)

Fixes use-after-free iterating over the uses of the function.

Closes #88917


  Commit: e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
      https://github.com/llvm/llvm-project/commit/e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
  Author: Edwin Vane <revane at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp

  Log Message:
  -----------
  [clang-tidy] Rename out-of-line function definitions (#91954)

Member function templates defined out-of-line were resulting in
conflicting naming failures with overlapping usage sets. With this
change, out-of-line definitions are treated as a usage of the failure
which is the inline declaration.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineScheduler.cpp

  Log Message:
  -----------
  MachineScheduler: Add parameter name comments


  Commit: 01c600dec6f506ae305abf04cf955e08aa59b234
      https://github.com/llvm/llvm-project/commit/01c600dec6f506ae305abf04cf955e08aa59b234
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp

  Log Message:
  -----------
  Reword a diagnostic for style; NFC


  Commit: 32cf7a25f2f8174bc448ae7032e419dc0375fd6a
      https://github.com/llvm/llvm-project/commit/32cf7a25f2f8174bc448ae7032e419dc0375fd6a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  Fix another diagnostic for style; NFC


  Commit: 87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
      https://github.com/llvm/llvm-project/commit/87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Parser/lax-conv.cpp

  Log Message:
  -----------
  Fix another diagnostic wording for style; NFC


  Commit: 337e633bb75640bb6e04eb874c7114dfac6fa754
      https://github.com/llvm/llvm-project/commit/337e633bb75640bb6e04eb874c7114dfac6fa754
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx] [test] Detect mingw-w64 headers compatible with C++ module builds (#92893)

This fixes running the tests/CI with a newer mingw toolchain that has
been fixed to work with building libc++ as a module.


  Commit: 57a507930b50c445140feb68bffe1c21af53319e
      https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp

  Log Message:
  -----------
  [msan] Increase kNumStackOriginDescrs constant (#92838)

This increases the constant size of kNumStackOriginDescrs to 4M (64GB of
BSS across two arrays), which ought to be enough for anybody.

This is the easier alternative suggested by eugenis@ in
https://github.com/llvm/llvm-project/pull/92826.


  Commit: 0bc710f7c19910817ccff254c43496602635bbc9
      https://github.com/llvm/llvm-project/commit/0bc710f7c19910817ccff254c43496602635bbc9
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Accept constant as src for cuf.data_tranfer (#92951)

Assignment of a constant (host) to a device variable is a special case
that can be further lowered to `cudaMemset` or similar functions. This
patch update the lowering to avoid the creation of a temporary when we
assign a constant to a device variable.


  Commit: 687039bce91e90f87d68fb0c409baffaae16649e
      https://github.com/llvm/llvm-project/commit/687039bce91e90f87d68fb0c409baffaae16649e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/pr90703.ll

  Log Message:
  -----------
  [X86] Return true for opaque constants in hasAndNotCompare. (#92944)

This is the X86 equivalent of #92926


  Commit: 243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
      https://github.com/llvm/llvm-project/commit/243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  Disable compiling and testing Flang on Clang changes (#92740)

This patch aims to rectify the Windows CI situation by decoupling Clang
changes from Flang test suite, which is causing Windows CI to "pause"
for 20 minutes (details can be found
[here](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/11)).
This even seems desirable in the long run, because it was highlighted
that the only part of Clang that Flang depends on is Driver ([Discourse
post](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/14)).

Importantly, this patch leaves the question of _entirely_ disabling
Flang tests on Windows CI out of scope.


  Commit: 3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
      https://github.com/llvm/llvm-project/commit/3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h

  Log Message:
  -----------
  [AArch64][PAC][NFC] Make checkAuthenticatedRegister() return void (#92507)

The return value is not used. This change simplifies the upcoming fix


  Commit: 9f2313829fd210f9923375e93bc11fe9685c26d5
      https://github.com/llvm/llvm-project/commit/9f2313829fd210f9923375e93bc11fe9685c26d5
  Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)


  Commit: 32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
      https://github.com/llvm/llvm-project/commit/32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  Revert "[BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)"

This reverts commit 9f2313829fd210f9923375e93bc11fe9685c26d5.

Creates a dependency cycle: lib/Rewrite depends on lib/Profile.


  Commit: df626dd11c360c58eddae813ce6a0524d0a53696
      https://github.com/llvm/llvm-project/commit/df626dd11c360c58eddae813ce6a0524d0a53696
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp

  Log Message:
  -----------
  Revert "[msan] Increase kNumStackOriginDescrs constant (#92838)"

This reverts commit 57a507930b50c445140feb68bffe1c21af53319e.

Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/57/builds/35160)


  Commit: 3b3d622be993faa985ed9cbb9ab098c8d6b8f681
      https://github.com/llvm/llvm-project/commit/3b3d622be993faa985ed9cbb9ab098c8d6b8f681
  Author: Andrew Browne <browneee at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/test/dfsan/custom.cpp

  Log Message:
  -----------
  [DFSan] Fix recvmsg wrapper to support MSG_TRUNC flag. (#92599)

The MSG_TRUNC flag makes recvmsg return the real length of the packet,
even if it was too big to fit in the provided buffer. This is commonly
used together with MSG_PEEK.

Without this patch, dfsan's clear_msghdr_labels expects the return value
of recvmsg (size recieved) to be less than or equal to the iov buffer
length where recvmsg writes data, resulting in a crash.


  Commit: 3a913d30bef061be9786740e14bacd3fa6d76adc
      https://github.com/llvm/llvm-project/commit/3a913d30bef061be9786740e14bacd3fa6d76adc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor `Sema::TagUseKind` (#92689)

This patch makes `TagUseKind` a scoped enumeration, and moves it outside
of `Sema` class, making it eligible for forward declaring.


  Commit: 0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
      https://github.com/llvm/llvm-project/commit/0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor flaky tests for std::shared_lock (#91779)

This makes the tests non-flaky.


  Commit: f6ff87dd90074b694e420d93389c749189bca0ec
      https://github.com/llvm/llvm-project/commit/f6ff87dd90074b694e420d93389c749189bca0ec
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libunwind/include/__libunwind_config.h
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp

  Log Message:
  -----------
  [libunwind][WebAssembly] Make libunwind compilable (#92192)

This tries to make Wasm compilable in LLVM tree with CMake for
non-Emscripten platform.

This
- Adds `-D__USING_WASM_EXCEPTIONS__` when you compile with
`-fwasm-exceptions` (like other EH options) in Clang
- Exclude `UnwindLevel1.c`, `UnwindRegistersSave.S`, and
`UnwindRegistersRestore.S` when compiling with Wasm
- Changed some `__USING_WASM_EXCEPTIONS__` to `__wasm__`; they should be
applied when compiling with Wasm w/o exceptions.
- Define some unused macros to make it compile

Fixes #72771.


  Commit: b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
      https://github.com/llvm/llvm-project/commit/b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp

  Log Message:
  -----------
  [libc] Provide __libc_{init,fini}_array for baremetal (#90828)

These are provided by newlib and many baremetal projects assume they're
available rather than providing their own implementation.


  Commit: 5442e15a152614628e2e2bef250c91eacf75fc9c
      https://github.com/llvm/llvm-project/commit/5442e15a152614628e2e2bef250c91eacf75fc9c
  Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp

  Log Message:
  -----------
  [libc][__support] move CndVar to __support (#89329)

We should be able to reuse this between the implementation of C11 cnd_t
condition variables and POSIX pthread_cond_t condition variables.

The current implementation is hyper linux specific, making use of Futex. That
obviously wont work outside of linux, so split the OS specific functions off
into their own source outside of the header.

Modifies the return values of the to-be-shared impl to return 0 on success and
-1 on error.  This pattern was shamelessly stolen from Bionic's
[__bionic_thrd_error](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/include/bits/threads_inlines.h#41).

Fixes: #88580
Link: #88583


  Commit: 2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
      https://github.com/llvm/llvm-project/commit/2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  [lldb] Set ObjectFile's assignment operator to also be deleted like its copy constructor (#92942)

This will also fix a warning when ObjectFile is dllexport'ed on Windows
for my GSOC project for adding support Clang plugins on windows with
@vgvassilev and @compnerd.


  Commit: 42ba740afffa16f991be6aa36626bd872d41ebc0
      https://github.com/llvm/llvm-project/commit/42ba740afffa16f991be6aa36626bd872d41ebc0
  Author: Damien L-G <dalg24 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/atomic
    A libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap
    M libcxx/modules/std/atomic.inc
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp

  Log Message:
  -----------
  [libc++] Implement C++20 atomic_ref (#76647)

Implement the std::atomic_ref class template by reusing atomic_base_impl.
Based on the work from https://reviews.llvm.org/D72240


  Commit: a5bab70d0667d3bd709720c5c78870b8ad280545
      https://github.com/llvm/llvm-project/commit/a5bab70d0667d3bd709720c5c78870b8ad280545
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M libc/test/integration/scudo/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix scudo integration test (#92967)

When scudo is built with LLVM-libc's headers, certain functions also
need to be linked from LLVM-libc. This patch adds those functions to the
list to be linked into the specific scudo test, which uses a minimal
subset of libc.

Fixes #92861 and #59453


  Commit: b90861498b5b5c06ba24a122b6987738560acf99
      https://github.com/llvm/llvm-project/commit/b90861498b5b5c06ba24a122b6987738560acf99
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/StokeInfo.h

  Log Message:
  -----------
  [BOLT][NFC] Use const reference in range-based for loop (#92932)

Addressing #91195


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp

  Log Message:
  -----------
  [clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)

This is an enabler for a future patch.

This allows an type-parameter default argument to be set as an arbitrary
TemplateArgument, not just a type.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.

This will be used in a later patch which synthesizes template parameter
lists with arbitrary default arguments taken from template
specializations.

There are a few places we used SubsType, because we only had a type, now
we use SubstTemplateArgument.
SubstTemplateArgument was missing arguments for setting Instantiation
location and entity names.
Adding those is needed so we don't regress in diagnostics.


  Commit: 219ea26733f96e0c63796bed8e507f7bb1a02140
      https://github.com/llvm/llvm-project/commit/219ea26733f96e0c63796bed8e507f7bb1a02140
  Author: Heewon Cho <heewon6752 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/runtime/instr.cpp

  Log Message:
  -----------
  [BOLT][NFC] Remove dead initialization code (#92952)

Addressing #81441


  Commit: 7630775e3ad34c426cde91732e8e7816c2a1ef5a
      https://github.com/llvm/llvm-project/commit/7630775e3ad34c426cde91732e8e7816c2a1ef5a
  Author: Thomas Fransham <fsfod11 at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/include/llvm/Object/ObjectFile.h

  Log Message:
  -----------
  Revert "Set ObjectFile's assignment operator to also be deleted like its copy constructor" (#92973)

Reverts llvm/llvm-project#92942


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

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 42ba740afffa


  Commit: 79a32609759af317a62184c2c7b1300263a336c8
      https://github.com/llvm/llvm-project/commit/79a32609759af317a62184c2c7b1300263a336c8
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll

  Log Message:
  -----------
  [hwasan] Remove memory attrs from instrumented functions. (#92974)

HWASan instrumentation makes writeonly attribute on function parameters,
as well as most memory(*) attributes invalid. This causes
miscompilations with LTO, when more optimizations are run after the
HWASan pass.


  Commit: 0170bd5d111f55f45f993a749727ce2815cc0b16
      https://github.com/llvm/llvm-project/commit/0170bd5d111f55f45f993a749727ce2815cc0b16
  Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp

  Log Message:
  -----------
  [MDBuilder] `mergeCallbackEncodings` fails due to inspecting the wrong node (#92466)

Given the following metadata as, with `!6` as `ExistingCallbacks` and
`!8` as `NewCB`:
```
!6 = !{!7}
!7 = !{i64 0, i1 false}
!8 = !{i64 2, i64 3, i1 false}
```
The merge function should add `!8` to the list of `!6`, i.e. `!6 =
!{!7,!8}`. However, at the moment the check if this is legal, tries to
interpret `!7` as integer instead of it's operand.


  Commit: 203232ffbd80e9f4631213a3876f14dde155a92d
      https://github.com/llvm/llvm-project/commit/203232ffbd80e9f4631213a3876f14dde155a92d
  Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp

  Log Message:
  -----------
  [llvm][Support] ListeningSocket::accept returns operation_canceled if FD is set to -1 (#89479)

If `::poll` returns and `FD` equals -1, then `ListeningSocket::shutdown`
has been called. So, regardless of any other information that could be
gleaned from `FDs.revents` or `PollStatus`, it is appropriate to return
`std::errc::operation_canceled`. `ListeningSocket::shutdown` copies
`FD`'s value to `ObservedFD` then sets `FD` to -1 before canceling
`::poll` by calling `::close(ObservedFD)` and writing to the pipe.


  Commit: dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
      https://github.com/llvm/llvm-project/commit/dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    R clang/test/Interpreter/execute.c

  Log Message:
  -----------
  Revert "[clang-repl] Extend the C support. (#89804)"

This reverts commit 253c28fa829cee0104c2fc59ed1a958980b5138c.

This commit is causing failures on the lldb CI bots, e.g.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/4307/

On my local macOS desktop build,
```
bin/lldb-dotest -p TestImportBuiltinFileID.py
Assertion failed: (D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"), function addHiddenDecl, file DeclBase.cpp, line 1692.

6  libsystem_c.dylib        0x0000000185f0b8d0 abort + 128
7  libsystem_c.dylib        0x0000000185f0abc8 err + 0
8  liblldb.19.0.0git.dylib  0x00000001311e5800 clang::DeclContext::addHiddenDecl(clang::Decl*) + 120
9  liblldb.19.0.0git.dylib  0x00000001311e5978 clang::DeclContext::addDecl(clang::Decl*) + 32
10 liblldb.19.0.0git.dylib  0x000000012f617b48 clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) + 64
11 liblldb.19.0.0git.dylib  0x000000012eaf76c8 clang::Parser::ParseTopLevelStmtDecl() + 208
12 liblldb.19.0.0git.dylib  0x000000012ec051fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 3412
13 liblldb.19.0.0git.dylib  0x000000012ec03274 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 2020
14 liblldb.19.0.0git.dylib  0x000000012eaca860 clang::ParseAST(clang::Sema&, bool, bool) + 604
15 liblldb.19.0.0git.dylib  0x000000012e8554c0 clang::ASTFrontendAction::ExecuteAction() + 308
16 liblldb.19.0.0git.dylib  0x000000012e854c78 clang::FrontendAction::Execute() + 124
17 liblldb.19.0.0git.dylib  0x000000012e76dcfc clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 984
18 liblldb.19.0.0git.dylib  0x000000012e784500 compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>)::$_1::operator()() const + 52
```
Reverting until Vassil has a chance to look int oit.


  Commit: f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
      https://github.com/llvm/llvm-project/commit/f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
  Author: csstormq <swust_xiaoqiangxu at 163.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    A llvm/test/CodeGen/X86/misched-critical-path.ll

  Log Message:
  -----------
  [llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)


Fix https://github.com/llvm/llvm-project/issues/38037


  Commit: a9b67490b2baaa311100a64191792186ea5f2c1e
      https://github.com/llvm/llvm-project/commit/a9b67490b2baaa311100a64191792186ea5f2c1e
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Report adjusted program stats from perf2bolt in BAT mode (#91683)


  Commit: c2e0afe95efd495f5c76bbea410730a321a69e9c
      https://github.com/llvm/llvm-project/commit/c2e0afe95efd495f5c76bbea410730a321a69e9c
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroElide.cpp

  Log Message:
  -----------
  [Coroutines][NFC] Remove @llvm.coro.id.async intrinsics from CoroElide (#92956)


  Commit: 511077df763752fd2c187e4ca1a3ada335b77804
      https://github.com/llvm/llvm-project/commit/511077df763752fd2c187e4ca1a3ada335b77804
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp

  Log Message:
  -----------
  [sanitizers] Bump malloc limit to 1TB for MSAN, LSAN & DFSAN (#89728)

We already have `const uptr kMaxAllowedMallocSize = 1ULL << 40;` set for
ASAN, HWASAN, memprof, TSAN. This patch bumps the malloc limit for MSAN,
LSAN and DFSAN to 1TB as well. 8GB is simply not enough nowadays.


  Commit: a6d97dec899b880f0c3f674d6b3361a70b68ca09
      https://github.com/llvm/llvm-project/commit/a6d97dec899b880f0c3f674d6b3361a70b68ca09
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate C++ alternative operators in C (#92880)

PR #90161 uncovered a bug that annotates C++ xor as UnaryOperator if
followed by a binary operator. This patch fixes that and all other C++
alternative operator keywords when followed by a binary operator in C.

Fixes #92688.


  Commit: 935b946b1fdeeb9d67f1c42903dc15e88407208f
      https://github.com/llvm/llvm-project/commit/935b946b1fdeeb9d67f1c42903dc15e88407208f
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/ignored-interprocedural-reference.s

  Log Message:
  -----------
  [BOLT] Process cross references between ignored functions in BAT mode (#92484)

To align YAML and fdata profiles produced in BAT mode, lift two
restrictions applied in non-relocation mode when BAT is present:
1) register secondary entry points from ignored functions,
2) treat functions with secondary entry points as simple.

This allows constructing CFG for non-simple functions in non-relocation
mode and emitting YAML profile for them, which can then be used for
optimizations in relocation mode.

Test Plan: added test ignored-interprocedural-reference.s


  Commit: 97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
      https://github.com/llvm/llvm-project/commit/97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/link_fdata.py

  Log Message:
  -----------
  [BOLT] Use getLocationName in YAMLProfileWriter (#92493)

Disambiguate local functions using the containing file symbol in BAT
mode. Make local function naming consistent across BAT fdata and YAML
profiles.

Test Plan: updated register-fragments-bolt-symbols.s


  Commit: 66c619ac3ec6f644d051914fe402c84177ab9437
      https://github.com/llvm/llvm-project/commit/66c619ac3ec6f644d051914fe402c84177ab9437
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/runtime/instr.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    A bolt/test/X86/ignored-interprocedural-reference.s
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/link_fdata.py
    M bolt/test/runtime/X86/hot-end-symbol.s
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/Interp/sycl.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/darwin-target-variant.c
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/CodeGen/functions.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/CoverageMapping/mcdc-system-headers.cpp
    M clang/test/Driver/tocdata-cc1.c
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Parser/lax-conv.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/builtins.c
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/test/dfsan/custom.cpp
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/edit-output.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.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-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.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-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    R flang/test/Semantics/OpenMP/do02.f90
    A flang/test/Semantics/OpenMP/masked.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/atomic
    A libcxx/include/libcxx.imp
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    M libcxx/modules/std/atomic.inc
    M libcxx/src/chrono.cpp
    M libcxx/src/locale.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.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 libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
    M libcxx/utils/libcxx/test/features.py
    M libunwind/include/__libunwind_config.h
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    A lld/test/COFF/arm64ec-exports.s
    A lld/test/ELF/aarch64-feature-gcs.s
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/functionalities/bt-interrupt/main.c
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MemorySSA.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroElide.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/BPF/xadd.ll
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    A llvm/test/CodeGen/RISCV/pr90730.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    A llvm/test/CodeGen/X86/issue76416.ll
    A llvm/test/CodeGen/X86/misched-critical-path.ll
    A llvm/test/CodeGen/X86/pr90703.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/tools/llvm-driver/symlink-call.test
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/revert_checker.py
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    R offload/plugins-nextgen/exports
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

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

Created using spr 1.3.6-beta.1

[skip ci]


  Commit: b27266bd7ddcfda0da4be6b5b37e27f2ac99fa48
      https://github.com/llvm/llvm-project/commit/b27266bd7ddcfda0da4be6b5b37e27f2ac99fa48
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/runtime/instr.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    A bolt/test/X86/ignored-interprocedural-reference.s
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/link_fdata.py
    M bolt/test/runtime/X86/hot-end-symbol.s
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    M clang/cmake/caches/HLSL.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.h
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/cxx11.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/Interp/sycl.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
    M clang/test/CodeGen/aarch64-byval-temp.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
    M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
    M clang/test/CodeGen/aarch64-varargs.c
    M clang/test/CodeGen/darwin-target-variant.c
    M clang/test/CodeGen/fat-lto-objects.c
    M clang/test/CodeGen/functions.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/CodeGenCXX/wasm-eh.cpp
    M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
    M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
    A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
    M clang/test/CoverageMapping/mcdc-system-headers.cpp
    M clang/test/Driver/tocdata-cc1.c
    M clang/test/InstallAPI/alias_list.test
    M clang/test/InstallAPI/exclusive-passes-2.test
    A clang/test/InstallAPI/exclusive-passes-3.test
    M clang/test/InstallAPI/exclusive-passes.test
    M clang/test/InstallAPI/invalid-exclusive-passes.test
    M clang/test/OpenMP/threadprivate_codegen.cpp
    M clang/test/PCH/pack_indexing.cpp
    M clang/test/Parser/altivec.c
    M clang/test/Parser/cxx-altivec.cpp
    M clang/test/Parser/lax-conv.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/builtins.c
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaOpenACC/compute-construct-attach-clause.c
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-copy-clause.c
    M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
    M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-create-clause.c
    M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
    M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
    M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-present-clause.c
    M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
    M clang/test/SemaOpenACC/compute-construct-private-clause.c
    M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
    A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/dependent-names.cpp
    M clang/test/SemaTemplate/destructor-template.cpp
    M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
    M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
    M clang/test/SemaTemplate/typo-dependent-name.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
    M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
    M clang/tools/clang-format/ClangFormat.cpp
    M clang/tools/clang-installapi/InstallAPIOpts.td
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/AST/ASTImporterTest.cpp
    M clang/unittests/AST/Interp/Descriptor.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
    M clang/unittests/Format/CleanupTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestBase.h
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestJS.cpp
    M clang/unittests/Format/FormatTestJson.cpp
    M clang/unittests/Format/FormatTestProto.cpp
    M clang/unittests/Format/FormatTestRawStrings.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/FormatTestUtils.h
    M clang/unittests/Format/FormatTestVerilog.cpp
    M clang/unittests/Format/FormatTokenSourceTest.cpp
    M clang/unittests/Format/MacroCallReconstructorTest.cpp
    M clang/unittests/Format/MacroExpanderTest.cpp
    M clang/unittests/Format/MatchFilePathTest.cpp
    M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
    M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/SortImportsTestJS.cpp
    M clang/unittests/Format/SortImportsTestJava.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TestLexer.h
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/lib/dfsan/dfsan_allocator.cpp
    M compiler-rt/lib/dfsan/dfsan_custom.cpp
    M compiler-rt/lib/lsan/lsan_allocator.cpp
    M compiler-rt/lib/msan/msan_allocator.cpp
    M compiler-rt/test/dfsan/custom.cpp
    M flang/include/flang/Lower/AbstractConverter.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/HLFIR/Passes.h
    M flang/include/flang/Optimizer/HLFIR/Passes.td
    M flang/include/flang/Semantics/openmp-directive-sets.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.h
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/runtime/CMakeLists.txt
    M flang/runtime/edit-output.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    A flang/test/Lower/OpenMP/Todo/masked-directive.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/critical.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.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-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.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-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Lower/branching-directive.f90
    A flang/test/Lower/unstructured-control-flow.f90
    A flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Semantics/OpenMP/allocate-clause01.f90
    M flang/test/Semantics/OpenMP/allocate-directive.f90
    M flang/test/Semantics/OpenMP/allocate01.f90
    M flang/test/Semantics/OpenMP/allocate02.f90
    M flang/test/Semantics/OpenMP/allocate03.f90
    M flang/test/Semantics/OpenMP/allocate04.f90
    M flang/test/Semantics/OpenMP/allocate05.f90
    M flang/test/Semantics/OpenMP/allocate06.f90
    M flang/test/Semantics/OpenMP/allocate07.f90
    M flang/test/Semantics/OpenMP/allocate08.f90
    M flang/test/Semantics/OpenMP/allocate09.f90
    M flang/test/Semantics/OpenMP/allocators01.f90
    M flang/test/Semantics/OpenMP/allocators02.f90
    M flang/test/Semantics/OpenMP/allocators03.f90
    M flang/test/Semantics/OpenMP/allocators04.f90
    M flang/test/Semantics/OpenMP/allocators05.f90
    M flang/test/Semantics/OpenMP/allocators06.f90
    M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
    M flang/test/Semantics/OpenMP/atomic.f90
    M flang/test/Semantics/OpenMP/atomic01.f90
    M flang/test/Semantics/OpenMP/atomic02.f90
    M flang/test/Semantics/OpenMP/atomic03.f90
    M flang/test/Semantics/OpenMP/atomic04.f90
    M flang/test/Semantics/OpenMP/atomic05.f90
    M flang/test/Semantics/OpenMP/barrier.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/combined-constructs.f90
    M flang/test/Semantics/OpenMP/common-block.f90
    M flang/test/Semantics/OpenMP/compiler-directive.f90
    M flang/test/Semantics/OpenMP/copyin01.f90
    M flang/test/Semantics/OpenMP/copyin02.f90
    M flang/test/Semantics/OpenMP/copyin03.f90
    M flang/test/Semantics/OpenMP/copyin04.f90
    M flang/test/Semantics/OpenMP/copyin05.f90
    M flang/test/Semantics/OpenMP/copying.f90
    M flang/test/Semantics/OpenMP/copyprivate01.f90
    M flang/test/Semantics/OpenMP/copyprivate02.f90
    M flang/test/Semantics/OpenMP/copyprivate03.f90
    M flang/test/Semantics/OpenMP/critical-empty.f90
    M flang/test/Semantics/OpenMP/critical-hint-clause.f90
    R flang/test/Semantics/OpenMP/do02.f90
    A flang/test/Semantics/OpenMP/masked.f90
    M flang/test/Semantics/OpenMP/sections01.f90
    M flang/test/Semantics/OpenMP/sections02.f90
    M flang/test/Semantics/OpenMP/sections03.f90
    M flang/test/Semantics/OpenMP/simd-aligned.f90
    M flang/test/Semantics/OpenMP/simd-nontemporal.f90
    M flang/test/Semantics/OpenMP/simd01.f90
    M flang/test/Semantics/OpenMP/simd02.f90
    M flang/test/Semantics/OpenMP/simd03.f90
    M flang/test/Semantics/OpenMP/single01.f90
    M flang/test/Semantics/OpenMP/single02.f90
    M flang/test/Semantics/OpenMP/struct.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol04.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol06.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M flang/test/Semantics/OpenMP/sync-critical01.f90
    M flang/test/Semantics/OpenMP/sync-critical02.f90
    M flang/test/Semantics/OpenMP/taskgroup01.f90
    M flang/test/Semantics/OpenMP/taskloop01.f90
    M flang/test/Semantics/OpenMP/taskloop02.f90
    R flang/test/Semantics/OpenMP/taskloop03.f90
    M flang/test/Semantics/OpenMP/taskwait.f90
    M flang/test/Semantics/OpenMP/threadprivate01.f90
    M flang/test/Semantics/OpenMP/threadprivate02.f90
    M flang/test/Semantics/OpenMP/threadprivate03.f90
    M flang/test/Semantics/OpenMP/threadprivate04.f90
    M flang/test/Semantics/OpenMP/threadprivate05.f90
    M flang/test/Semantics/OpenMP/threadprivate06.f90
    M flang/test/Semantics/OpenMP/threadprivate07.f90
    M flang/test/Semantics/OpenMP/use_device_addr.f90
    M flang/test/Semantics/OpenMP/use_device_addr1.f90
    M flang/test/Semantics/OpenMP/use_device_ptr.f90
    M flang/test/Semantics/OpenMP/use_device_ptr1.f90
    M flang/test/Semantics/OpenMP/workshare01.f90
    M flang/test/Semantics/OpenMP/workshare02.f90
    M flang/test/Semantics/OpenMP/workshare03.f90
    M flang/test/Semantics/OpenMP/workshare04.f90
    M flang/test/Semantics/OpenMP/workshare05.f90
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt
    M libc/include/llvm-libc-macros/linux/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
    R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
    R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
    M libc/src/__support/threads/CMakeLists.txt
    A libc/src/__support/threads/CndVar.h
    M libc/src/__support/threads/linux/CMakeLists.txt
    A libc/src/__support/threads/linux/CndVar.cpp
    M libc/src/setjmp/x86_64/CMakeLists.txt
    M libc/src/threads/linux/CMakeLists.txt
    R libc/src/threads/linux/CndVar.h
    M libc/src/threads/linux/cnd_broadcast.cpp
    M libc/src/threads/linux/cnd_destroy.cpp
    M libc/src/threads/linux/cnd_init.cpp
    M libc/src/threads/linux/cnd_signal.cpp
    M libc/src/threads/linux/cnd_wait.cpp
    M libc/src/time/gpu/time_utils.cpp
    M libc/src/time/gpu/time_utils.h
    A libc/startup/baremetal/CMakeLists.txt
    A libc/startup/baremetal/fini.cpp
    A libc/startup/baremetal/init.cpp
    M libc/test/integration/scudo/CMakeLists.txt
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__atomic/atomic_ref.h
    M libcxx/include/__atomic/atomic_sync.h
    M libcxx/include/__atomic/check_memory_order.h
    M libcxx/include/__atomic/cxx_atomic_impl.h
    A libcxx/include/__atomic/to_gcc_order.h
    M libcxx/include/__type_traits/has_unique_object_representation.h
    M libcxx/include/atomic
    A libcxx/include/libcxx.imp
    M libcxx/include/locale
    M libcxx/include/module.modulemap
    M libcxx/modules/std/atomic.inc
    M libcxx/src/chrono.cpp
    M libcxx/src/locale.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
    A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
    A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
    A libcxx/test/std/atomics/atomics.ref/test_helper.h
    A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.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 libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
    M libcxx/utils/libcxx/test/features.py
    M libunwind/include/__libunwind_config.h
    M libunwind/src/UnwindLevel1.c
    M libunwind/src/UnwindRegistersRestore.S
    M libunwind/src/UnwindRegistersSave.S
    M libunwind/src/libunwind.cpp
    M lld/COFF/DriverUtils.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    A lld/test/COFF/arm64ec-exports.s
    A lld/test/ELF/aarch64-feature-gcs.s
    M lldb/include/lldb/API/SBCommandInterpreter.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/lldb-types.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/functionalities/bt-interrupt/main.c
    M lldb/test/API/lang/cpp/limit-debug-info/Makefile
    M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
    M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/base.h
    M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
    M lldb/test/API/lang/cpp/limit-debug-info/derived.h
    M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
    M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
    M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
    M lldb/test/API/python_api/interpreter/main.c
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
    A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
    A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
    M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/MemorySSA.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Analysis/CFG.h
    M llvm/include/llvm/Analysis/InstSimplifyFolder.h
    M llvm/include/llvm/Analysis/TargetFolder.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/IR/ConstantFolder.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IRBuilderFolder.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/NoFolder.h
    M llvm/include/llvm/MCA/IncrementalSourceMgr.h
    M llvm/include/llvm/MCA/InstrBuilder.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Analysis/CFG.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/MachineScheduler.cpp
    M llvm/lib/CodeGen/RegisterPressure.cpp
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/MDBuilder.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/ProfileData/SampleProfReader.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/raw_socket_stream.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/BPF/BPFMIChecking.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroElide.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
    M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Assembler/ConstantExprFold.ll
    A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
    M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
    M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
    A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
    M llvm/test/CodeGen/AMDGPU/permute_i8.ll
    M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
    A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
    M llvm/test/CodeGen/BPF/xadd.ll
    M llvm/test/CodeGen/NVPTX/param-overalign.ll
    M llvm/test/CodeGen/NVPTX/st-param-imm.ll
    M llvm/test/CodeGen/PowerPC/toc-data.ll
    M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
    M llvm/test/CodeGen/RISCV/pr69586.ll
    A llvm/test/CodeGen/RISCV/pr90730.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
    M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
    M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
    M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
    M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
    M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpload.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
    M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
    M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
    A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
    A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
    A llvm/test/CodeGen/X86/exp10-libcall-names.ll
    M llvm/test/CodeGen/X86/fat-lto-section.ll
    A llvm/test/CodeGen/X86/issue76416.ll
    A llvm/test/CodeGen/X86/misched-critical-path.ll
    A llvm/test/CodeGen/X86/pr90703.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
    A llvm/test/Linker/darwin-target-variant.ll
    M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
    M llvm/test/MC/MachO/darwin-target-variant.ll
    M llvm/test/MC/RISCV/rv32zaamo-invalid.s
    M llvm/test/MC/RISCV/rv32zaamo-valid.s
    M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv32zalrsc-valid.s
    M llvm/test/MC/RISCV/rv64zaamo-invalid.s
    M llvm/test/MC/RISCV/rv64zaamo-valid.s
    M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
    M llvm/test/MC/RISCV/rv64zalrsc-valid.s
    M llvm/test/TableGen/predicate-patfags.td
    M llvm/test/ThinLTO/X86/funcimport-stats.ll
    A llvm/test/ThinLTO/X86/import_callee_declaration.ll
    A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
    A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
    M llvm/test/Transforms/FunctionImport/funcimport.ll
    M llvm/test/Transforms/InstCombine/fma.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstSimplify/known-non-zero.ll
    M llvm/test/Transforms/InstSimplify/shufflevector.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
    A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
    A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/tools/llvm-driver/symlink-call.test
    M llvm/tools/llvm-cxxfilt/CMakeLists.txt
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
    M llvm/unittests/Analysis/ValueTrackingTest.cpp
    M llvm/unittests/IR/MDBuilderTest.cpp
    M llvm/unittests/Support/raw_socket_stream_test.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/revert_checker.py
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
    M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
    M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/Arith/int-range-opts.mlir
    M mlir/test/Dialect/IRDL/invalid.irdl.mlir
    M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
    A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    R offload/plugins-nextgen/exports
    M utils/bazel/llvm-project-overlay/llvm/driver.bzl
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/68009846793e...b27266bd7ddc

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