[all-commits] [llvm/llvm-project] 40b8a0: [RISCV][GISEL] Generate VLMax using -1 constant (#...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Oct 7 10:12:48 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpimprove-masked-loads-vectorization-attempting-gathered-loads
  Home:   https://github.com/llvm/llvm-project
  Commit: 40b8a0fd174397e87925da3f1837d74d5d663a50
      https://github.com/llvm/llvm-project/commit/40b8a0fd174397e87925da3f1837d74d5d663a50
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-extract-subvector.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-s64-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr.mir

  Log Message:
  -----------
  [RISCV][GISEL] Generate VLMax using -1 constant (#110778)

SelectionDAG uses ISD::REGISTER and uses RISCV::X0 to represent VLMAX.
Then in ComplexPattern VLOpt uses selectVLOp to convert RISCV::X0 to
RISCV::VLMaxSentinel.

The original legalization patch for G_SPLAT_VECTOR used Register
RISCV::X0 directly. $x0 has no LLT type, so GIComplexOperandMatcher has
no way of matching.

The approach we are changing to here will allow us to successfully use
GIComplexOperandMatcher to implement the ComplexMatcherFn selectVLOp in
GISEL since the operand now has a type.


  Commit: baf008ac29e582003f6fe6ec096a6d18bbb43d49
      https://github.com/llvm/llvm-project/commit/baf008ac29e582003f6fe6ec096a6d18bbb43d49
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/sink-cb-diff-attrs.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for sinking calls with differing number of attrs; NFC


  Commit: e343af777ef51c4496e7fb2689735866bc617897
      https://github.com/llvm/llvm-project/commit/e343af777ef51c4496e7fb2689735866bc617897
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/test/Transforms/SimplifyCFG/sink-cb-diff-attrs.ll
    M llvm/unittests/IR/AttributesTest.cpp

  Log Message:
  -----------
  [SimplifyCFG][Attributes] Enabling sinking calls with differing number of attrsets

Prior impl would fail if the number of attribute sets on the two calls
wasn't the same which is unnecessary as long as we aren't throwing
away and must-preserve attrs.

Closes #110896


  Commit: 0f512d15331fe3d336ad2917bb8b3cce91c965b9
      https://github.com/llvm/llvm-project/commit/0f512d15331fe3d336ad2917bb8b3cce91c965b9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td

  Log Message:
  -----------
  [NFC][DirectX][SPIRV] Intrinsics should be defined the same (#110895)

Over time our Intrinsics across the two backends have deviated. This
change brings them back into parity.


  Commit: 906ffc4b4a4444c69a759c2c19b3cf5da1cf6e1f
      https://github.com/llvm/llvm-project/commit/906ffc4b4a4444c69a759c2c19b3cf5da1cf6e1f
  Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move Utils test to proper file (#110763)


  Commit: bccd37f69fdc7b5cd00d9231cabbe74bfe38f598
      https://github.com/llvm/llvm-project/commit/bccd37f69fdc7b5cd00d9231cabbe74bfe38f598
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/PassCAPIGen.cpp
    M mlir/tools/mlir-tblgen/PassDocGen.cpp
    M mlir/tools/mlir-tblgen/PassGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp

  Log Message:
  -----------
  [NFC][MLIR][TableGen] Eliminate `llvm::` for commonly used types (#110841)

Eliminate `llvm::` namespace qualifier for commonly used types in MLIR
TableGen backends to reduce code clutter.


  Commit: 65e69f7436c08bb6a32a9d9784b2158b63af1955
      https://github.com/llvm/llvm-project/commit/65e69f7436c08bb6a32a9d9784b2158b63af1955
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M llvm/docs/TableGen/BackGuide.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/DetailedRecordsBackend.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp

  Log Message:
  -----------
  [NFC][TableGen] Change `Record::getSuperClasses` to use const Record* (#110845)

Change `Record::getSuperClasses` to return a const pointer to the
superclass records.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 36dff0d011cc1cf5a41e7e0b30057206ea9fd6f9
      https://github.com/llvm/llvm-project/commit/36dff0d011cc1cf5a41e7e0b30057206ea9fd6f9
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Reduce unsuccessful attempts of page releasing (#110583)

We introduce a new strategy to track how many bytes are not released
because of the contraint of release interval. This will change the
`TryReleaseThreshold` adaptively so that we avoid releasing the same
pages multiple times (and wasting time on the case of no pages to
release).

On Android, the number of release attempts decreases 33% (572 to 382)
and the worst case drops from 251 to 33. At the same time, it maintains
almost the same RSS usage (with some improvements as well).

Note that in this CL, this is only applied to non small blocks. We will
bring the strategy to all the size classes later.


  Commit: f98244392b4e3d4075c03528dcec0b268ba13ab7
      https://github.com/llvm/llvm-project/commit/f98244392b4e3d4075c03528dcec0b268ba13ab7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/Todo/lastprivate-conditional.f90
    A flang/test/Parser/OpenMP/lastprivate-clause.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  [flang][OpenMP] Parse lastprivate modifier, add TODO to lowering (#110568)

Parse the lastprivate clause with a modifier. Codegen for it is not yet
implemented.


  Commit: 916e6ad7d0608a1de6b570483a82509640b210b8
      https://github.com/llvm/llvm-project/commit/916e6ad7d0608a1de6b570483a82509640b210b8
  Author: Francis Visoiu Mistrih <890283+francisvm at users.noreply.github.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/RISCV/instruction-count-remark.mir

  Log Message:
  -----------
  [CodeGen] Fix InstructionCount remarks for MI bundles (#107621)

For MI bundles, the instruction count remark doesn't count the
instructions inside the bundle.


  Commit: 45ad1ac4a343b95540c22d074a8ed8f17958505d
      https://github.com/llvm/llvm-project/commit/45ad1ac4a343b95540c22d074a8ed8f17958505d
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/IR/PDLPatternMatch.h.inc
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp

  Log Message:
  -----------
  Revert "Fix LLVM_ENABLE_ABI_BREAKING_CHECKS macro check: use #if inst… (#110923)

…ead of #ifdef (#110883)"

This reverts commit 1905cdbf4ef15565504036c52725cb0622ee64ef, which
causes lots of failures where LLVM doesn't have the right header guards.
The errors can be seen on
[BuildKite](https://buildkite.com/llvm-project/upstream-bazel/builds/112362#01924eae-231c-4d06-ba87-2c538cf40e04),
where the source uses `#ifndef NDEBUG`, but the content in question is
defined when `LLVM_ENABLE_ABI_BREAKING_CHECKS == 1`.

For example, `llvm/include/llvm/Support/GenericDomTreeConstruction.h`
has the following:

```cpp
// Helper struct used during edge insertions.
struct InsertionInfo {
  // ...
#ifdef LLVM_ENABLE_ABI_BREAKING_CHECKS
  SmallVector<TreeNodePtr, 8> VisitedUnaffected;
#endif
};

// ...

InsertionInfo II;
// ...
#ifndef NDEBUG
            II.VisitedUnaffected.push_back(SuccTN);
#endif
```


  Commit: d24fdcecbb7791c8b12a308b0cac8501e85ef19b
      https://github.com/llvm/llvm-project/commit/d24fdcecbb7791c8b12a308b0cac8501e85ef19b
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

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

  Log Message:
  -----------
  Bazel: Add vector dialect dependency. (#110927)

Following up on https://github.com/llvm/llvm-project/pull/110904.

Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>


  Commit: e379b4b67f760e743d8bc826cc6de00a27109dbd
      https://github.com/llvm/llvm-project/commit/e379b4b67f760e743d8bc826cc6de00a27109dbd
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp

  Log Message:
  -----------
  [lldb] Fix compile failure on SymbolFileDWARFTests.cpp with gcc

We need to explicitly specify template argument for llvm::ArrayRef when building with gcc.


  Commit: f4b758db30281707ec3836e9d55eaf8cb3936dfe
      https://github.com/llvm/llvm-project/commit/f4b758db30281707ec3836e9d55eaf8cb3936dfe
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h

  Log Message:
  -----------
  [Modules] Add missing headers to fix the modular build. (#110924)


  Commit: 41eb186fbb024898bacc2577fa3b88db0510ba1f
      https://github.com/llvm/llvm-project/commit/41eb186fbb024898bacc2577fa3b88db0510ba1f
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  adds missing header, removes Bazel unnecessary dependency (#110932)

The missing header is necessary to keep building with Bazel happy, and the dependency was erroneously added.


  Commit: 076392b0aac2b4d2aed243adb4b35aba2603512c
      https://github.com/llvm/llvm-project/commit/076392b0aac2b4d2aed243adb4b35aba2603512c
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  [SPARC] Fix regression from UpgradeDataLayoutString change (#110608)

It turns out that we cannot rely on the presence of `-i64:64` as a
position reference when adding the `-i128:128` datalayout string due to
some custom datalayout strings lacking it (e.g ones used by bugpoint,
among other things).
Do not add the `-i128:128` string in that case.

This fixes the regression introduced in
https://github.com/llvm/llvm-project/pull/106951.


  Commit: e3686f1e44676fa28789c6732076b8998be23527
      https://github.com/llvm/llvm-project/commit/e3686f1e44676fa28789c6732076b8998be23527
  Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py

  Log Message:
  -----------
  [MLIR][sparse] Fix SparseTensor `test_output.py` test (#110882)

This PR fixes a test failure introduced in
https://github.com/llvm/llvm-project/pull/109135


  Commit: 6c7a3f80e75de36f2642110a077664e948d9e7e3
      https://github.com/llvm/llvm-project/commit/6c7a3f80e75de36f2642110a077664e948d9e7e3
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
    M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Passes/StandardInstrumentations.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
    M mlir/include/mlir/Dialect/Transform/Interfaces/TransformInterfaces.h
    M mlir/include/mlir/IR/PDLPatternMatch.h.inc
    M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp
    M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp

  Log Message:
  -----------
  Fix LLVM_ENABLE_ABI_BREAKING_CHECKS macro check: use #if instead of #ifdef (#110938)

This macros is always defined: either 0 or 1. The correct pattern is to
use #if.

Re-apply #110185 with more fixes for debug build with the ABI breaking
checks disabled.


  Commit: f35c213c816c9dd40d8ed4c3d155030bfd3e75e6
      https://github.com/llvm/llvm-project/commit/f35c213c816c9dd40d8ed4c3d155030bfd3e75e6
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/PassManager.h
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp

  Log Message:
  -----------
  [SandboxIR] Add RegionPass/RegionPassManager (#110933)

These classes mirror the existing FunctionPass/FunctionPassManager, and
will be used by the sandbox vectorizer to run a pipeline of region
passes.


  Commit: ca57e8f23ff042c0ae996b040f364ced433b7507
      https://github.com/llvm/llvm-project/commit/ca57e8f23ff042c0ae996b040f364ced433b7507
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/stack-protector-guard.c
    M clang/test/Driver/stack-protector-guard.c
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/stack-guard-global.ll
    A llvm/test/CodeGen/RISCV/stack-guard-tls.ll

  Log Message:
  -----------
  [RISCV] Support -mstack-protector-guard=tls (#108942)

Add support for using a thread-local variable with a specified offset
for holding the stack guard canary value.

Closes: #46685


  Commit: a268bda0dafd8ffa048e6892c5501313d01d4a40
      https://github.com/llvm/llvm-project/commit/a268bda0dafd8ffa048e6892c5501313d01d4a40
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/test/MC/WebAssembly/basic-assembly.s
    A llvm/test/MC/WebAssembly/block-assembly.s
    M llvm/test/MC/WebAssembly/reference-types.s
    M llvm/test/MC/WebAssembly/type-checker-errors.s

  Log Message:
  -----------
  [WebAssembly] Handle block and polymorphic stack in AsmTypeCheck (#110770)

This makes the type checker handle blocks with input parameters and
return types, branches, and polymorphic stacks correctly.

We maintain the stack of "block info", which contains its input
parameter type, return type, and whether it is a loop or not. And this
is used when checking the validity of the value stack at the `end`
marker and all branches targeting the block.

`StackType` now supports a new variant `Polymorphic`, which indicates
the stack is in the polymorphic state. `Polymorphic`s are not popped
even when `popType` is executed; they are only popped when the current
block ends.

When popping from the value stack, we ensure we don't pop more than we
are allowed to at the given block level and print appropriate error
messages instead. Also after a block ends, the value stack is guaranteed
to have the right types based on the block return type. For example,
```wast
block i32
  unreachable
end_block
;; You can expect to have an i32 on the stack here
```

This also adds handling for `br_if`. Previously only `br`s were checked.

`checkEnd` and `checkBr` were removed and their contents have been
inlined to the main `typeCheck` function, because they are called only
from a single callsite.

This also fixes two existing bugs in AsmParser, which were required to
make the tests passing. I added Github comments about them inline.

This modifies several existing invalid tests, those that passed
(incorrectly) before but do not pass with the new type checker anymore.

Fixes #107524.


  Commit: db33d82026b8742b2719289547e3cb9910c8d7d1
      https://github.com/llvm/llvm-project/commit/db33d82026b8742b2719289547e3cb9910c8d7d1
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll

  Log Message:
  -----------
  [llvm] Mark win x64 SEH pseudo instruction as meta instructions (#110889)

When adding new SEH pseudo instructions in #110024 I noticed that some
of the tests were changing their output since these new instructions
were counting towards thresholds for branching versus folding decisions.

These instructions do not result in real machine instructions being
emitted, so they should be marked as meta instructions.


  Commit: 7fe43ada28c31a9e9d82a76650d987a8b209755e
      https://github.com/llvm/llvm-project/commit/7fe43ada28c31a9e9d82a76650d987a8b209755e
  Author: Doug Wyatt <doug at sonosphere.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/Type.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/Headers/Inputs/include/setjmp.h
    M clang/test/Misc/warning-wall.c
    A clang/test/Sema/attr-nonblocking-constraints-ms.cpp
    A clang/test/Sema/attr-nonblocking-constraints.c
    A clang/test/Sema/attr-nonblocking-constraints.cpp
    M clang/test/Sema/attr-nonblocking-sema.cpp
    M clang/test/Sema/attr-nonblocking-syntax.cpp
    A clang/test/SemaObjCXX/attr-nonblocking-constraints.mm

  Log Message:
  -----------
  [Clang] nonblocking/nonallocating attributes: 2nd pass caller/callee analysis (#99656)

- In Sema, when encountering Decls with function effects needing
verification, add them to a vector, DeclsWithEffectsToVerify.
- Update AST serialization to include DeclsWithEffectsToVerify.
- In AnalysisBasedWarnings, use DeclsWithEffectsToVerify as a work
queue, verifying functions with declared effects, and inferring (when
permitted and necessary) whether their callees have effects.

---------

Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Co-authored-by: Erich Keane <ekeane at nvidia.com>


  Commit: 5064c4c4f8f5b09c51bab9b18f62a5c3012989c0
      https://github.com/llvm/llvm-project/commit/5064c4c4f8f5b09c51bab9b18f62a5c3012989c0
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp

  Log Message:
  -----------
  [Clang][Sema] Bump the instantiated index when skipping past non-init-captures (#110887)

Otherwise, we would probably have an unmatched instantiated declaration
for init-captures when they come after a non-init capture.

No release note because the bug only affects the trunk so far.

Fixes #110721


  Commit: 5762bd60d64ed63f2f1774c41b31a84f7a677524
      https://github.com/llvm/llvm-project/commit/5762bd60d64ed63f2f1774c41b31a84f7a677524
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/include/mlir/IR/OpBase.td
    M mlir/test/tblgen-to-irdl/TestDialect.td
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir] [tblgen-to-irdl] Add region support (#110512)

Adds support to exporting regions.


  Commit: 6a3468403e0e42aa053e78591b7b24052a58db1e
      https://github.com/llvm/llvm-project/commit/6a3468403e0e42aa053e78591b7b24052a58db1e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

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


  Commit: a5876bef61e44453b915e1f79366ca1bbfdba371
      https://github.com/llvm/llvm-project/commit/a5876bef61e44453b915e1f79366ca1bbfdba371
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Correct auto-completion based on ReplMode and escape char (#110784)

This commit improves the auto-completion in the Debug Console provided
by VS-Code.

So far, we were always suggesting completions for both LLDB commands and
for variables / expressions, even if the heuristic already determined
how the given string will be executed, e.g., because the user explicitly
typed the escape prefix. Furthermore, auto-completion after the escape
character was broken, since the offsets were not adjusted correctly.
With this commit we now correctly take this into account.

Even with this commit, auto-completion does not always work reliably:

* VS Code only requests auto-completion after typing the first
alphabetic character, but not after punctuation characters. This means
that no completions are provided after typing "`"
* LLDB does not provide autocompletions if a string is an exact match.
This means if a user types `l` (which is a valid command), LLDB will not
provide "language" and "log" as potential completions. Even worse, VS
Code caches the completion and does client-side filtering. Hence, even
after typing `la`, no auto-completion for "language" is shown in the UI.

Those issues might be fixed in follow-up commits. Also with those known
issues, the experience is already much better with this commit.

Furthermore, I updated the README since I noticed that it was slightly
inaccurate.


  Commit: 6ae14c0505e92cceefc1757467e4a2eb797429e6
      https://github.com/llvm/llvm-project/commit/6ae14c0505e92cceefc1757467e4a2eb797429e6
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Annotate the l_paren of function pointer types (#109229)

Fixes #109146.


  Commit: 98281da29f7e36e22ff1e20b9cfefda8c31dbe56
      https://github.com/llvm/llvm-project/commit/98281da29f7e36e22ff1e20b9cfefda8c31dbe56
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly annotate */& in if condition with braced init (#109505)

Fixes #109371.


  Commit: 688bc958bd4167512f0d45e1fd008c9551de1c75
      https://github.com/llvm/llvm-project/commit/688bc958bd4167512f0d45e1fd008c9551de1c75
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Add TemplateNames option to help parse C++ angles (#109916)

Closes #109912.


  Commit: b91a25ef58160acd296e87cf89a92fafd26b64ef
      https://github.com/llvm/llvm-project/commit/b91a25ef58160acd296e87cf89a92fafd26b64ef
  Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    A flang/test/Lower/nsw.f90
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp

  Log Message:
  -----------
  [flang] add nsw to operations in subscripts (#110060)

This patch adds nsw to operations when lowering subscripts.

See also the discussion in the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/9


  Commit: 14e1fef73625daf9fad1a2c51b16f67b3152a675
      https://github.com/llvm/llvm-project/commit/14e1fef73625daf9fad1a2c51b16f67b3152a675
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Handle template closer followed by empty paretheses (#110408)

Fixes #109925.


  Commit: c1343a29216f08ec762b3e58572e5c3e41f6f285
      https://github.com/llvm/llvm-project/commit/c1343a29216f08ec762b3e58572e5c3e41f6f285
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/lto.c
    M clang/test/Driver/thinlto.c
    M clang/test/Driver/thinlto.cu

  Log Message:
  -----------
  [clang] [Driver] Ensure we error on lto with link.exe and target `*-windows-msvc` on non cl driver modes (#109607)

Similar to previous PRs I've done to change some `IsCLMode` checks to
`isWindowsMSVCEnvironment`.
I stumbled into this one accidentally last week. I did some greps and I
think this is the last one for now. All the remaining `IsCLMode` checks
are only valid for the cl driver mode.

For the `*-windows-msvc` target MSVC link.exe and lld are supported. LTO
isn't supported with MSVC link.exe and so we error when lto is enabled
but MSVC link.exe is being used. However we only error if the driver
mode is cl.
If we are using the clang driver with the `*-windows-msvc` target then
ensure an error is also emitted when LTO and MSVC link.exe are used
together.


  Commit: e7a43ca84fabeab386ba4d402167244dac27b265
      https://github.com/llvm/llvm-project/commit/e7a43ca84fabeab386ba4d402167244dac27b265
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

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

  Log Message:
  -----------
  [lldb-dap] Fix a warning

This patch fixes:

  lldb/tools/lldb-dap/lldb-dap.cpp:1405:16: error: comparison of
  integers of different signs: 'int64_t' (aka 'long') and 'size_type'
  (aka 'unsigned long') [-Werror,-Wsign-compare]


  Commit: d15e53c1e4a05f6f4876f25813c57b37d4887a70
      https://github.com/llvm/llvm-project/commit/d15e53c1e4a05f6f4876f25813c57b37d4887a70
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir

  Log Message:
  -----------
  [RISCV] Check vmerge's true is in same block in vmerge -> vmv.v.v peephole (#110861)

The peepholes in RISCVVectorPeephole need to be local and we were
failing to check if the true operand was in the same block as the
vmerge.

Fixes #110832


  Commit: 882457a2eedbe6d53161b2f78fcf769fc9a93e8a
      https://github.com/llvm/llvm-project/commit/882457a2eedbe6d53161b2f78fcf769fc9a93e8a
  Author: Jan Hendrik Farr <Cydox at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    A clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c

  Log Message:
  -----------
  [Clang] Fix 'counted_by' for nested struct pointers (#110497)

Fix counted_by attribute for cases where the flexible array member is
accessed through struct pointer inside another struct:

```
struct variable {
        int a;
        int b;
        int length;
        short array[] __attribute__((counted_by(length)));
};

struct bucket {
        int a;
        struct variable *growable;
        int b;
};
```

__builtin_dynamic_object_size(p->growable->array, 0);

This commit makes sure that if the StructBase is both a MemberExpr and a
pointer, it is treated as a pointer. Otherwise clang will generate to
code to access the address of p->growable intead of loading the value of
p->growable->length.

Fixes #110385


  Commit: 56736c7937504692cd0de1254300fee568976121
      https://github.com/llvm/llvm-project/commit/56736c7937504692cd0de1254300fee568976121
  Author: Andrei Safronov <andrei.safronov at espressif.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/test/CodeGen/Xtensa/blockaddress.ll
    A llvm/test/CodeGen/Xtensa/volatile.ll

  Log Message:
  -----------
  [Xtensa] Implement volatile load/store. (#110292)

Add a memory wait "MEMW" instruction before volatile load/store
operations, as implemented in GCC.


  Commit: 8a57d8212000a6611b24f79aa4d28af17cef7150
      https://github.com/llvm/llvm-project/commit/8a57d8212000a6611b24f79aa4d28af17cef7150
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir] Add Scalar Broadcast TOSA Depthwise Conv (#110806)

Support broadcasting of depthwise conv2d bias in tosa->linalg named
lowering in the case that bias is a rank-1 tensor with exactly 1
element. In this case TOSA specifies the value should first be broadcast
across the bias dimension and then across the result tensor.

Add `lit` tests for depthwise conv2d with scalar bias and for conv3d
which was already supported but missing coverage.

Signed-off-by: Jack Frankland <jack.frankland at arm.com>


  Commit: aec87a2143c01039578ceaed752ca2cb1dc83ff7
      https://github.com/llvm/llvm-project/commit/aec87a2143c01039578ceaed752ca2cb1dc83ff7
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-10-02 (Wed, 02 Oct 2024)

  Changed paths:
    M flang/lib/Lower/DirectivesCommon.h
    A flang/test/Integration/OpenMP/atomic-capture-complex.f90
    A flang/test/Integration/OpenMP/atomic-update-complex.f90
    R flang/test/Lower/OpenMP/Todo/atomic-complex.f90
    A llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    A llvm/lib/Frontend/Atomic/Atomic.cpp
    A llvm/lib/Frontend/Atomic/CMakeLists.txt
    M llvm/lib/Frontend/CMakeLists.txt
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [llvm][mlir][flang][OpenMP] Emit __atomic_load and __atomic_compare_exchange libcalls for complex types in atomic update (#92364)

This patch adds functionality to emit relevant libcalls in case
atomicrmw instruction can not be emitted (for instance, in case of
complex types). The IRBuilder is modified to directly emit __atomic_load
and __atomic_compare_exchange libcalls. The added functions follow a
similar codegen path as Clang, so that LLVM Flang generates almost
similar IR as Clang.

Fixes https://github.com/llvm/llvm-project/issues/83760 and
https://github.com/llvm/llvm-project/issues/75138

Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>


  Commit: a2994ded60c7476e30107a851d61647ccf02d5de
      https://github.com/llvm/llvm-project/commit/a2994ded60c7476e30107a851d61647ccf02d5de
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Fix RISCVBitPositions typo (#110953)

This patch updates  `{"zve64x", 0, 63},` into `{"zve64f", 0, 63},`.

Base on
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions


  Commit: 650c41aad2eb43c634a05b2b5799a0c13a73b92f
      https://github.com/llvm/llvm-project/commit/650c41aad2eb43c634a05b2b5799a0c13a73b92f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    R llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir

  Log Message:
  -----------
  Revert "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buffer.*.pN (#110714)"

Some builders has been failing tests.
```
Failed Tests (2):
  LLVM :: CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
  LLVM :: CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
```

This reverts commit ae5bd2a9f292037c605b2ec0ee31200581bd8701.
(llvmorg-20-init-7805-gae5bd2a9f292)


  Commit: 6c25604df2f669a0403a17dbdbe5c081db1e80a1
      https://github.com/llvm/llvm-project/commit/6c25604df2f669a0403a17dbdbe5c081db1e80a1
  Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    A mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir
    A mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir

  Log Message:
  -----------
  [mlir][xegpu] Convert Vector load and store to XeGPU (#110826)

Adds patterns to lower vector.load|store to XeGPU operations.


  Commit: b0b1a113053deae5315a57f2e9a1a689473525f7
      https://github.com/llvm/llvm-project/commit/b0b1a113053deae5315a57f2e9a1a689473525f7
  Author: David Green <david.green at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll

  Log Message:
  -----------
  [AArch64] Add libcall for fp128 pow/log/sin/cos/etc.

As with other operations, this adds libcall support for fp128 G_FPOW,
G_FLOG/G_FEXP/etc, and G_FSIN/G_FCOS/etc operations.


  Commit: 944f4adcd2c7aa92e757984502774bd12508bfe9
      https://github.com/llvm/llvm-project/commit/944f4adcd2c7aa92e757984502774bd12508bfe9
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rv32zbs.ll
    M llvm/test/CodeGen/RISCV/rv64zbs.ll

  Log Message:
  -----------
  [RISCV][ISel] Select `binvi` for pattern `icmp eq/ne X, pow2` (#110957)

This patch selects `binvi` for pattern `icmp eq/ne X, pow2` when zbs is
available.


  Commit: 1701895c362176cb898eba509b18e8d72d8095c9
      https://github.com/llvm/llvm-project/commit/1701895c362176cb898eba509b18e8d72d8095c9
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
    M clang/test/Analysis/ptr-arith.c

  Log Message:
  -----------
  [clang][analyzer] Less redundant warnings from FixedAddressChecker (#110458)

If a fixed value is assigned to a pointer variable, the checker did emit
a warning. If the pointer variable is assigned to another pointer
variable, this resulted in another warning. The checker now emits
warning only if a value with non-pointer type is assigned (to a pointer
variable).


  Commit: 3736ef0da8d0be12ec2fdaf4580a98a317d666ea
      https://github.com/llvm/llvm-project/commit/3736ef0da8d0be12ec2fdaf4580a98a317d666ea
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [bazel] Fix build past aec87a2143c01039578ceaed752ca2cb1dc83ff7 (#110967)


  Commit: 8ecbad7e416b7c2a8eadf02be553a1caf328a14f
      https://github.com/llvm/llvm-project/commit/8ecbad7e416b7c2a8eadf02be553a1caf328a14f
  Author: David Green <david.green at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/fpowi.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add fpowi fp128 libcall legalization.


  Commit: eb4a91dcea7703480b7d8ac818710c1aba3499c5
      https://github.com/llvm/llvm-project/commit/eb4a91dcea7703480b7d8ac818710c1aba3499c5
  Author: David Green <david.green at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/frem.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add frem fp128 libcall legalization.

Like other operations, these need to be marked as libcall.


  Commit: e984d11d7257343da366d9fa03749a43a6d6af72
      https://github.com/llvm/llvm-project/commit/e984d11d7257343da366d9fa03749a43a6d6af72
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp

  Log Message:
  -----------
  [clang-tidy] loop convert can handle lambda init capture (#109159)

Fixes: #109083
Current implement ignore the whole lambda capture. This patch wants to
do traverse for capture init expr also


  Commit: 612760ede66142b89f626336b4ba7b2964641afb
      https://github.com/llvm/llvm-project/commit/612760ede66142b89f626336b4ba7b2964641afb
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    R flang/test/Integration/OpenMP/atomic-capture-complex.f90

  Log Message:
  -----------
  [flang] Fix aarch64 CI failures from #92364 (#110969)

An integration test added in #92364 causes aarch64 buildbot failures.
Reverting the same. The relevant functionality added in #92364 is still
tested by the MLIR tests added in that PR, which pass on the relevant
aarch64 builds.


  Commit: 7ad566d575b9a3657f2bfd37005ef475154dd86d
      https://github.com/llvm/llvm-project/commit/7ad566d575b9a3657f2bfd37005ef475154dd86d
  Author: Perry Gibson <Wheest at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Transforms/remove-dead-values.mlir

  Log Message:
  -----------
  [mlir] Fix `remove-dead-values` pass throws error when module has a name (#109990)

Fixes #107870.

We can allow the enclosing Module operation to have a symbol.
The check was likely originally not considering this case and intended
to catch symbols inside the region, not accounting that the walk would
visit the enclosing operation.


  Commit: 1cc3ffab4076ad727a2346b17b34486d848da9f6
      https://github.com/llvm/llvm-project/commit/1cc3ffab4076ad727a2346b17b34486d848da9f6
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp

  Log Message:
  -----------
  clangCodeGen: Reformat and refactor. NFC.


  Commit: 6c331e50e4bfb4158d16ec3fe17ad7bb5c739e9f
      https://github.com/llvm/llvm-project/commit/6c331e50e4bfb4158d16ec3fe17ad7bb5c739e9f
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll

  Log Message:
  -----------
  [MC/DC] Rework tvbitmap.update to get rid of the inlined function (#110792)

Per the discussion in #102542, it is safe to insert BBs under
`lowerIntrinsics()` since #69535 has made tolerant of modifying BBs.

So, I can get rid of using the inlined function `rmw_or`, introduced in
#96040.


  Commit: 870bdc6ea7d98538a2ac80b85d97b7dd1e5ad42d
      https://github.com/llvm/llvm-project/commit/870bdc6ea7d98538a2ac80b85d97b7dd1e5ad42d
  Author: vikashgu <Vikash.Gupta at amd.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll

  Log Message:
  -----------
  Reapply "[AMDGPU]Optimize SGPR spills (#93668)"

This reverts commit c2fc7f75f67039bb1ed577bc0edbd699a850cd9d. As the
dependent patch about split vgpr regalloc pipeline solved the issue(#96353).


  Commit: 94cf80d6fd612b36d5a21bf655643e46af2b8802
      https://github.com/llvm/llvm-project/commit/94cf80d6fd612b36d5a21bf655643e46af2b8802
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
    A mlir/test/Dialect/Linalg/fold-add-into-dest.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Pattern to fold AddOp to accumulation via contraction op's dest (#110514)

Replaces a linalg.add with one operand the single user of a contraction,
which has a zero-filled, "identity-mapped" destination and is dominated
by the `other` operand, by the contraction with `other` as its dest.

Benefits include elision of an elementwise op, namely the linalg.add,
and removing a tensor.empty as a destination which is likely to require
an allocation upon bufferization.


  Commit: a017ed04cc9bcc75b3c3ef35c923dbe7dc4606f8
      https://github.com/llvm/llvm-project/commit/a017ed04cc9bcc75b3c3ef35c923dbe7dc4606f8
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    A clang/test/Analysis/builtin_overflow.c
    A clang/test/Analysis/builtin_overflow_notes.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/taint-tester.c

  Log Message:
  -----------
  [analyzer] Model overflow builtins (#102602)

Add basic support for `builtin_*_overflow`  primitives.
 
These helps a lot for checking custom calloc-like functions with
inlinable body. Without such support code like

```c
#include <stddef.h>
#include <stdlib.h>

static void *myMalloc(size_t a1, size_t a2)
{
    size_t res;

    if (__builtin_mul_overflow(a1, a2, &res))
        return NULL;
    return malloc(res);
}

void test(void)
{
    char *ptr = myMalloc(10, 1);
    ptr[20] = 10;
}
````

does not trigger any warnings.


  Commit: 200dd6fb1764389cd57dc09575c7883d8fb02764
      https://github.com/llvm/llvm-project/commit/200dd6fb1764389cd57dc09575c7883d8fb02764
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/sse-builtins-constrained.c
    M clang/test/CodeGen/X86/sse-builtins-dbg.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/sse3-builtins.c
    M clang/test/CodeGen/X86/ssse3-builtins.c

  Log Message:
  -----------
  [clang][x86] Update SSE1/2/3 intrinsic tests for both C/C++

Requires some better checking of labels and some call instructions to handle additional markers


  Commit: 1ba19d6c49663a35baf5d6cdc4a149e2aca9ae6c
      https://github.com/llvm/llvm-project/commit/1ba19d6c49663a35baf5d6cdc4a149e2aca9ae6c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/sse4a-builtins.c

  Log Message:
  -----------
  [clang][x86] Update SSE4A intrinsic tests for both C/C++

Requires some better checking of labels and some call instructions to handle additional markers


  Commit: 7506872afc6c1cc7556eed5128a2030b6eb8ca29
      https://github.com/llvm/llvm-project/commit/7506872afc6c1cc7556eed5128a2030b6eb8ca29
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-large-width.ll

  Log Message:
  -----------
  [DebugInfo][LSR] Fix assertion failure salvaging IV with offset > 64 bits wide (#110979)

Fixes #110494


  Commit: d283705829ecbdf4d1c214a88166d5750f992255
      https://github.com/llvm/llvm-project/commit/d283705829ecbdf4d1c214a88166d5750f992255
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-bfloat.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cvt.ll

  Log Message:
  -----------
  [AArch64][SVE] Fix definition of bfloat fcvt intrinsics. (#110281)

Affected intrinsics:
  llvm.aarch64.sve.fcvt.bf16f32
  llvm.aarch64.sve.fcvtnt.bf16f32
    
The named intrinsics took a predicate based on the smallest element type
when it should be based on the largest. The intrinsics have been replace
by v2 equivalents and affected code ported to use them.
    
Patch includes changes to getSVEPredicateBitCast() that ensure the
generated code for the auto-upgraded old intrinsics is unchanged.


  Commit: d5f6e886ff0df8265d44ab0646afcb4a06e6475a
      https://github.com/llvm/llvm-project/commit/d5f6e886ff0df8265d44ab0646afcb4a06e6475a
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp

  Log Message:
  -----------
  [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (#108375)

Depends on https://github.com/llvm/llvm-project/pull/108362 and
https://github.com/llvm/llvm-project/pull/108343.

Adds new layout for https://github.com/llvm/llvm-project/pull/105865.


  Commit: 5901463ada16fa54959a7c9c63ccf089dfc085c2
      https://github.com/llvm/llvm-project/commit/5901463ada16fa54959a7c9c63ccf089dfc085c2
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [SLP] NFC. BaseIndex is not used for getSameOpcode. (#110948)


  Commit: 8d13e7b8c382499c1cf0c2a3184b483e760f266b
      https://github.com/llvm/llvm-project/commit/8d13e7b8c382499c1cf0c2a3184b483e760f266b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    M llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp

  Log Message:
  -----------
  [AMDGPU] Qualify auto. NFC. (#110878)

Generated automatically with:
$ clang-tidy -fix -checks=-*,llvm-qualified-auto $(find
lib/Target/AMDGPU/ -type f)


  Commit: a62a80cc80b7ad835a10047c970171f6f310e26b
      https://github.com/llvm/llvm-project/commit/a62a80cc80b7ad835a10047c970171f6f310e26b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/sse42-builtins.c

  Log Message:
  -----------
  [clang][x86] Update SSE42 intrinsic tests for both C/C++

Requires some better checking of labels and some call instructions to handle additional markers


  Commit: 7c50c1e73bc959246933d294319391e762bb05d5
      https://github.com/llvm/llvm-project/commit/7c50c1e73bc959246933d294319391e762bb05d5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    A clang/test/CodeGen/X86/pr51324.c
    A clang/test/CodeGen/X86/pr60006.c
    M clang/test/CodeGen/X86/sse41-builtins.c

  Log Message:
  -----------
  [clang][x86] Pull out PR51324 / PR60006 test cases into their own codegen test files


  Commit: 44df106cb182d2316b4b0b8596d3745f62c17ba6
      https://github.com/llvm/llvm-project/commit/44df106cb182d2316b4b0b8596d3745f62c17ba6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/sse41-builtins.c

  Log Message:
  -----------
  [clang][x86] Update SSE41 intrinsic tests for both C/C++

Requires some better checking of labels and some call instructions to handle additional markers


  Commit: 19c6958d24acf5beaba1946ad3e1e5fc538e3a2d
      https://github.com/llvm/llvm-project/commit/19c6958d24acf5beaba1946ad3e1e5fc538e3a2d
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    R libcxx/include/__memory/voidify.h
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [libc++] Re-apply LWG3870: Remove `voidify` (#110944)

This reverts commit f3d58f4161b86a479f68acb453e9622911c688a0.

Relands #110355.


  Commit: 82f5acfbec65e1a645d902f746253eeaf0bd2d70
      https://github.com/llvm/llvm-project/commit/82f5acfbec65e1a645d902f746253eeaf0bd2d70
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [bazel] Fix build past 2026501cf107fcb3cbd51026ba25fda3af823941 (#110991)


  Commit: 121ed5c1985356436d0040dbe81bca26992b1fae
      https://github.com/llvm/llvm-project/commit/121ed5c1985356436d0040dbe81bca26992b1fae
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.jthread/copy.delete.compile.pass.cpp
    M libcxx/test/std/thread/thread.jthread/detach.pass.cpp
    M libcxx/test/std/thread/thread.jthread/dtor.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_id.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_stop_source.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_stop_token.pass.cpp
    M libcxx/test/std/thread/thread.jthread/hardware_concurrency.pass.cpp
    M libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp
    M libcxx/test/std/thread/thread.jthread/join.pass.cpp
    M libcxx/test/std/thread/thread.jthread/joinable.pass.cpp
    M libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.jthread/request_stop.pass.cpp
    M libcxx/test/std/thread/thread.jthread/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.jthread/swap.member.pass.cpp
    M libcxx/test/std/thread/thread.jthread/type.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/nostopstate/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.const.token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.rvalue.token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/copy.move.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/ctad.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/typedef.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/assign.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.nostopstate.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/equals.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/get_token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/move.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/request_stop.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_possible.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_requested.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.member.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/equals.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_possible.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_requested.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.member.pass.cpp
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Remove test suite annotations for experimental stop_token (#110890)

<stop_token> is not experimental anymore, so its tests shouldn't be
guarded by libcpp-has-no-experimental-stop_token.


  Commit: bfb3a442b83a5e9fc4b3d3919d845dc8bded810f
      https://github.com/llvm/llvm-project/commit/bfb3a442b83a5e9fc4b3d3919d845dc8bded810f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/utils/gdb/libcxx/printers.py

  Log Message:
  -----------
  [libc++] Index from 0 in GDB pretty printers (#110881)

Fixes #62168


  Commit: 4f82f27ccdd1839bd502c9c1a79e5de2fb28e07b
      https://github.com/llvm/llvm-project/commit/4f82f27ccdd1839bd502c9c1a79e5de2fb28e07b
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp

  Log Message:
  -----------
  [OpenACC] 'collapse' clause 'force' tag (#110906)

The 'force' tag permits intervening code on the applicable 'loop'
construct,
 so this implements the restriction when the 'force' tag isn't present.


  Commit: ea62db0c0398ec2e7d7c4c6561feb3b4ace98050
      https://github.com/llvm/llvm-project/commit/ea62db0c0398ec2e7d7c4c6561feb3b4ace98050
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang.cmake
    A compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
    A compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
    A libcxx/cmake/caches/hexagon-linux-runtimes.cmake

  Log Message:
  -----------
  [cmake] Add hexagon-linux cmake cache files (#98712)

These can be used to create a fully-bootstrapped toolchain to target
hexagon {baremetal,linux} with scripts like the ones in
https://github.com/quic/toolchain_for_hexagon


  Commit: 8bcf79914b9395048d2ef11b6dc5f95fddb9747a
      https://github.com/llvm/llvm-project/commit/8bcf79914b9395048d2ef11b6dc5f95fddb9747a
  Author: William Moses <gh at wsmoses.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Support/Unix/Threading.inc

  Log Message:
  -----------
  Fix have pthread_getname for some system (#110854)

I'm on a system that has have_pthread_getname_np defined but set to 0.
The correct behavior here is not to use the function, but presently the
macros will attempt to use a non-existing function.

This previously worked before
https://github.com/llvm/llvm-project/pull/106486/files


  Commit: 241f93658a8a9509216b841d3272194bd34fed36
      https://github.com/llvm/llvm-project/commit/241f93658a8a9509216b841d3272194bd34fed36
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/anonymous-location.td

  Log Message:
  -----------
  [TableGen] Fix source location for anonymous records (#110935)

Fix source location for anonymous records to be the one of the locations
where that record is instantiated as opposed to the location of the
class that was anonymously instantiated.

Currently, when a record is anonymously instantiated (via
`VarDefInit::instantiate`), we use the location of the class for the
record, which is not correct. Instead, pass in the `SMLoc` for the
location where the anonymous instantiation happens and use that location
when the record is instantiated. If there are multiple anonymous
instantiations with the same parameters, the location for the (single)
record created will be one of these instantiation locations as opposed
to the class location.


  Commit: e813750354bbc08551cf23ff559a54b4a9ea1f29
      https://github.com/llvm/llvm-project/commit/e813750354bbc08551cf23ff559a54b4a9ea1f29
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/include/mlir/TableGen/GenInfo.h
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
    M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
    M mlir/tools/mlir-tblgen/OmpOpGen.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.h
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    M mlir/tools/mlir-tblgen/PassDocGen.cpp
    M mlir/tools/mlir-tblgen/PassGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [NFC] Rename variable `recordKeeper` to `records` (#110989)


  Commit: 4547d6042ac2e88b12936b1f81beee1ea580d63d
      https://github.com/llvm/llvm-project/commit/4547d6042ac2e88b12936b1f81beee1ea580d63d
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
    A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_unsafe.ll

  Log Message:
  -----------
  [llvm][rtsan] Add transform pass for sanitize_realtime_unsafe (#109543)


  Commit: eafa15009e95c1c7eed3026218a73f09e1da3288
      https://github.com/llvm/llvm-project/commit/eafa15009e95c1c7eed3026218a73f09e1da3288
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/test/Lower/OpenMP/simd.f90

  Log Message:
  -----------
  [flang][OpenMP] Enable lastprivate on simd (#93786)

This PR enables the lowering of lastprivate when defined on simd
construct


  Commit: 8e049fa327111ac6b6904638366528f7e07a8462
      https://github.com/llvm/llvm-project/commit/8e049fa327111ac6b6904638366528f7e07a8462
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__ranges/transform_view.h

  Log Message:
  -----------
  [libc++] Rename __range_adaptor_closure_t (#110886)

The name __range_adaptor_closure_t can easily be confused with
__range_adaptor_closure, so something more distinct is preferable.

Fixes #67611


  Commit: 34d0c99d82791607d96db18b94218269106ef3b8
      https://github.com/llvm/llvm-project/commit/34d0c99d82791607d96db18b94218269106ef3b8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++unexp.exp
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Stop trying to avoid exporting some typeinfo names (#110925)

When the library was initially written, it was not built with hidden
visibility. In an attempt to reduce the number of symbols exported from
libc++, an explicit list of symbols to avoid exporting was passed to the
linker. This was only done on Apple platforms.

Since then, the library has moved on in several ways. First, we now
build with hidden visibility by default, so arbitrary symbols don't get
exported from the library for no reason. Second, we have proper
visibility control via source annotations, so we export exactly what we
want to, and we do that from the sources.

This patch removes the explicit list of symbols to avoid exporting from
the library, which at this point doesn't cover much anyways. The only
symbols we will now be exporting that we were not before are some
typeinfo names for implementation-detail types. While we technically
wouldn't have to export those (I don't think any user can get their
hands on those typeinfo names), that makes the library more consistent
on all platforms.


  Commit: ee4dd147baff8f971f3ec5aad5a216ca9837a732
      https://github.com/llvm/llvm-project/commit/ee4dd147baff8f971f3ec5aad5a216ca9837a732
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp

  Log Message:
  -----------
  Revert "[lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (#108375)"

This reverts commit d5f6e886ff0df8265d44ab0646afcb4a06e6475a.

Caused failure on Windows CI. Following test failed:
```
Config=aarch64-C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe

======================================================================

FAIL: test_r5_c2_ALTERNATE_LAYOUT (TestDataFormatterLibcxxStringSimulator.LibcxxStringDataFormatterSimulatorTestCase.test_r5_c2_ALTERNATE_LAYOUT)

    partial(func, *args, **keywords) - new function with partial application

----------------------------------------------------------------------

Traceback (most recent call last):

  File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\functionalities\data-formatter\data-formatter-stl\libcxx-simulators\string\TestDataFormatterLibcxxStringSimulator.py", line 23, in _run_test

    self.expect_var_path("longstring", summary='"I am a very long string"')

  File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 2552, in expect_var_path

    value_check.check_value(self, eval_result, str(eval_result))

  File "C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 321, in check_value

    test_base.assertEqual(

AssertionError: '"I am a very long string"' != '""'

- "I am a very long string"

+ ""

 : (std::__lldb::string) longstring = ""

Checking SBValue: (std::__lldb::string) longstring = ""
```

We may need to use `msvc::no_unique_address` around the simulators.


  Commit: d0d12fc78a3c552e6bf4158825d4917645911f6e
      https://github.com/llvm/llvm-project/commit/d0d12fc78a3c552e6bf4158825d4917645911f6e
  Author: Marina Taylor <marina_taylor at apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/icmp-equality-test.ll

  Log Message:
  -----------
  [InstCombine] Fold (X==Z) ? (Y==Z) : (!(Y==Z) && X==Y) --> X==Y (#108619)

This corresponds to the canonicalized form of some logic that was
seen in Swift-generated code for comparing optional pointers:
`(X==Z || Y==Z) ? (X==Z && Y==Z) : X==Y --> X==Y`
where `Z` was the constant `0`.

https://alive2.llvm.org/ce/z/J_3aa9


  Commit: 9fd75233ca757cf172d10703ac82fc162ef8ec0e
      https://github.com/llvm/llvm-project/commit/9fd75233ca757cf172d10703ac82fc162ef8ec0e
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/DAGCombine_vscale.ll
    M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
    M llvm/test/CodeGen/AArch64/sme-disable-rematerialize-with-streaming-mode-changes.ll
    M llvm/test/CodeGen/AArch64/sve-adr.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-folds.ll
    M llvm/test/CodeGen/AArch64/sve-dead-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
    M llvm/test/CodeGen/AArch64/sve-fold-loadext-and-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fp-immediates-merging.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-log-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-mulh-pred.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-index.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm-zero.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares-with-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret-no-streaming.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-undef.ll
    M llvm/test/CodeGen/AArch64/sve-knownbits.ll
    M llvm/test/CodeGen/AArch64/sve-splat-one-and-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-splat-sext.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
    M llvm/test/CodeGen/AArch64/sve-stepvector.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-fold.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mul.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve2-sra.ll

  Log Message:
  -----------
  [LLVM] Port SVE tests in llvm/test/CodeGen/AArch64 to use splat()

This is preparation work towards making such splats use Constant{Int,FP}
by default for scalable vectors.


  Commit: dce5bf8efc13896ebf0ababfda00393eaa5cc99d
      https://github.com/llvm/llvm-project/commit/dce5bf8efc13896ebf0ababfda00393eaa5cc99d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll

  Log Message:
  -----------
  [ValueTracking] AllowEphemerals for alignment assumptions. (#108632)

Allow AllowEphemerals in isValidAssumeForContext, as the CxtI might
be the producer of the pointer in the bundle. At the moment, align
assumptions aren't optimized away.

This allows using the assumption in the computeKnownBits call in
getConstantMultipleImpl.

We could extend the computeKnownBits API to allow callers to specify if
ephemerals are allowed, if the info from computeKnownBitsFromContext is
used to remove alignment assumptions.

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


  Commit: 79b32bcda662a3e7789ad2835a021020fd2a5158
      https://github.com/llvm/llvm-project/commit/79b32bcda662a3e7789ad2835a021020fd2a5158
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/test/Transforms/Inline/memprof_inline2.ll

  Log Message:
  -----------
  [MemProf] Strip callsite metadata when inlining an unprofiled callsite (#110998)

We weren't flagging inlined callee functions with callsite but not
memprof metadata correctly, leading to the callsite metadata not being
stripped when that function was inlined into a callsite that didn't
itself have callsite metadata.

In practice, this meant that we went into the LTO link with many more
calls than necessary having callsite metadata / summary records, which
in turn made the graph larger than necessary.

Fixing this oversight resulted in huge reductions in the thin link of a
large target:
99% fewer duplicated context ids (recall we have to duplicate when
callsites containing the same stack ids are in different functions)
71% fewer graph edges
17% fewer graph nodes
13% fewer functions cloned
44% smaller peak memory
47% smaller time


  Commit: a78359c2ed68489b2dde558c2660515e481ae60f
      https://github.com/llvm/llvm-project/commit/a78359c2ed68489b2dde558c2660515e481ae60f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/fir-ops.fir
    M flang/test/Lower/polymorphic.f90

  Log Message:
  -----------
  [flang] add procedure flags to fir.dispatch (#110970)

Currently, it is not possible to distinguish between BIND(C) from
non-BIND(C) type bound procedure call at the FIR level.
This will be a problem when dealing with derived type BIND(C) function
where the ABI differ between BIND(C)/non-BIND(C) but the FIR signature
looks like the same at the FIR level.

Fix this by adding the Fortran procedure attributes to fir.distpatch,
and propagating it until the related fir.call is generated in
fir.dispatch codegen.


  Commit: c4204c0b29a6721267b1bcbaeedd7b1118e42396
      https://github.com/llvm/llvm-project/commit/c4204c0b29a6721267b1bcbaeedd7b1118e42396
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/Complex.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/test/Fir/array-copies-pointers.fir
    M flang/test/Fir/compare.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/convert.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/fir-types.fir
    M flang/test/Fir/rebox.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-complex16.f90
    M flang/test/Fir/target-rewrite-arg-position.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target-rewrite-complex.fir
    M flang/test/Fir/target-rewrite-complex16.fir
    M flang/test/Fir/target-rewrite-selective.fir
    M flang/test/Fir/target.fir
    M flang/test/Fir/types-to-llvm.fir
    M flang/test/Fir/undo-complex-pattern.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/assign.fir
    M flang/test/HLFIR/associate.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/designate-codegen-complex-part.fir
    M flang/test/HLFIR/designate.fir
    M flang/test/HLFIR/invalid.fir
    M flang/test/HLFIR/opt-scalar-assign.fir
    M flang/test/Intrinsics/math-codegen.fir
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/assignment-intrinsics.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
    M flang/test/Lower/HLFIR/constant.f90
    M flang/test/Lower/HLFIR/conversion-ops.f90
    M flang/test/Lower/HLFIR/designators-component-ref.f90
    M flang/test/Lower/HLFIR/designators.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
    M flang/test/Lower/HLFIR/implicit-type-conversion-allocatable.f90
    M flang/test/Lower/HLFIR/initial-target-component.f90
    M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
    M flang/test/Lower/HLFIR/unary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/abs.f90
    M flang/test/Lower/Intrinsics/acos.f90
    M flang/test/Lower/Intrinsics/acos_complex16.f90
    M flang/test/Lower/Intrinsics/acosh.f90
    M flang/test/Lower/Intrinsics/acosh_complex16.f90
    M flang/test/Lower/Intrinsics/asin.f90
    M flang/test/Lower/Intrinsics/asin_complex16.f90
    M flang/test/Lower/Intrinsics/asinh.f90
    M flang/test/Lower/Intrinsics/asinh_complex16.f90
    M flang/test/Lower/Intrinsics/atan.f90
    M flang/test/Lower/Intrinsics/atan_complex16.f90
    M flang/test/Lower/Intrinsics/atanh.f90
    M flang/test/Lower/Intrinsics/atanh_complex16.f90
    M flang/test/Lower/Intrinsics/cabs_real16.f90
    M flang/test/Lower/Intrinsics/cmplx.f90
    M flang/test/Lower/Intrinsics/cos_complex16.f90
    M flang/test/Lower/Intrinsics/cosh_complex16.f90
    M flang/test/Lower/Intrinsics/dconjg.f90
    M flang/test/Lower/Intrinsics/dimag.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/dreal.f90
    M flang/test/Lower/Intrinsics/exp.f90
    M flang/test/Lower/Intrinsics/exp_complex16.f90
    M flang/test/Lower/Intrinsics/log.f90
    M flang/test/Lower/Intrinsics/log_complex16.f90
    M flang/test/Lower/Intrinsics/pow_complex16.f90
    M flang/test/Lower/Intrinsics/pow_complex16i.f90
    M flang/test/Lower/Intrinsics/pow_complex16k.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/sin_complex16.f90
    M flang/test/Lower/Intrinsics/sinh_complex16.f90
    M flang/test/Lower/Intrinsics/sqrt_complex16.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/tan_complex16.f90
    M flang/test/Lower/Intrinsics/tanh_complex16.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
    M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-non-global.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/array-constructor-1.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-elemental-subroutines.f90
    M flang/test/Lower/array.f90
    M flang/test/Lower/assignment.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/call-bindc.f90
    M flang/test/Lower/call-by-value.f90
    M flang/test/Lower/complex-operations.f90
    M flang/test/Lower/complex-real.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/dummy-procedure.f90
    M flang/test/Lower/entry-statement.f90
    M flang/test/Lower/implicit-call-mismatch.f90
    M flang/test/Lower/math-lowering/abs.f90
    M flang/test/Lower/pointer.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/sqrt.f90
    M flang/test/Lower/trigonometric-intrinsics.f90
    M flang/test/Lower/vector-subscript-io.f90
    M flang/test/Transforms/debug-90683.fir
    M flang/test/Transforms/debug-complex-1.fir
    M flang/test/Transforms/debug-derived-type-1.fir
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FIRTypesTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp

  Log Message:
  -----------
  [flang] replace fir.complex usages with mlir complex (#110850)

Core patch of
https://discourse.llvm.org/t/rfc-flang-replace-usages-of-fir-complex-by-mlir-complex-type/82292.
After that, the last step is to remove fir.complex from FIR types.


  Commit: b9bb77f0c76be88d824e87c713ae8457046b1ac6
      https://github.com/llvm/llvm-project/commit/b9bb77f0c76be88d824e87c713ae8457046b1ac6
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/branch-condition-and.ll

  Log Message:
  -----------
  [AMDGPU] Update branch-condition-and.ll to auto-generated checks (#110860)


  Commit: 01a1398971addb812fabc558b75b8dd7a78d7d44
      https://github.com/llvm/llvm-project/commit/01a1398971addb812fabc558b75b8dd7a78d7d44
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll

  Log Message:
  -----------
  [AArch64][Test] Update test variable names (NFC) (#110667)

Simply by running update_test_checks.py with no changes. This is to make
updating these tests for later changes easier.


  Commit: b78bfe7169f325d016b817111b3b8a66113ff77d
      https://github.com/llvm/llvm-project/commit/b78bfe7169f325d016b817111b3b8a66113ff77d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [TableGen] Delete non-const overloads of `getAllDerivedDefinitions` (#110990)

Now that all TableGen backends have transitioned to const versions of
these functions, we do not need the non-const versions anymore.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 667815ccf49bc415544484f1b717bb7551cd9c93
      https://github.com/llvm/llvm-project/commit/667815ccf49bc415544484f1b717bb7551cd9c93
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/SetTheory.cpp
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/unittests/TableGen/ParserEntryPointTest.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp

  Log Message:
  -----------
  [NFC][TableGen] Change `RecordKeeper::getDef()` to return const pointer (#110992)

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: 133c1224de0004558d74ad1787873cfd26ceaf9f
      https://github.com/llvm/llvm-project/commit/133c1224de0004558d74ad1787873cfd26ceaf9f
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll

  Log Message:
  -----------
  [SLP]Fix a crash on accessing element with index -1 for reused mask with PoisonMaskElem

Need to check if the index from the ReuseShuffleIndices mask is not
equal to PoisonMaskElem before trying to access the element by index.


  Commit: bf3deb17cbfe8d777890cd54fde48d68150d1738
      https://github.com/llvm/llvm-project/commit/bf3deb17cbfe8d777890cd54fde48d68150d1738
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#110947)


  Commit: 28733ed686c4ca54042d6a9b8ae318c8f3b7b287
      https://github.com/llvm/llvm-project/commit/28733ed686c4ca54042d6a9b8ae318c8f3b7b287
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#110949)


  Commit: 20d402ab087f2369c0099f151b5480efb1b7fecf
      https://github.com/llvm/llvm-project/commit/20d402ab087f2369c0099f151b5480efb1b7fecf
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Serialization/GlobalModuleIndex.cpp

  Log Message:
  -----------
  [Serialization] Avoid repeated hash lookups (NFC) (#110950)


  Commit: 66f846d753be6ac62f613bd98ca791050ba3c4a5
      https://github.com/llvm/llvm-project/commit/66f846d753be6ac62f613bd98ca791050ba3c4a5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#110951)


  Commit: 66227bf7ee2cd674e0306d9a1e9f1d86bc75123f
      https://github.com/llvm/llvm-project/commit/66227bf7ee2cd674e0306d9a1e9f1d86bc75123f
  Author: Tyler Nowicki <tyler.nowicki at amd.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
    A llvm/lib/Transforms/Coroutines/ABI.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  [Coroutines] ABI Objects to improve code separation between different ABIs, users and utilities. (#109713)

This patch re-lands https://github.com/llvm/llvm-project/pull/109338 and
fixes the various test failures.

--- Original description ---

* Adds an ABI object class hierarchy to implement the coroutine ABIs
(Switch, Asyc, and Retcon{Once})
* The ABI object improves the separation of the code related to users,
ABIs and utilities.
* No code changes are required by any existing users.
* Each ABI overrides delegate methods for initialization, building the
coroutine frame and splitting the coroutine, other methods may be added
later.
* CoroSplit invokes a generator lambda to instantiate the ABI object and
calls the ABI object to carry out its primary operations. In a follow-up
change this will be used to instantiated customized ABIs according to a
new intrinsic llvm.coro.begin.custom.abi.
* Note, in a follow-up change additional constructors will be added to
the ABI objects (Switch, Asyc, and AnyRetcon) to allow a set of
generator lambdas to be passed in from a CoroSplit constructor that will
also be added. The init() method is separate from the constructor to
avoid duplication of its code. It is a virtual method so it can be
invoked by CreateAndInitABI or potentially CoroSplit::run(). I wasn't
sure if we should call init() from within CoroSplit::run(),
CreateAndInitABI, or perhaps hard code a call in each constructor. One
consideration is that init() can change the IR, so perhaps it should
appear in CoroSplit::run(), but this looks a bit odd. Invoking init() in
the constructor would result in the call appearing 4 times per ABI
(after adding the new constructors). Invoking it in CreateAndInitABI
seems to be a balance between these.

See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057


  Commit: d412cea8c4f26f451aee46641e384e8df62a5904
      https://github.com/llvm/llvm-project/commit/d412cea8c4f26f451aee46641e384e8df62a5904
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    A clang/test/SemaOpenACC/loop-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'tile' attribute AST (#110999)

The 'tile' clause shares quite a bit of the rules with 'collapse', so a
followup patch will add those tests/behaviors. This patch deals with
adding the AST node.

The 'tile' clause takes a series of integer constant expressions, or *.
The asterisk is now represented by a new OpenACCAsteriskSizeExpr node,
else this clause is very similar to others.


  Commit: 313ad85dfa40a18f2edefd7ce2edc0528d5a554a
      https://github.com/llvm/llvm-project/commit/313ad85dfa40a18f2edefd7ce2edc0528d5a554a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp

  Log Message:
  -----------
  [Coroutines] Fix warnings

This patch fixes:

  llvm/include/llvm/Transforms/Coroutines/CoroSplit.h:26:1: note: did
  you mean struct here?

  llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2225:16: error: moving
  a local object in a return statement prevents copy elision
  [-Werror,-Wpessimizing-move]

  llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2236:16: error: moving
  a local object in a return statement prevents copy elision
  [-Werror,-Wpessimizing-move]


  Commit: 848b20de76def980d02bb17bcb0bdc95381876df
      https://github.com/llvm/llvm-project/commit/848b20de76def980d02bb17bcb0bdc95381876df
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp

  Log Message:
  -----------
  [libc++] Correctly handle custom deleters in hardened unique_ptr<T[]> (#110685)

It turns out that we can never do bounds-checking for unique_ptrs with
custom deleters, except when converting from a unique_ptr with a default
deleter to one with a custom deleter.

If we had an API like `std::make_unique` that allowed passing a custom
deleter, we could at least get bounds checking when the unique_ptr is
created through those APIs, but for now that is not possible.

Fixes #110683


  Commit: def9550c9b389eaa3adbac3089acf06a61a6fdb5
      https://github.com/llvm/llvm-project/commit/def9550c9b389eaa3adbac3089acf06a61a6fdb5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [Hashing] Remove Clang<=11 -fno-pic workaround (#110952)

If the LLVM build and an API user have different
`(!defined(__clang__) || __clang_major__ > 11)` values, we will have a
non-benign ODR violation and some users prefer a clear error to silent
breakage.

The Clang<=11 -fno-pic x86-64 workaround is likely not useful anyway
because builds are mostly PIC (`POSITION_INDEPENDENT_CODE` or
LLVM_ENABLE_PIC).


  Commit: caa265e01cfc943752ff2c4da61a4ccc161938a1
      https://github.com/llvm/llvm-project/commit/caa265e01cfc943752ff2c4da61a4ccc161938a1
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/new-inst-dbgloc-overwrite.ll

  Log Message:
  -----------
  [DebugInfo][InstCombine] Do not overwrite prior DILocation for new Insts (#108565)

When InstCombine replaces an old instruction with a new instruction, it
copies !dbg and !annotation metadata from old to new. For some
InstCombine patterns we set a specific DILocation on the new instruction
prior to insertion, however, which more accurately reflects the new
instruction. This more specific DILocation may be overwritten on
insertion by a less appropriate one, resulting in a less correct line
mapping. This patch changes this behaviour to only copy the DILocation
from old to new if the new instruction has no existing DILocation (which
will always be the case for a new instruction unless InstCombine has
specifically set one).


  Commit: 487686b82e9a20bd090704e04c8cbf7207dd6527
      https://github.com/llvm/llvm-project/commit/487686b82e9a20bd090704e04c8cbf7207dd6527
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

  Log Message:
  -----------
  [SDAG][RISCV] Don't promote VP_REDUCE_{FADD,FMUL} (#111000)

In https://reviews.llvm.org/D153848, promotion was added for a variety
of f16 ops with zvfhmin, including VP reductions.

However I don't believe it's correct to promote f16 fadd or fmul
reductions to f32 since we need to round the intermediate results.

Today if we lower @llvm.vp.reduce.fadd.nxv1f16 on RISC-V, we'll get two
different results depending on whether we compiled with +zvfh or
+zvfhmin, for example with a 3 element reduction:

	; v9 = [0.1563, 5.97e-8, 0.00006104]

	; zvfh
	vsetivli x0, 3, e16, m1, ta, ma
	vmv.v.i v8, 0
	vfredosum.vs v8, v9, v8
	vfmv.f.s fa0, v8
	; fa0 = 0.1563

	; zvfhmin
	vsetivli x0, 3, e16, m1, ta, ma
	vfwcvt.f.f.v v10, v9
	vsetivli x0, 3, e32, m1, ta, ma
	vmv.v.i v8, 0
	vfredosum.vs v8, v10, v8
	vfmv.f.s fa0, v8
	fcvt.h.s fa0, fa0
	; fa0 = 0.1564

This same thing happens with reassociative reductions e.g. vfredusum.vs,
and this also applies for bf16.

I couldn't find anything in the LangRef for reductions that suggest the
excess precision is allowed. There may be something we can do in Clang
with -fexcess-precision=fast, but I haven't looked into this yet.

I presume the same precision issue occurs with fmul, but not with
fmin/fmax/fminimum/fmaximum.

I can't think of another way of lowering these other than scalarizing,
and we can't scalarize scalable vectors, so this just removes the
promotion and adjusts the cost model to return an invalid cost. (It
looks like we also don't currently cost fmul reductions, so presumably
they also have an invalid cost?)

I think this should be enough to stop the loop vectorizer or SLP from
emitting these intrinsics.


  Commit: 06c8210a67a47a3693e7c8932e8ace0302bd1eb7
      https://github.com/llvm/llvm-project/commit/06c8210a67a47a3693e7c8932e8ace0302bd1eb7
  Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/PowerPC/vsr_load_32_64.ll

  Log Message:
  -----------
  update P7 32-bit partial vector load cost (#108261)

Update cost model to reflect codegen change to use lfiwzx 
for 32-bit partial vector loads on pwr7 with
https://github.com/llvm/llvm-project/pull/104507.


  Commit: 81fcdc63594d94aa2111422e758a24eb9fc88066
      https://github.com/llvm/llvm-project/commit/81fcdc63594d94aa2111422e758a24eb9fc88066
  Author: Tor Shepherd <tor.aksel.shepherd at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
    A clang-tools-extra/clangd/refactor/tweaks/SwapBinaryOperands.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    A clang-tools-extra/clangd/unittests/tweaks/SwapBinaryOperandsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn

  Log Message:
  -----------
  [clangd] Add CodeAction to swap operands to binary operators (#78999)

This MR resolves https://github.com/llvm/llvm-project/issues/78998


  Commit: 43d51d63af7e51853898528be0000cbc421dcafa
      https://github.com/llvm/llvm-project/commit/43d51d63af7e51853898528be0000cbc421dcafa
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    A llvm/include/llvm/SandboxIR/IntrinsicInst.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/unittests/SandboxIR/CMakeLists.txt
    A llvm/unittests/SandboxIR/IntrinsicInstTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement IntrinsicInst (#110900)

This patch implements sandboxir::IntrinsicInst mirroring
llvm::IntrinsicInst.


  Commit: ef66936df4e4746c4af0f224796e0070b0f14138
      https://github.com/llvm/llvm-project/commit/ef66936df4e4746c4af0f224796e0070b0f14138
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/linux/send.cpp
    M libc/src/sys/socket/linux/sendmsg.cpp
    M libc/src/sys/socket/linux/sendto.cpp
    M libc/src/sys/socket/recvfrom.h

  Log Message:
  -----------
  [libc] Fix send and recv functions (#110936)

There were some errors in the implementation. Oops. This patch fixes
those.


  Commit: 2396c469994e094f7a146f4fa9f29990904ed73b
      https://github.com/llvm/llvm-project/commit/2396c469994e094f7a146f4fa9f29990904ed73b
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/malloc-macros.h
    A libc/include/malloc.h.def
    A libc/newhdrgen/yaml/malloc.yaml
    M libc/spec/gnu_ext.td
    M libc/src/stdlib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Add malloc.h header defining mallopt (#110908)

This patch adds the malloc.h header, declaring Scudo's mallopt
entrypoint when built LLVM_LIBC_INCLUDE_SCUDO, as well as two
constants that can be passed to it (M_PURGE and M_PURGE_ALL).

Due to limitations of the current build system, only the declaration
of mallopt is gated by LLVM_LIBC_INCLUDE_SCUDO, and the two new
constants are defined irrespectively of it. We may need to refine
this in the future.

Note that some allocators other than Scudo may offer a mallopt
implementation too (e.g. man 3 mallopt), albeit with different
supported input values. This patch only supports the specific case of
LLVM_LIBC_INCLUDE_SCUDO.


  Commit: 144dc4c3b152ccc7da340c0493da0308a577e5ad
      https://github.com/llvm/llvm-project/commit/144dc4c3b152ccc7da340c0493da0308a577e5ad
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVGISel.td

  Log Message:
  -----------
  [RISCV][GISel] Remove some unneeded isel patterns.

These use riscv_ SDNodes that don't have GISel equivalents yet or
for extensions that we haven't added tests for yet.


  Commit: b0c9f023066e5ee9ca023dc0a94b30ed5e4f8362
      https://github.com/llvm/llvm-project/commit/b0c9f023066e5ee9ca023dc0a94b30ed5e4f8362
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [gn build] Port 43d51d63af7e


  Commit: a4516da49f8bda1b99d21dae7e1caba772d7182c
      https://github.com/llvm/llvm-project/commit/a4516da49f8bda1b99d21dae7e1caba772d7182c
  Author: Jorge Botto <Jorge.botto.16 at ucl.ac.uk>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/icmp-ult-eq-fold.ll
    M llvm/test/CodeGen/AArch64/signed-truncation-check.ll

  Log Message:
  -----------
  [AArch64] - Fold and and cmp into tst (#110347)

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

https://godbolt.org/z/nfj8xsb1Y

The following pattern:

```
%2 = and i32 %0, 254
%3 = icmp eq i32 %2, 0
```
is optimised by instcombine into:

```%3 = icmp ult i32 %0, 2```

However, post instcombine leads to worse aarch64 than the unoptimised version.

Pre instcombine:
```
        tst     w0, #0xfe
        cset    w0, eq
        ret
```
Post instcombine:
```
        and     w8, w0, #0xff
        cmp     w8, #2
        cset    w0, lo
        ret
```


In the unoptimised version, SelectionDAG converts `SETCC (AND X 254) 0 EQ` into `CSEL 0 1 1 (ANDS X 254)`, which gets emitted as a `tst`.

In the optimised version, SelectionDAG converts `SETCC (AND X 255) 2 ULT` into `CSEL 0 1 2 (SUBS (AND X 255) 2)`, which gets emitted as an `and`/`cmp`.

This PR adds an optimisation to `AArch64ISelLowering`, converting `SETCC (AND X Y) Z ULT` into `SETCC (AND X (Y & ~(Z - 1))) 0 EQ` when `Z` is a power of two. This makes SelectionDAG/Codegen produce the same optimised code for both examples.


  Commit: a72248cb65a74aff3cc5aef8d2807fc7efb4fb75
      https://github.com/llvm/llvm-project/commit/a72248cb65a74aff3cc5aef8d2807fc7efb4fb75
  Author: Paul Robinson <pogo.work at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/x86-intrinsics-imm.c

  Log Message:
  -----------
  Drop dangling comments from a recent test


  Commit: c1959813d6a650de7626ef9b7a7313369277f49e
      https://github.com/llvm/llvm-project/commit/c1959813d6a650de7626ef9b7a7313369277f49e
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/LTO/LTOBackend.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp

  Log Message:
  -----------
  [CGData][ThinLTO][NFC] Prep for two-codegen rounds (#90934)

This is NFC for https://github.com/llvm/llvm-project/pull/90933.

- Create a lambda function, `RunBackends`, to group the backend
operations into a single function.
- Explicitly pass the `CodeGenOnly` argument to thinBackend, instead of
depending on a configuration value.

Depends on https://github.com/llvm/llvm-project/pull/90304.
This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.


  Commit: 00c1989a01f4dfdaa118bbfc300165b6507712e6
      https://github.com/llvm/llvm-project/commit/00c1989a01f4dfdaa118bbfc300165b6507712e6
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp

  Log Message:
  -----------
  [lldb] Improve mid-function epilogue scanning for x86 (#110965)

The x86 assembly instruction scanner creates incorrect UnwindPlans when
a mid-function epilogue has a non-epilogue instruction in it.

The x86 instruction analysis which creates an UnwindPlan handles
mid-function epilogues by tracking "epilogue instructions" (register
loads from stack, stack pointer increasing, etc) and any UnwindPlan
updates which are NOT epilogue instructions update the "prologue
UnwindPlan" saved row. It detects a LEAVE/RET/unconditional JMP out of
the function and after that instruction, re-instates the "prologue Row".

There's a parallel piece of data tracked across the duration of the
function, current_sp_bytes_offset_from_fa, and we reflect the "value
after prologue instructions" in
prologue_completed_sp_bytes_offset_from_cfa. When the CFA is calculated
in terms of the frame pointer ($ebp/$rbp), we don't add changes to the
stack pointer to the UnwindPlan, so this separate mechanism is used for
the "current value" and the "last value at prologue setup".

(the x86 UnwindPlan generated writes "sp=CFA+0" as a register rule which
is formally correct, but it could also track the stack pointer value as
sp=$rsp+<x> and update this register rule every time $rsp is modified.)

This leads to a bug when there is an instruction in an epilogue which
isn't recognzied as an epilogue instruction.
prologue_completed_sp_bytes_offset_from_cfa is always set to the value
of current_sp_bytes_offset_from_fa unless the current instruction is an
epilogue instruction. With a non-epilogue instruction in the middle of
the epilogue, we suddenly copy a current_sp_bytes_offset_from_fa value
from the middle of the epilogue into this
prologue_completed_sp_bytes_offset_from_cfa. Once the epilogue is
finished, we restore the "prologue Row" and
prologue_completed_sp_bytes_offset_from_cfa. But now $rsp has a very
incorrect value in it.

This patch tracks when we've updated current_sp_bytes_offset_from_fa in
the current instruction analysis. If it was updated looking at an
epilogue instruction, `is_epilogue` will be set correctly. Otherwise
it's a "prologue" instruction and we should update
prologue_completed_sp_bytes_offset_from_cfa. Any instruction that is
unrecognized will leave prologue_completed_sp_bytes_offset_from_cfa
unmodified.

The actual instruction we hit this with was a BTRQ but I added a NOP to
the unit test which is only 1 byte and made the update to the unit test
a little simpler. This bug is hit with a NOP just as well.

UnwindAssemblyInstEmulation has a much better algorithm for handling
mid-function epilogues, which "forward" the current unwind state Row
when it sees branches within the function, to the target instruction
offset. This avoids detecting prologue/epilogue instructions altogether.

rdar://137153323


  Commit: 2e89312419c5f7875c947fcf79ea0446cf65a287
      https://github.com/llvm/llvm-project/commit/2e89312419c5f7875c947fcf79ea0446cf65a287
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/docs/man/lldb-server.rst
    M lldb/docs/resources/qemu-testing.rst
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
    M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
    R lldb/test/Shell/lldb-server/TestGdbserverPort.test
    R lldb/tools/lldb-server/Acceptor.cpp
    R lldb/tools/lldb-server/Acceptor.h
    M lldb/tools/lldb-server/CMakeLists.txt
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Process/gdb-remote/CMakeLists.txt
    R lldb/unittests/Process/gdb-remote/PortMapTest.cpp

  Log Message:
  -----------
  [lldb] Removed gdbserver ports map from lldb-server (#104238)

Listen to gdbserver-port, accept the connection and run `lldb-server gdbserver --fd` on all platforms.
Parameters --min-gdbserver-port and --max-gdbserver-port are deprecated now.

This is the part 2 of #101283.

Fixes #97537.


  Commit: 8789a7ef7ce56d95e97cc3f11d37d9937b3d8017
      https://github.com/llvm/llvm-project/commit/8789a7ef7ce56d95e97cc3f11d37d9937b3d8017
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2e89312419c5


  Commit: 4f0ad8d80a04faabc715d355744ba887c74e37f1
      https://github.com/llvm/llvm-project/commit/4f0ad8d80a04faabc715d355744ba887c74e37f1
  Author: Julian Schmidt <git.julian.schmidt at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp

  Log Message:
  -----------
  [clang-tidy] support static analyzer checker configuration in `--verify-config` (#109523)

Previously the configuration options for the Clang Static Analyzer
checkers were not recognized for the verification of the configuration
with `--verify-config`.
Add all available configuration options of CSA checkers as possible
configuration options in a clang-tidy config.


  Commit: 1b4b0c4c45edbb40b23d2c6c19744713f6e49202
      https://github.com/llvm/llvm-project/commit/1b4b0c4c45edbb40b23d2c6c19744713f6e49202
  Author: Ilya V <152324710+joviliast at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  Allow fixed vector operand for LLVM_AtomicRMWOp (#110553)

This PR fixes `LLVM_AtomicRMWOp` allowed semantics and verifier logic to
enable building of `LLVM_AtomicRMWOp` with fixed vectors of compatible
fp values
as operands for fp rmw operation.

See also: https://llvm.org/docs/LangRef.html#id231

Signed-off-by: Ilya Veselov <iveselov.nn at gmail.com>


  Commit: c098435eaa5d6bf2a00ac0e674914cd97790ab5b
      https://github.com/llvm/llvm-project/commit/c098435eaa5d6bf2a00ac0e674914cd97790ab5b
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/CodeGenHLSL/builtins/cross.hlsl
    A clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/cross.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll

  Log Message:
  -----------
  Add cross builtins and cross HLSL function to DirectX and SPIR-V backend (#109180)

This PR adds the step intrinsic and an HLSL function that uses it.
The SPIRV backend is also implemented.

Used https://github.com/llvm/llvm-project/pull/106471 as a reference.
Fixes https://github.com/llvm/llvm-project/issues/99095


  Commit: 759a7b5933654b67b9b7089d9aef2ca287cc38fa
      https://github.com/llvm/llvm-project/commit/759a7b5933654b67b9b7089d9aef2ca287cc38fa
  Author: Aman LaChapelle <aman.lachapelle at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M mlir/include/mlir/IR/AttrTypeBase.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Location.cpp
    M mlir/test/IR/invalid-locations.mlir
    M mlir/test/IR/locations.mlir
    M mlir/test/IR/pretty-locations.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/unittests/IR/CMakeLists.txt
    A mlir/unittests/IR/LocationTest.cpp

  Log Message:
  -----------
  [mlir] Add the ability to define dialect-specific location attrs. (#105584)

This patch adds the capability to define dialect-specific location
attrs. This is useful in particular for defining location structure that
doesn't necessarily fit within the core MLIR location hierarchy, but
doesn't make sense to push upstream (i.e. a custom use case).

This patch adds an AttributeTrait, `IsLocation`, which is tagged onto
all the builtin location attrs, as well as the test location attribute.
This is necessary because previously LocationAttr::classof only returned
true if the attribute was one of the builtin location attributes, and
well, the point of this patch is to allow dialects to define their own
location attributes.

There was an alternate implementation I considered wherein LocationAttr
becomes an AttrInterface, but that was discarded because there are
likely to be *many* locations in a single program, and I was concerned
that forcing every MLIR user to pay the cost of the additional
lookup/dispatch was unacceptable. It also would have been a *much* more
invasive change. It would have allowed for more flexibility in terms of
pretty printing, but it's unclear how useful/necessary that flexibility
would be given how much customizability there already is for attribute
definitions.


  Commit: 9c99e07175c946e989b481a2a1342f0a395f10ca
      https://github.com/llvm/llvm-project/commit/9c99e07175c946e989b481a2a1342f0a395f10ca
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/tools/lldb-dap/README.md

  Log Message:
  -----------
  [lldb-dap][docs] Fix README (#110982)

Apparently, the markdown parser used by the VSCode Marketplace does not
support escaped backticks the same way that Github does. This leads to
the table of launch / attach options to be rendered as an unformatted
blob instead of as a table.

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

This commit fixes the issue by completely avoiding escaped backticks in
the README.

While at it, I also fixed a couple of typos / small wording issues.
Also, I reordered the ways to procure the `lldb-dap` binary in priority
order: Most users should prefer the toolchain-provided binary over
building it from source.


  Commit: 45582ed2406fa3c094033da69d11e0d26156da15
      https://github.com/llvm/llvm-project/commit/45582ed2406fa3c094033da69d11e0d26156da15
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp

  Log Message:
  -----------
  [SandboxVec][DAG][NFC] Rename isMemDepCandidate() to isMemDepNodeCandidate()


  Commit: a1ff427558fc348d4ac9632e75872e7425a8df31
      https://github.com/llvm/llvm-project/commit/a1ff427558fc348d4ac9632e75872e7425a8df31
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/unittests/SandboxIR/UtilsTest.cpp

  Log Message:
  -----------
  [SandboxIR][NFC] Move intrinsic code to Utils::isMemIntrinsic() (#111019)

This patch moves the intrinsic specific code from
Utils::isMemDepCandidate() to a new function: Utils::isMemIntrinsic().


  Commit: 36929955f5f0ff9b7ab1314dcbbb374d52f18a42
      https://github.com/llvm/llvm-project/commit/36929955f5f0ff9b7ab1314dcbbb374d52f18a42
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [CodeGen] Fix warnings

This patch fixes:

  clang/lib/CodeGen/CGBuiltin.cpp:18677:11: error: unused variable
  'XVecTy1' [-Werror,-Wunused-variable]

  clang/lib/CodeGen/CGBuiltin.cpp:18678:11: error: unused variable
  'XVecTy2' [-Werror,-Wunused-variable]


  Commit: c08d7b3de7409aecadd7f9edfe0f3a1ce28a6374
      https://github.com/llvm/llvm-project/commit/c08d7b3de7409aecadd7f9edfe0f3a1ce28a6374
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll

  Log Message:
  -----------
  AMDGPU: Fix verifier error on tail call target in vgprs (#110984)

We allow tail calls of known uniform function pointers. This
would produce a verifier error if the uniform value is in VGPRs.
Insert readfirstlanes just in case this occurs, which will fold
out later if it is unnecessary.

GlobalISel should need a similar fix, but it currently does not
attempt tail calls of indirect calls.

Fixes #107447
Fixes subissue of #110930


  Commit: 6c137b75f3f62c97678efced23943fee1081fb2f
      https://github.com/llvm/llvm-project/commit/6c137b75f3f62c97678efced23943fee1081fb2f
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/docs/resources/lldbdap.md
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/package.json

  Log Message:
  -----------
  [lldb-dap][docs] Improve documentation for contributors (#110987)

This commit extends the developer docs for `lldb-dap`. It also adds a
short "Contributing" section to the user-facing README.

Last but not least, it updates the `repository` in the package.json to
point to the actual source of truth for the source code, instead of
pointing to its mirrored repository. I hope that the VS Code Marketplace
properly supports the `directory` property. Unfortunately, I have no way
to test this before merging this Pull Request.


  Commit: 61f8a7f618901797ee8663389a29722f29216a96
      https://github.com/llvm/llvm-project/commit/61f8a7f618901797ee8663389a29722f29216a96
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port 4f0ad8d80a04faabc715d355744ba887c74e37f1 (#111034)


  Commit: cd6858c74ee76f3270d39f110a31ef1b8852695f
      https://github.com/llvm/llvm-project/commit/cd6858c74ee76f3270d39f110a31ef1b8852695f
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/icmp-signmask.ll

  Log Message:
  -----------
  [InstCombine] Add tests for folding `(icmp eq/ne (and X, -P2), INT_MIN)`; NFC


  Commit: a64643688526114b50c25b3eda8a57855bd2be87
      https://github.com/llvm/llvm-project/commit/a64643688526114b50c25b3eda8a57855bd2be87
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [InstCombine] Folding `(icmp eq/ne (and X, -P2), INT_MIN)`

Folds to `(icmp slt/sge X, (INT_MIN + P2))`

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

Closes #110880


  Commit: 5114758b1cacb9c93c6a3c5b842d67b06d1152f7
      https://github.com/llvm/llvm-project/commit/5114758b1cacb9c93c6a3c5b842d67b06d1152f7
  Author: Steven Perron <stevenperron at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/ShaderBufferImage.ll
    A llvm/test/CodeGen/SPIRV/ShaderImage.ll

  Log Message:
  -----------
  [SPIRV] Make access qualifier optional for spirv.Image type (#110852)

The SPIRV backend has a special type named `spirv.Image`. This type is
meant to correspond to the OpTypeImage instruction in SPIR-V, but there
is one difference. The access qualifier operand in OpTypeImage is
optional. On top of that, the access qualifiers are only valid for
kernels, and not for shaders.

We want to reuse this type when generating shader from HLSL, but we
can't use the access qualifier. This commit make the access qualifer
optional in the target extension type.

The same is done for `spirv.SampledImage`.

Contributes to #81036


  Commit: 9abb97f9663a27fe5b8e346ed557b3435aa9ec2f
      https://github.com/llvm/llvm-project/commit/9abb97f9663a27fe5b8e346ed557b3435aa9ec2f
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p9-0x.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp

  Log Message:
  -----------
  [clang] Handle template argument conversions for non-pack param to pack argument (#110963)

This fixes a regression introduced in #96023, reported in
https://github.com/llvm/llvm-project/issues/110231#issuecomment-2389131854


  Commit: 000e790be35b77a01872851646d54432a203542c
      https://github.com/llvm/llvm-project/commit/000e790be35b77a01872851646d54432a203542c
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/tools/lldb-server/lldb-platform.cpp

  Log Message:
  -----------
  [lldb] Fixed IPv6 host formatting in #104238 (#111033)

This patch fixes the following problems
https://lab.llvm.org/buildbot/#/builders/162/builds/7720


  Commit: 6f20c3099e733afb56e1d2fb9b45bbd1802a4864
      https://github.com/llvm/llvm-project/commit/6f20c3099e733afb56e1d2fb9b45bbd1802a4864
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/test/TableGen/anonymous-location.td
    M llvm/utils/lit/lit/TestRunner.py
    A llvm/utils/lit/tests/substitutions.py

  Log Message:
  -----------
  [LIT] Add support for `%basename_s` to get base name of source file (#110993)

Add support for `%basename_s` pattern in the RUN commands to get the
base name of the source file, and adopt it in a TableGen LIT test.


  Commit: 6a1bdd9a2e2a089c85d24dd5d934681fa22cf9ed
      https://github.com/llvm/llvm-project/commit/6a1bdd9a2e2a089c85d24dd5d934681fa22cf9ed
  Author: Mike Hommey <mh at glandium.org>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    A lld/test/COFF/undefined_lazy.test

  Log Message:
  -----------
  [LLD][COFF] Do as many passes of resolveRemainingUndefines as necessary for undefined lazy symbols (#109082)


  Commit: 428ae0f12e29eff1ddcaf59bdcce904ec056963e
      https://github.com/llvm/llvm-project/commit/428ae0f12e29eff1ddcaf59bdcce904ec056963e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll

  Log Message:
  -----------
  AMDGPU: Do not tail call if an inreg argument requires waterfalling (#111002)

If we have a divergent value passed to an outgoing inreg argument,
the call needs to be executed in a waterfall loop and thus cannot
be tail called.

The waterfall handling of arbitrary calls is broken on the selectiondag
path, so some of these cases still hit an error later.

I also noticed the argument evaluation code in isEligibleForTailCallOptimization
is not correctly accounting for implicit argument assignments. It also seems
inreg codegen is generally broken; we are assigning arguments to the reserved
private resource descriptor.


  Commit: fc4b1a303b296d02f6243a083510c4ee7f290ab0
      https://github.com/llvm/llvm-project/commit/fc4b1a303b296d02f6243a083510c4ee7f290ab0
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/test/Integration/debug-assumed-size-array.f90
    M flang/test/Integration/debug-fixed-array-type-2.f90
    A flang/test/Integration/debug-variable-array-dim.f90
    M flang/test/Transforms/debug-107988.fir
    A flang/test/Transforms/debug-assumed-shape-array-2.fir
    M flang/test/Transforms/debug-assumed-size-array.fir
    M flang/test/Transforms/debug-fixed-array-type.fir
    A flang/test/Transforms/debug-variable-array-dim.fir
    M flang/test/Transforms/debug-variable-char-len.fir

  Log Message:
  -----------
  [flang][debug] Handle array types with variable size/bounds. (#110686)

The debug information generated by flang did not handle the cases where
dimension or lower bounds of the arrays were variable. This PR fixes
this issue. It will help distinguish assumed size arrays from cases
where array size are variable. It also handles the variable lower bounds
for assumed shape arrays.
    
Fixes #98879.


  Commit: 47ff13b45b52a2b0372aa47d5a0f4035ecdcfa86
      https://github.com/llvm/llvm-project/commit/47ff13b45b52a2b0372aa47d5a0f4035ecdcfa86
  Author: Augusto Noronha <augusto2112 at me.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py

  Log Message:
  -----------
  [lldb-dap] Disable TestDAP_optimized under ASAN (#111063)

This test is failing on green dragon and I couldn't figure out why,
disabling it for now under ASAN to get the bot green.

Opened an issue (https://github.com/llvm/llvm-project/issues/111061) to
track the problem.


  Commit: 8ee7d911efb2d3353adcc825e112f55021920846
      https://github.com/llvm/llvm-project/commit/8ee7d911efb2d3353adcc825e112f55021920846
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [clang][MicrosoftCXXABI] Avoid Type::getPointerTo() (NFC) (#110915)

`llvm::Type::getPointerTo()` is to be deprecated & removed soon.


  Commit: b977ec6c1fc37c5a4e787554d0f2ce0ef243daa8
      https://github.com/llvm/llvm-project/commit/b977ec6c1fc37c5a4e787554d0f2ce0ef243daa8
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/primary64.h

  Log Message:
  -----------
  [scudo] Fix the loading of a signed value to an unsigned storage (#111039)


  Commit: c20b90ab8557b38efe8e8e993d41d8c08b798267
      https://github.com/llvm/llvm-project/commit/c20b90ab8557b38efe8e8e993d41d8c08b798267
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lldb/tools/debugserver/source/DNB.cpp

  Log Message:
  -----------
  [lldb][debugserver] Check if Rosetta debugserver exists (#110943)

If lldb tries to attach to a process that is marked 'Translated' with
debugserver, it will exec the Rosetta debugserver to handle the debug
session without checking if it is present. If there is a configuration
that is somehow missing this, it will fail poorly.

rdar://135641680


  Commit: cdfdc857cbab0418b7e5116fd4255eb5566588bd
      https://github.com/llvm/llvm-project/commit/cdfdc857cbab0418b7e5116fd4255eb5566588bd
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M libc/newhdrgen/yaml/sys/socket.yaml
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/recv.h
    M libc/src/sys/socket/recvfrom.h
    M libc/src/sys/socket/recvmsg.h

  Log Message:
  -----------
  [libc] Small recvfrom fixes (yaml, unpoison) (#111020)

Forgot to update the newhdrgen yaml (old headergen is fine) and forgot
to unpoison addrlen. This patch fixes those.


  Commit: 7b9c6a7c3c6441bfea4214fa2221235819c22f7a
      https://github.com/llvm/llvm-project/commit/7b9c6a7c3c6441bfea4214fa2221235819c22f7a
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

  Log Message:
  -----------
  [SandboxVec][DAG][NFC] Move functions from Utils to DependencyGraph (#111031)

This patch moves:
- Utils::isStackSaveOrRestoreIntrinsic()
- Utils::isMemIntrinsic()
- Utils::isMemDepCandidate()

to DGNode because they no longer require LLVM IR access and are used
only by the DAG.


  Commit: ae635d6f997a28c81a01bfffe70fd849d0eafcca
      https://github.com/llvm/llvm-project/commit/ae635d6f997a28c81a01bfffe70fd849d0eafcca
  Author: William G Hatch <william at hatch.uno>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/test/DebugInfo/NVPTX/cu-range-hole.ll
    M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
    M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
    M llvm/test/DebugInfo/NVPTX/debug-empty.ll
    M llvm/test/DebugInfo/NVPTX/debug-file-loc.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll

  Log Message:
  -----------
  [NVPTX] add support for .debug_loc section (#110905)

Enable .debug_loc section for NVPTX backend.

This commit makes NVPTX omit DW_AT_low_pc (and DW_AT_high_pc) for
DW_TAG_compile_unit. This is because cuda-gdb uses the compile unit's
low_pc as a base address, and adds the addresses in the debug_loc
section to it. Removing low_pc is equivalent to setting that base
address to zero, so addition doesn't break the location ranges.
Additionally, this patch forces debug_loc label emission to emit single
labels with no subtraction or base. This would not be necessary if we
could emit `label1 - label2` expressions in PTX. The PTX documentation
at
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#debugging-directives-section
makes it seem like this is supported, but it doesn't actually work. I
believe when that documentation says that you can subtract “label
addresses between labels in the same dwarf section”, it doesn't merely
mean that the labels need to be in the same section as each other, but
in fact they need to be in the same section as the use. If support for
label subtraction is supported such that in the debug_loc section you
can subtract labels from the main code section, then we can remove the
workarounds added in this PR.

Also, since this now emits valid .debug_loc sections, it replaces the
empty .debug_loc to force existence of at least one debug section with
an empty .debug_macinfo section, which matches what nvcc does.


  Commit: 635db5ee97d5b3c53aea1fce8ba26ac388157187
      https://github.com/llvm/llvm-project/commit/635db5ee97d5b3c53aea1fce8ba26ac388157187
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement InsertPosition (#110730)

This patch implements the InsertPosition class that is used to specify
where an instruction should be placed.

It also switches a couple of create() functions from the old API to the
new one that uses InsertPosition.


  Commit: 1753d169d5a650a29c4bb01940048a5c6c7871c4
      https://github.com/llvm/llvm-project/commit/1753d169d5a650a29c4bb01940048a5c6c7871c4
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    A llvm/test/MC/WebAssembly/annotations-typecheck.s

  Log Message:
  -----------
  [WebAssembly] Print instructions with type checking errors (#111067)

When there was a type checking error, we didn't run `InstPrinter`. This
can be confusing because when there is an error in, say, block parameter
type, `InstPrinter` doesn't run even if it has nothing to do with block
parameter types, and all those updates to `ControlFlowStack` or
`TryStack` do not happen:

https://github.com/llvm/llvm-project/blob/c20b90ab8557b38efe8e8e993d41d8c08b798267/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp#L135-L151

For example,
```wast
block (i32) -> () ;; Block input parameter error
end_block         ;; Now this errors out as "End marker mismatch"
```
This is confusing because there is a `block` and the `end_block` is not
a mismatch. Only that `block` has a type checking error, but that's not
an end marker mismatch.

I think we can just print the instruction whether we had a type checking
error or not, and this will be less confusing.


  Commit: 83e3779473bf7e68a4030286cfc218ab3a1a31b8
      https://github.com/llvm/llvm-project/commit/83e3779473bf7e68a4030286cfc218ab3a1a31b8
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/test/MC/WebAssembly/type-checker-errors.s

  Log Message:
  -----------
  [WebAssembly] Add intentations to type-checker-error.s (#111071)


  Commit: e1434a8764207d6750c0d0569acb4feb94baf99c
      https://github.com/llvm/llvm-project/commit/e1434a8764207d6750c0d0569acb4feb94baf99c
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Switch more Instruction::create() functions to InsertPosition (#111075)


  Commit: 876f661dbeb42a76767edfb1f36214baacb27fd4
      https://github.com/llvm/llvm-project/commit/876f661dbeb42a76767edfb1f36214baacb27fd4
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/docs/CommandGuide/lit.rst
    M llvm/test/TableGen/anonymous-location.td
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/substitutions.py

  Log Message:
  -----------
  [LIT] Rename substitution `%basename_s` to `%{s:basename}` (#111062)

Also added `%{t:stem}` as an alias for `%basename_t` and modified unit
test to test these new substitutions.


  Commit: eaff3a743406ff1636e6328e1ba1bc66318d53cb
      https://github.com/llvm/llvm-project/commit/eaff3a743406ff1636e6328e1ba1bc66318d53cb
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug that misannotates binary operators */&/&& (#110945)

Fixes #110879.


  Commit: 7ab488e92c39c813a50cb4fd6587e7afc161c7d5
      https://github.com/llvm/llvm-project/commit/7ab488e92c39c813a50cb4fd6587e7afc161c7d5
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/CodeGen/attr-target-version-riscv-invalid.c
    A clang/test/CodeGen/attr-target-version-riscv.c
    A clang/test/CodeGenCXX/attr-target-version-riscv.cpp
    A clang/test/SemaCXX/attr-target-version-riscv.cpp

  Log Message:
  -----------
  [RISCV][FMV] Support target_version (#99040)

This patch enable `target_version` attribute for RISC-V target.

The proposal of `target_version` syntax can be found at the
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/48 (which has
landed), as modified by the proposed
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/85 (which adds the
priority syntax).

`target_version` attribute will trigger the function multi-versioning
feature and act like `target_clones` attribute. See
https://github.com/llvm/llvm-project/pull/85786 for the implementation
of `target_clones`.


  Commit: 359006895004c588efe615ae2422b3e068ceff1a
      https://github.com/llvm/llvm-project/commit/359006895004c588efe615ae2422b3e068ceff1a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to OutputSections


  Commit: e9b7a093417bda7e0bed2bd62bcaeb7c2a662665
      https://github.com/llvm/llvm-project/commit/e9b7a093417bda7e0bed2bd62bcaeb7c2a662665
  Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

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

  Log Message:
  -----------
  [MLIR] Unconditionally take min of max lhs/rhs value in inferRemU (#110169)

- **[MLIR] Add test for inferring range of remu; NFC**
- **[MLIR] Unconditionally take min of max lhs/rhs value in inferRemU**

`arith.remu` cannot be larger than (rhs - 1) or lhs.


  Commit: 1f391a75af8685e6bba89421443d72ac6a186599
      https://github.com/llvm/llvm-project/commit/1f391a75af8685e6bba89421443d72ac6a186599
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/OutputSections.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to SyntheticSection::finalizeContents


  Commit: 7a5b9ef54eb96abd8415fd893576c42e51fd95db
      https://github.com/llvm/llvm-project/commit/7a5b9ef54eb96abd8415fd893576c42e51fd95db
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.h
    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

  Log Message:
  -----------
  [ELF] Pass Ctx & to SyntheticSection::writeTo


  Commit: 1e5e153485b817422c311f9326e80781a83ea7bc
      https://github.com/llvm/llvm-project/commit/1e5e153485b817422c311f9326e80781a83ea7bc
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    R clang/test/CodeGen/attr-target-version-riscv-invalid.c
    R clang/test/CodeGen/attr-target-version-riscv.c
    R clang/test/CodeGenCXX/attr-target-version-riscv.cpp
    R clang/test/SemaCXX/attr-target-version-riscv.cpp

  Log Message:
  -----------
  Revert "[RISCV][FMV] Support target_version" (#111096)

Reverts llvm/llvm-project#99040 due to https://lab.llvm.org/buildbot/#/builders/190/builds/7052


  Commit: ec06471c8317487a3f69fac89545253f139a9416
      https://github.com/llvm/llvm-project/commit/ec06471c8317487a3f69fac89545253f139a9416
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  Stop disabling link_llvmlibc feature in libc_test Bazel rule

This detail is not relevant for the upstream Bazel version. llvm-libc unit tests today directly invoke the function under test using the namespace, which reduces the potential problems of linking with some other (system-provided) version of llvm-libc further.


  Commit: e2f0ec3a3a8a2981be8a1aac2004cfb9064c61e8
      https://github.com/llvm/llvm-project/commit/e2f0ec3a3a8a2981be8a1aac2004cfb9064c61e8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to SyntheticSection::getSize


  Commit: df8795c082100cf9f63cd73db1d8bfabd2d5d710
      https://github.com/llvm/llvm-project/commit/df8795c082100cf9f63cd73db1d8bfabd2d5d710
  Author: Jim Lin <jim at andestech.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp

  Log Message:
  -----------
  [CSKY] Fix warning in CSKYMCCodeEmitter::getImmJMPIX.

Use llvm_unreachable instead of assert and replace if-else with switch-case.

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


  Commit: c4c34f047461164661b365123af12f4818a0e2c6
      https://github.com/llvm/llvm-project/commit/c4c34f047461164661b365123af12f4818a0e2c6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/LTO.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to InputFiles


  Commit: 1682c99a8877364f1d847395cef501e813804caa
      https://github.com/llvm/llvm-project/commit/1682c99a8877364f1d847395cef501e813804caa
  Author: Carlo Cabrera <github at carlo.cab>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [Clang][Driver] Support relative paths for CLANG_CONFIG_FILE_SYSTEM_DIR (#110962)

Shipping a system configuration file for Clang is useful, but it limits
the relocatability of the toolchain because it bakes in a reference to
an absolute path on the file system.

Let's fix that by allowing for `CLANG_CONFIG_FILE_SYSTEM_DIR` to be set
to a relative path, and then interpreting that relative to the location
of the driver if applicable.

This would be useful for the LLVM package we ship at Homebrew. We
currently have to bake in a `DEFAULT_SYSROOT` in order to ship a
toolchain that works out of the box on macOS. If
`CLANG_CONFIG_FILE_SYSTEM_DIR` supported relative paths, we could
replace that with a configuration file which would be easier to update
when the compiled-in `DEFAULT_SYSROOT` becomes stale (e.g. on macOS
version upgrades).

We could, of course, set `CLANG_CONFIG_FILE_SYSTEM_DIR` to an absolute
path to begin with. However, we do have users who install Homebrew into
a prefix that is different from the one used on our buildbots, so doing
this would result in a broken toolchain for those users.


  Commit: 3b0e120336846f450d9dd46936934be7a860f58d
      https://github.com/llvm/llvm-project/commit/3b0e120336846f450d9dd46936934be7a860f58d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll

  Log Message:
  -----------
  [RISCV] Add tests for @llvm.vector.reduce.fmul. NFC


  Commit: 56d6b567394abfc07ea4d3c92fa534bbf58e1942
      https://github.com/llvm/llvm-project/commit/56d6b567394abfc07ea4d3c92fa534bbf58e1942
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Interfaces/VectorInterfaces.td
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir

  Log Message:
  -----------
  [mlir][vector] Relax the requirements on broadcast dims (#99341)

NOTE: This is a follow-up for #97049 in which the `in_bounds` attribute
was made mandatory.

This PR updates the semantics of the `in_bounds` attribute so that
broadcast dimensions are no longer required to be "in bounds".
Specifically, these xfer_read/xfer_write Ops become valid after this
change:

```mlir
  %read = vector.transfer_read %A[%base1, %base2], %pad
      {in_bounds = [false], permutation_map = affine_map<(d0, d1) -> (0)>}
      {permutation_map = affine_map<(d0, d1) -> (0)>}
      : memref<?x?xf32>, vector<9xf32>

  vector.transfer_write %vec, %A[%base1, %base2],
      {in_bounds = [false], permutation_map = affine_map<(d0, d1) -> (0)>}
      {permutation_map = affine_map<(d0, d1) -> (0)>}
      : vector<9xf32>, memref<?x?xf32>
```

Note that the value `false` merely means "may run out-of-bounds", i.e.,
the corresponding access can still be "in bounds". In fact, the folder
for xfer Ops is also updated (*) and will update the attribute value
corresponding to broadcast dims to `true` if all non-broadcast dims
are marked as "in bounds". 

Note that this PR doesn't change any of the lowerings. The changes in
"SuperVectorize.cpp", "Vectorization.cpp" and "AffineMap.cpp" are simple
reverts of recent changes in #97049. Those were only meant to facilitate
making `in_bounds` mandatory and to work around the extra requirements
for broadcast dims (those requirements ere removed in this PR). All
changes in tests are also reverts of changes from #97049.

For context, here's a PR in which "broadcast" dims where forced to
always be "in-bounds":
  * https://reviews.llvm.org/D102566

(*) See `foldTransferInBoundsAttribute`.


  Commit: a10f5abbd48953a77c39d8f9b356d49b58490351
      https://github.com/llvm/llvm-project/commit/a10f5abbd48953a77c39d8f9b356d49b58490351
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-03 (Thu, 03 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Remove unneeded template parameter from ALU_ri. NFC


  Commit: ccca3c63715753d816b0f9b429455b826343bdb3
      https://github.com/llvm/llvm-project/commit/ccca3c63715753d816b0f9b429455b826343bdb3
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/assumed-rank-entry.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
    M flang/test/Lower/HLFIR/convert-variable-assumed-rank.f90
    M flang/test/Lower/HLFIR/select-rank.f90

  Log Message:
  -----------
  [flang] enable assumed-rank lowering by default (#110893)

Aside from a minor TODO about polymorphic RANK(*) (https://github.com/llvm/llvm-project/blob/2b8e81ce919e8db857dc2ba20012e9020af07294/flang/lib/Lower/Bridge.cpp#L3459),
the implementation for assumed-rank is ready for everyone to use.


  Commit: 3f9cabae0029bcbe88835aaa4c417ce41e584fb1
      https://github.com/llvm/llvm-project/commit/3f9cabae0029bcbe88835aaa4c417ce41e584fb1
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Types.h
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/extras/types.py
    M mlir/test/IR/attribute.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/python/ir/builtin_types.py
    M mlir/utils/lldb-scripts/mlirDataFormatters.py
    M mlir/utils/tree-sitter-mlir/grammar.js

  Log Message:
  -----------
  [MLIR] Add f8E8M0FNU type (#111028)

This PR adds `f8E8M0FNU` type to MLIR.

`f8E8M0FNU` type is proposed in [OpenCompute MX
Specification](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf).
It defines a 8-bit floating point number with bit layout S0E8M0. Unlike
IEEE-754 types, there are no infinity, denormals, zeros or negative
values.

```c
f8E8M0FNU
- Exponent bias: 127
- Maximum stored exponent value: 254 (binary 1111'1110)
- Maximum unbiased exponent value: 254 - 127 = 127
- Minimum stored exponent value: 0 (binary 0000'0000)
- Minimum unbiased exponent value: 0 − 127 = -127
- Doesn't have zero
- Doesn't have infinity
- NaN is encoded as binary 1111'1111

Additional details:
- Zeros cannot be represented
- Negative values cannot be represented
- Mantissa is always 1
```

Related PRs:
- [PR-107127](https://github.com/llvm/llvm-project/pull/107127)
[APFloat] Add APFloat support for E8M0 type
- [PR-105573](https://github.com/llvm/llvm-project/pull/105573) [MLIR]
Add f6E3M2FN type - was used as a template for this PR
- [PR-107999](https://github.com/llvm/llvm-project/pull/107999) [MLIR]
Add f6E2M3FN type
- [PR-108877](https://github.com/llvm/llvm-project/pull/108877) [MLIR]
Add f4E2M1FN type


  Commit: 5030deadeffe83b68ff209e27d4ec7f1dbaff01a
      https://github.com/llvm/llvm-project/commit/5030deadeffe83b68ff209e27d4ec7f1dbaff01a
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: No rollback during analysis conversion (#106414)

This commit changes the implementation of analysis conversions, so that
no rollback is needed at the end of the analysis. Instead, the dialect conversion is run on a clone of the IR.

The purpose of this commit is to reduce the number of rollbacks in the
dialect conversion framework. (Long term goal: Remove rollback
functionality entirely.)


  Commit: bba3849b81c8fc5343e22e767e4c5ab415b4b1d4
      https://github.com/llvm/llvm-project/commit/bba3849b81c8fc5343e22e767e4c5ab415b4b1d4
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [clang][docs] Add documentation for APValue constructors (#109994)

I always get confused when looking at these.


  Commit: 1753de2d9564682cd9034aae50e81691bfd168ec
      https://github.com/llvm/llvm-project/commit/1753de2d9564682cd9034aae50e81691bfd168ec
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/test/Fir/constant.fir
    M flang/test/Fir/fir-types.fir
    M flang/test/Fir/invalid-types.fir
    M flang/test/Fir/target.fir
    M flang/test/Fir/types-to-llvm.fir
    R flang/test/Transforms/debug-90683.fir

  Log Message:
  -----------
  [flang][FIR] remove fir.complex type and its fir.real element type (#111025)

Final patch of
https://discourse.llvm.org/t/rfc-flang-replace-usages-of-fir-complex-by-mlir-complex-type/82292

Since fir.real was only still used as fir.complex element type, this
patch removes it at the same time.


  Commit: 9cf8c094c77db1ed9e63322bedcf28b76e5c5a43
      https://github.com/llvm/llvm-project/commit/9cf8c094c77db1ed9e63322bedcf28b76e5c5a43
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rv64zbs.ll

  Log Message:
  -----------
  [RISCV][DAGCombine] Combine `sext_inreg (shl X, Y), i32` into `sllw X, Y` (#111101)

Alive2: https://alive2.llvm.org/ce/z/ncf36D


  Commit: 67d247a441572c046ccd82682ffe1102584f24ec
      https://github.com/llvm/llvm-project/commit/67d247a441572c046ccd82682ffe1102584f24ec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll

  Log Message:
  -----------
  [InstCombine] Decompose more icmps into masks (#110836)

Extend decomposeBitTestICmp() to handle cases where the resulting
comparison is of the form `icmp (X & Mask) pred C` with non-zero
`C`. Add a flag to allow code to opt-in to this behavior and use it in
the "log op of icmp" fold infrastructure.

This addresses regressions from #97289.

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


  Commit: 856774dd4f5a80bca8e8d0bfd50ab630c1c2d49d
      https://github.com/llvm/llvm-project/commit/856774dd4f5a80bca8e8d0bfd50ab630c1c2d49d
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/unittests/IR/ConstantFPRangeTest.cpp

  Log Message:
  -----------
  [ConstantFPRange][UnitTest] Ignore NaN payloads when enumerating values in a range (#111083)

NaN payloads can be ignored because they are unrelated with
ConstantFPRange (except the conversion from ConstantFPRange to
KnownBits). This patch just enumerates `+/-[S/Q]NaN` to avoid
enumerating 32 NaN values in all ranges which contain NaN values.
Addresses comment
https://github.com/llvm/llvm-project/pull/110082#issuecomment-2392037204.
This patch reduces the execution time for unittests from 30.37s to
10.59s with an optimized build.


  Commit: 9e831d50a0d67c6779048742657edb437818b681
      https://github.com/llvm/llvm-project/commit/9e831d50a0d67c6779048742657edb437818b681
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Driver/ToolChain.cpp
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  [AArch64] Pass -mabi option through to multilib (#110874)

Pass the -mabi option through to multilib, so that it can be used for
library selection.


  Commit: 992e75403f417d46ce9015147ff49d67009e736c
      https://github.com/llvm/llvm-project/commit/992e75403f417d46ce9015147ff49d67009e736c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang-tools-extra/clangd/refactor/tweaks/SwapBinaryOperands.cpp

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: d9d623310de196f2119fc593811204993916e26e
      https://github.com/llvm/llvm-project/commit/d9d623310de196f2119fc593811204993916e26e
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][linalg] Add a new helper hook: `hasVectorizationImpl` (#110708)

The newly added hook simply returns `false` for Ops for which there's no
"vectorization logic" in the Linalg Vectorizer (i.e. the `vectorize()`
method). It's added so that the following two TD ops expose identical
level of functionality (that's not the case ATM):

  * `transform.structured.vectorize_children_and_apply_patterns`
  * `transform.structured.vectorize`

Specifically, ATM, the former works only for Linalg Ops, while the
latter works for all Ops that the vectorizer supports (*). With this
change,
I am making sure that both TD will behave consistently.

Note, this shouldn't affect any of the current uses of the vectorizer.

(*) This is implemented via the `vectorize()` method in
Vectorization.cpp.


  Commit: d0756caedcf067860240bf31e8f9d371ba706757
      https://github.com/llvm/llvm-project/commit/d0756caedcf067860240bf31e8f9d371ba706757
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/test/CodeGen/arm-acle-coproc.c
    A clang/test/Driver/aarch64-v96a.c
    M clang/test/Driver/arm-cortex-cpus-1.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/arm-target-features.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/ARMTargetParser.def
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/ARM/ARMArchitectures.td
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [ARM][AArch64] Introduce the Armv9.6-A architecture version (#110825)

This introduces the Armv9.6-A architecture version, including the
relevant command-line option for -march.

More details about the Armv9.6-A architecture version can be found at:
  * https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2024
  * https://developer.arm.com/documentation/ddi0602/2024-09/


  Commit: 23c02a48f1c7343149b94aafe350ec59d1b14999
      https://github.com/llvm/llvm-project/commit/23c02a48f1c7343149b94aafe350ec59d1b14999
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-dwarfdump.rst

  Log Message:
  -----------
  [doc] Add llvm --error-display to dwarfdump documentation (#110922)

This adds documentation for --error-display, see:
https://github.com/llvm/llvm-project/pull/79648


  Commit: fcdb178bb477a7bd93048fa09a5ca6b1927bdb25
      https://github.com/llvm/llvm-project/commit/fcdb178bb477a7bd93048fa09a5ca6b1927bdb25
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-dwarfdump.rst

  Log Message:
  -----------
  [doc] Add --verify-json to dwarfdump documentation (#110909)

This adds documentation for --verify-json, see:
https://github.com/llvm/llvm-project/pull/81762


  Commit: 26fca7256edc0013886717b2585e638a6100dcea
      https://github.com/llvm/llvm-project/commit/26fca7256edc0013886717b2585e638a6100dcea
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll

  Log Message:
  -----------
  [VPlan][NFC] Use patterns in test check (#111086)


  Commit: 7be2ce7312191894c2458ecc08de7683fd2314fb
      https://github.com/llvm/llvm-project/commit/7be2ce7312191894c2458ecc08de7683fd2314fb
  Author: dlav-sc <daniil.avdeev at syntacore.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/test/CodeGen/RISCV/branch-relaxation.ll
    M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
    M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
    M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
    M llvm/test/CodeGen/RISCV/stack-realignment.ll

  Log Message:
  -----------
  [RISCV] fix SP recovery in a function epilogue (#110809)

Currently, in the cases when fp register is presented and sp register is
adjusted at the second time, sp recovery in a function epilogue isn't
performed in the best way, for example:
```
lui a0, 2
sub sp, s0, a0
addi a0, a0, -2044
add sp, sp, a0
```

This patch improves sp register recovery in such cases and the code
snippet above becomes:
```
addi sp, s0, -2044
```


  Commit: ef8d5069e1b8d322cd6905c03bef1b42e2e86515
      https://github.com/llvm/llvm-project/commit/ef8d5069e1b8d322cd6905c03bef1b42e2e86515
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sme.td
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/test/MC/AArch64/FP8/directive-arch-negative.s
    M llvm/test/MC/AArch64/FP8_SME2/lut.s
    M llvm/test/MC/AArch64/FP8_SME2/movt-diagnostics.s
    M llvm/test/MC/AArch64/FP8_SME2/movt.s

  Log Message:
  -----------
  [AArch64]Fix FEAT_SME_LUTv2 to have FEAT_SME2 implemented. (#110474)

According to [1]
"If FEAT_SME_LUTv2 is implemented, then FEAT_SME2 is implemented." The
LUTI4[2] not strided and MOVT[3] need FEAT_SME_LUTv2 to be defined.


[1]https://developer.arm.com/documentation/109697/0100/Feature-descriptions/The-Armv9-5-architecture-extension?lang=en#md462-the-armv95-architecture-extension__FEAT_SME_LUTv2
[2]https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions/LUTI4--four-registers--8-bit---Lookup-table-read-with-4-bit-indexes-and-8-bit-elements-

[3]https://developer.arm.com/documentation/ddi0602/2024-06/SME-Instructions/MOVT--vector-to-table---Move-vector-register-to-ZT0-


  Commit: c734d77b9913052012faf91fdc19753f791421d9
      https://github.com/llvm/llvm-project/commit/c734d77b9913052012faf91fdc19753f791421d9
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/test/Lower/OpenMP/statement-function.f90
    A flang/test/Semantics/OpenMP/private03.f90

  Log Message:
  -----------
  [flang][semantics][OpenMP] no privatisation of stmt functions (#106550)

OpenMP prohibits privatisation of variables that appear in expressions
for statement functions.

This is a re-working of an old patch https://reviews.llvm.org/D93213 by
@praveen-g-ctt.

The old patch couldn't be landed because of ordering concerns. Statement
functions are rewritten during parse tree rewriting, but this was done
after resolve-directives and so some array expressions were incorrectly
identified as statement functions. For this reason **I have opted to
re-order the semantics driver so that resolve-directives is run after
parse tree rewriting**.

Closes #54677

---------

Co-authored-by: Praveen <praveen at compilertree.com>


  Commit: f6f4c177ef03ecd027d884af2cd3caf3ccafcfd1
      https://github.com/llvm/llvm-project/commit/f6f4c177ef03ecd027d884af2cd3caf3ccafcfd1
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Transforms/debug-fn-info.fir
    M flang/test/Transforms/debug-local-global-storage-1.fir
    M flang/test/Transforms/debug-local-var.fir

  Log Message:
  -----------
  [flang][debug] Use PROGRAM name for main function name (#111022)

For example, in

        PROGRAM test_program
          ...
        END PROGRAM

This allows a user to break on the main function with `break
test_program`. This matches what classic flang and gfortran do.


  Commit: 60f3e67dae90f43698ae67167d0e024ff2ab0932
      https://github.com/llvm/llvm-project/commit/60f3e67dae90f43698ae67167d0e024ff2ab0932
  Author: serge-sans-paille <sguelton at mozilla.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M runtimes/cmake/Modules/WarningFlags.cmake

  Log Message:
  -----------
  [libc++] Activate -Warray-zero when building (#110812)


  Commit: b5598c33f02732e805e50a3eb5c67b17952c5683
      https://github.com/llvm/llvm-project/commit/b5598c33f02732e805e50a3eb5c67b17952c5683
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
    M llvm/test/CodeGen/X86/vector-sext.ll

  Log Message:
  -----------
  [X86] Regenerate test checks with vpternlog comments


  Commit: 972353fdfad02ae3206c91c80dd4eaa997b3d499
      https://github.com/llvm/llvm-project/commit/972353fdfad02ae3206c91c80dd4eaa997b3d499
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/no-dep-via-loop-guards.ll

  Log Message:
  -----------
  [LAA] Add tests where results can be improved using loop guards.


  Commit: b837c9e289dab93c7f8a06876e3f70b6864f40ab
      https://github.com/llvm/llvm-project/commit/b837c9e289dab93c7f8a06876e3f70b6864f40ab
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCompiler.td
    M llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll

  Log Message:
  -----------
  Revert "[llvm] Mark win x64 SEH pseudo instruction as meta instructions (#110889)"

This reverts commit db33d82026b8742b2719289547e3cb9910c8d7d1.

This commit caused errors when compiling for i686 with codeview
debug info enabled, see
https://github.com/llvm/llvm-project/pull/110889#issuecomment-2393405613
for details.


  Commit: 948467bf7398f5882472ff30bf09e604e237f456
      https://github.com/llvm/llvm-project/commit/948467bf7398f5882472ff30bf09e604e237f456
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp

  Log Message:
  -----------
  [AMDGPU] Use a range-based for loop. NFC.


  Commit: 53b3c9e408b740addce630e806ccd143b3ca0fde
      https://github.com/llvm/llvm-project/commit/53b3c9e408b740addce630e806ccd143b3ca0fde
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [bazel] Fix libc/hdr past c63112a9118277a20ae440f3f69189c0937e8f4d (#111135)


  Commit: dec4cfdb09596f34f17a653ad405ab2551b09039
      https://github.com/llvm/llvm-project/commit/dec4cfdb09596f34f17a653ad405ab2551b09039
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/no-dep-via-loop-guards.ll

  Log Message:
  -----------
  [LAA] Use loop guards when checking invariant accesses.

Apply loop guards to start and end pointers like done in other places to
improve results.


  Commit: f5815b9903321367990afea7618978ef880d4e99
      https://github.com/llvm/llvm-project/commit/f5815b9903321367990afea7618978ef880d4e99
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [SLP] NFC. Set NumOperands directly if VL[0] is IntrinsicInst. (#111103)


  Commit: a1b6daea2c85e2a835c7e9f982493b2c1b979c6e
      https://github.com/llvm/llvm-project/commit/a1b6daea2c85e2a835c7e9f982493b2c1b979c6e
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp

  Log Message:
  -----------
  [mlir][LLVMIR] Add LLVMDialect check in `DIScopeForLLVMFuncOp` (#110427)

This PR adds an LLVMDialect check in `DIScopeForLLVMFuncOp` to prevent
crashes. Fixes #108390.


  Commit: 6294679faa8ae57873b7fcdc00a4deb522d31c38
      https://github.com/llvm/llvm-project/commit/6294679faa8ae57873b7fcdc00a4deb522d31c38
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp

  Log Message:
  -----------
  [lldb] Add isConstant mode for FA locations (#110726)

This is similar to 9fe455fd0c7d, but for FA locations instead of
register locations.
This is useful for unwind plans that cannot create abstract unwind
rules, but instead must inspect the state of the program to determine
the current CFA.


  Commit: d826b0c90f0b0ebebd2b7ed37bf6ff71b34360c8
      https://github.com/llvm/llvm-project/commit/d826b0c90f0b0ebebd2b7ed37bf6ff71b34360c8
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    A llvm/test/CodeGen/MIR/Generic/machine-function-hasfakeuses-conflict.mir
    M llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  [LLVM] Add HasFakeUses to MachineFunction (#110097)

Following the addition of the llvm.fake.use intrinsic and corresponding
MIR instruction, two further changes are planned: to add an
-fextend-lifetimes flag to Clang that emits these intrinsics, and to
have -Og enable this flag by default. Currently, some logic for handling
fake uses is gated by the optdebug attribute, which is intended to be
switched on by -fextend-lifetimes (and by extension -Og later on).
However, the decision was made that a general optdebug attribute should
be incompatible with other opt_ attributes (e.g. optsize, optnone),
since they all express different intents for how to optimize the
program. We would still like to allow -fextend-lifetimes with optsize
however (i.e. -Os -fextend-lifetimes should be legal), since it may be a
useful configuration and there is no technical reason to not allow it.

This patch resolves this by tracking MachineFunctions that have fake
uses, allowing us to run passes that interact with them and skip passes
that clash with them.


  Commit: 15ee17c3ce34623261788d7de3c1bdf5860be34e
      https://github.com/llvm/llvm-project/commit/15ee17c3ce34623261788d7de3c1bdf5860be34e
  Author: Elvina Yakubova <eyakubova at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    R llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    R llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract_with_non_const_index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/limit.ll
    R llvm/test/Transforms/SLPVectorizer/X86/operand-is-reduced-val.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduced-gathered-vectorized.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-min-select.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reorder-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/return.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reused-scalar-in-multi-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/revec-reduction-logical.ll
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalars-reordered-in-reduction.ll
    R llvm/test/Transforms/SLPVectorizer/X86/several_store_chains.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-resized.ll
    R llvm/test/Transforms/SLPVectorizer/X86/splat-buildvector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/vectorize-reordered-list.ll
    A llvm/test/Transforms/SLPVectorizer/addsub.ll
    A llvm/test/Transforms/SLPVectorizer/consecutive-access.ll
    A llvm/test/Transforms/SLPVectorizer/extract-subvector-long-input.ll
    A llvm/test/Transforms/SLPVectorizer/extract-vectorized-operand.ll
    A llvm/test/Transforms/SLPVectorizer/extract_with_non_const_index.ll
    A llvm/test/Transforms/SLPVectorizer/icmp-altopcode-after-reordering.ll
    A llvm/test/Transforms/SLPVectorizer/insert-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/limit.ll
    A llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
    A llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-min-select.ll
    A llvm/test/Transforms/SLPVectorizer/reduction_loads.ll
    A llvm/test/Transforms/SLPVectorizer/reorder-node.ll
    A llvm/test/Transforms/SLPVectorizer/return.ll
    A llvm/test/Transforms/SLPVectorizer/reused-scalar-in-multi-node.ll
    A llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
    A llvm/test/Transforms/SLPVectorizer/same-scalars-reordered-in-reduction.ll
    A llvm/test/Transforms/SLPVectorizer/several_store_chains.ll
    A llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
    A llvm/test/Transforms/SLPVectorizer/splat-buildvector.ll
    A llvm/test/Transforms/SLPVectorizer/vectorize-reorder-alt-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/vectorize-reordered-list.ll

  Log Message:
  -----------
  [SLP] Move more X86 tests to common directory (#111134)

Some of the tests from the X86 directory can be generalized to improve
coverage for other architectures (cont.)


  Commit: 800b07396ff54b037fa9b73bb15586456656fb79
      https://github.com/llvm/llvm-project/commit/800b07396ff54b037fa9b73bb15586456656fb79
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/unittests/AST/ByteCode/Descriptor.cpp

  Log Message:
  -----------
  [clang][bytecode] Change isArrayElement() for narrowed composite arrays (#111110)

Make isArrayElement() return true here, so we can know that such a
pointer is in fact an array element and handle it properly in
toAPValue().


  Commit: 1811e872042a32e28ec0956a8422780b176ef3a4
      https://github.com/llvm/llvm-project/commit/1811e872042a32e28ec0956a8422780b176ef3a4
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [CodeGen] Fix enumeration value 'HasFakeUses' not handled in switch (NFC)

llvm-project/llvm/lib/CodeGen/MachineFunction.cpp:95:10:
error: enumeration value 'HasFakeUses' not handled in switch [-Werror,-Wswitch]
  switch(Prop) {
         ^~~~
1 error generated.


  Commit: 04540fac5bfa6c1630e84ccdc7f817bd8bc1a986
      https://github.com/llvm/llvm-project/commit/04540fac5bfa6c1630e84ccdc7f817bd8bc1a986
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Error.h
    M llvm/lib/TableGen/Error.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/test/TableGen/assert.td

  Log Message:
  -----------
  [TableGen] Print record location when record asserts fail (#111029)

When record assertions fail, print an error message with the record's
location, so it's easier to see where the record that caused the assert
to fail was instantiated. This is useful when the assert condition in a
class depends on a template parameter, so we need to know the context of
the definition to determine why the assert failed.

Also enhanced the assert.td test to check for these context messages,
and also add checks for some assert failures that were missing in the
test.


  Commit: 02debcef12793b5bf926a41a24ede18dc50eb18b
      https://github.com/llvm/llvm-project/commit/02debcef12793b5bf926a41a24ede18dc50eb18b
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values5.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values5.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values5.test
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: improve IR value name stability (#110940)

By default, UTC attempts to keep the produced diff small by keeping IR
value name variables stable. The old algorithm was roughly:

1. Compute a diff between the old and new check lines, where
   "uncommitted" variable names are replaced by a wildcard.
   This leads to a set of non-crossing "candidate" pairs of
   (old line, new line) that we can try to make equal.

2. Greedily walk this list of candidates, committing to variable names
   that make candidate lines equal if possible.

The greedy approach in the second step has the downside that committing
to a variable name greedily can sometimes prevent many subsequent
candidates from getting the variable name assignment that would make
them equal.

We keep the first step as-is, but replace the second one by an algorithm
that finds a large independent set of candidates, i.e. candidate pairs
of (old line, new line) which are non-conflicting in the sense that
their desired variable name mappings are not in conflict.

We find the large independent set by greedily assigning a coloring to
the conflict graph and taking the largest color class. We then commit to
all the variable name mappings which are desired by candidates in this
largest color class.

As before, we then recurse into regions between matching lines. This is
required in large cases. For example, running this algorithm at the
top-level of the new test case (stable_ir_values5.ll) matches up most of
the instructions, but not the names of the result values of all the
`load`s. This is because (unlike e.g. the getelementptrs) the load
instructions are all equal except for variable names, and so step 1 (the
diff algorithm) doesn't consider them as candidates. However, they are
trivially matched by recursion.

This also happens to fix a bug in tracking line indices that went
unnoticed previously...

As is usually the case with these changes, the quality improvement is
hard to see from the diff of this patch. However, it becomes obvious
when
comparing the diff of stable_ir_values5.ll against
stable_ir_value5.ll.expected
before and after this change.


  Commit: b01be72af0001991400b1e9adaecafd7c4e02d2b
      https://github.com/llvm/llvm-project/commit/b01be72af0001991400b1e9adaecafd7c4e02d2b
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  [NFC][CodeGen] Remove unused HasFakeUses MachineFunctionProperty

A previous commit d826b0c9 accidentally added a new MachineFunctionProperty,
HasFakeUses, that was unused by the commit (and results in an
uncovered-switch warning, which was fixed by a separate followup 1811e872);
this patch removes that enum value.


  Commit: e5a0c30e4ad6b22b17b72cc40b609905d2f97703
      https://github.com/llvm/llvm-project/commit/e5a0c30e4ad6b22b17b72cc40b609905d2f97703
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll

  Log Message:
  -----------
  AMDGPU: Work around machine verifier failure with convergence tokens

Apparently any function with convergence tokens will fail the
machine verifier after register allocation. The existing codegen tests
for tokens use stop-before, and do not run to the end. Work around this
by splitting out tests with convergence tokens. Fixes EXPENSIVE_CHECKS
bot failures after c08d7b3de7409aecadd7f9edfe0f3a1ce28a6374 and
428ae0f12e29eff1ddcaf59bdcce904ec056963e


  Commit: 3c98d8c14612699444ac906729c9b2872190c938
      https://github.com/llvm/llvm-project/commit/3c98d8c14612699444ac906729c9b2872190c938
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'tile' loop count/tightly nested loop requirement (#111038)

the 'tile' clause requires that it be followed by N (where N is the
    number of size expressions) 'tightly nested loops'.  This means the
same as it does in 'collapse', so much of the implementation is
simliar/shared with that.


  Commit: 097379ac9b0bd06d2437803fc7b1d00664b21383
      https://github.com/llvm/llvm-project/commit/097379ac9b0bd06d2437803fc7b1d00664b21383
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst

  Log Message:
  -----------
  [doc] Fix rendering for objcopy's --remove-symbol-prefix option text (#111131)


  Commit: a3cc4b61a0414a844058f064bd19d1d4085e0f6c
      https://github.com/llvm/llvm-project/commit/a3cc4b61a0414a844058f064bd19d1d4085e0f6c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp

  Log Message:
  -----------
  [RISCV][GISEL][NFC] Make MRI a member in RISCVInstructionSelector (#110926)

It was requested in
https://github.com/llvm/llvm-project/pull/110782#discussion_r1784939348
that MRI be made a member of RISCVInstructionSelector.

RISCVInstructionSelector is created in the RISCVSubtarget, independent
of MachineFunction. So it cannot be passed by reference during
construction of RISCVInstructionSelector.

The MachineRegisterInfo object belongs to each MachineFunction, so
set it in setupMF.


  Commit: 8d661fd9fd50fe4be9a9d5a8cc8f52f23925e7f6
      https://github.com/llvm/llvm-project/commit/8d661fd9fd50fe4be9a9d5a8cc8f52f23925e7f6
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/Analysis/asm.cpp

  Log Message:
  -----------
  [analyzer] use `invalidateRegions()` in `VisitGCCAsmStmt` (#109838)


  Commit: d8f22514eb0b83f302872af4689d27dce67501fc
      https://github.com/llvm/llvm-project/commit/d8f22514eb0b83f302872af4689d27dce67501fc
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/nvptx_attributes.c
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp

  Log Message:
  -----------
  [Clang] Automatically enable `-fconvergent-functions` on GPU targets (#111076)

Summary:
This patch causes us to respect the `-fconvergent-functions` and
`-fno-convergent-functions` options correctly. GPU targets should have
this set all the time, but we now offer `-fno-convergent-functions` to
opt-out if you want to test broken behavior. This munged about with a
lot of the old weird logic, but I don't think it makes any real changes.


  Commit: 8e33ff7d5669ec62ad26a0beb81cd257cb14258e
      https://github.com/llvm/llvm-project/commit/8e33ff7d5669ec62ad26a0beb81cd257cb14258e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    R mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/dump-ptx.mlir
    A mlir/test/Integration/GPU/CUDA/dump-ptx.mlir

  Log Message:
  -----------
  [mlir][GPU][NFC] Move `dump-ptx.mlir` test case (#111142)


  Commit: 208f42fd9bb59c007b0d6abe7eaf8c4e829740ea
      https://github.com/llvm/llvm-project/commit/208f42fd9bb59c007b0d6abe7eaf8c4e829740ea
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp

  Log Message:
  -----------
  [mlir][NVVM] Add constant memory space identifier (#111141)

Also use these enums in `BasicPtxBuilderInferface.cpp`.


  Commit: 2f245875b2f71272e6d7a78b4aed5be81109e9b9
      https://github.com/llvm/llvm-project/commit/2f245875b2f71272e6d7a78b4aed5be81109e9b9
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/loop-compound.f90

  Log Message:
  -----------
  [flang][OpenMP] Handle unstructured CF in compound loop constructs (#111111)

Fixes a bug in handling unstructured control-flow in compound loop
constructs. The fix makes sure that unstructured CF does not get lowered
until we reach the last item of the compound construct. This way, we
avoid moving block of unstructured loops in-between the middle items of
the construct and messing (i.e. adding operations) to these block while
doing so.


  Commit: d68083feba2ff869dae96e938b1fa64296f84274
      https://github.com/llvm/llvm-project/commit/d68083feba2ff869dae96e938b1fa64296f84274
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll

  Log Message:
  -----------
  [FuncSpec] Update tests to use --include-generated-funcs (NFC)


  Commit: 47c8b95daeec8e6cb012344ed037024528a73295
      https://github.com/llvm/llvm-project/commit/47c8b95daeec8e6cb012344ed037024528a73295
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/CFIFixup.cpp

  Log Message:
  -----------
  [CFIFixup] Factor CFI remember/restore insertion into a helper (NFC) (#111066)

Inserting a remember/restore pair is a very clean abstraction, so we can
split the logic out into a helper function. Additionally, cleaning this up
will make it easier to add logic for handling functions that are split across
multiple sections.


  Commit: 4da4fac322165420f0522cb554e5f6f25540d564
      https://github.com/llvm/llvm-project/commit/4da4fac322165420f0522cb554e5f6f25540d564
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll

  Log Message:
  -----------
  [ArgPromotion] Consider InvokeInst in Caller alias analysis (#110335)

Check that all users of a Function are CallBase rather than CallInst
when performing alias analysis using actual arguments in the calling
function, as this check is also valid for Invoke instructions.

This allows replacing the existing check with an assert, as the Function
only being used by CallBase derived instructions is a precondition of
the transform.

This addresses post-commit review on #106216.


  Commit: d2051919bb42087ebde2a8bdcd5b2676ad16d8eb
      https://github.com/llvm/llvm-project/commit/d2051919bb42087ebde2a8bdcd5b2676ad16d8eb
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [MSVC] work-around for compile time issue 102513 (#110986)

Disable optimizations when building clang/lib/AST/ByteCode/Interp.cpp
with Microsoft's compiler as it has a bug that causes excessive build
times. We do this only when NDEBUG is not defined on the assumption that
building without asserts indicates that a user is strongly invested in
runtime performance.

Partially addresses: https://github.com/llvm/llvm-project/issues/102513.

Once the bug is addressed in the Microsoft compiler this can be removed.

Co-authored-by: dyung


  Commit: 6b3220afa62bb1e77acf18dc7b622df9223e1ea8
      https://github.com/llvm/llvm-project/commit/6b3220afa62bb1e77acf18dc7b622df9223e1ea8
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  [InstCombine] Avoid crash on aggregate types in SimplifyDemandedUseFPClass (#111128)

The disables folding for FP aggregates that are not poison/posZero
types, which is currently not supported. Note: To fully handle this
aggregates would also likely require teaching `computeKnownFPClass()` to
handle array and struct constants (which does not seem implemented
outside of zero init).


  Commit: bf488ed6e1fbe4c494a1dc0dd199a3d03405784e
      https://github.com/llvm/llvm-project/commit/bf488ed6e1fbe4c494a1dc0dd199a3d03405784e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    R llvm/CODE_OWNERS.TXT
    A llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Move code owner list to Maintainers.md (#110240)

Following
https://discourse.llvm.org/t/rfc-proposing-changes-to-the-community-code-ownership-policy/80714
and https://github.com/llvm/llvm-project/pull/107384, this PR moves the
llvm CODE_OWNERS.txt to the Maintainers.md file.

The general format of the Maintainers.md file follows the current
CodeOwners.rst from clang, with some minor terminology changes to
account for the code owners -> maintainers migration.

This change is intended to be a pure format change, without changing any
actual code owners / maintainers. The list is still very badly outdated.
The intent here is to get the format change out of the way, so we can
get proper diffs when replacing no longer active maintainers. If we mix
both together, it will be hard to follow what actually changed.

I've tried to categorize things as best as I could, and filled in GitHub
handles for people where I knew them or could determine them with some
confidence.


  Commit: 9f3f76a6b443ace47b564d79192ca176de4dd236
      https://github.com/llvm/llvm-project/commit/9f3f76a6b443ace47b564d79192ca176de4dd236
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: collect original check lines for old versions of lit tests (#111148)

Old versions of UTC produced function labels like:

    ; CHECK-LABEL: @func(

Fix the regular expression used when scanning for old check lines to
recognize this form of label.

This allows meta variable stability to apply when running UTC on tests
using this form of label.

Reported-by: Nikita Popov <npopov at redhat.com>


  Commit: 8305e9fc09a54a520b29426628992e34b156d8f9
      https://github.com/llvm/llvm-project/commit/8305e9fc09a54a520b29426628992e34b156d8f9
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/CFIFixup.cpp

  Log Message:
  -----------
  Revert "[CFIFixup] Factor CFI remember/restore insertion into a helper (NFC)" (#111168)

Reverts llvm/llvm-project#111066

This seems to be breaking some builds:
- https://lab.llvm.org/buildbot/#/builders/51/builds/4732
- https://lab.llvm.org/buildbot/#/builders/41/builds/2534
- https://lab.llvm.org/buildbot/#/builders/73/builds/6601


  Commit: 2997a67172e0f3752f9f25210d86ba6fa65e63e7
      https://github.com/llvm/llvm-project/commit/2997a67172e0f3752f9f25210d86ba6fa65e63e7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#111090)


  Commit: 6a8fcb0fa899af0b65caa3605fbed359189bed2f
      https://github.com/llvm/llvm-project/commit/6a8fcb0fa899af0b65caa3605fbed359189bed2f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/utils/TableGen/MveEmitter.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#111089)


  Commit: c7895f0d72ef3797fff6f687fd696e9a70911703
      https://github.com/llvm/llvm-project/commit/c7895f0d72ef3797fff6f687fd696e9a70911703
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp

  Log Message:
  -----------
  [DependencyScanning] Avoid repeated hash lookups (NFC) (#111088)


  Commit: dada3c316d69ab641c9972062745ac16af34533e
      https://github.com/llvm/llvm-project/commit/dada3c316d69ab641c9972062745ac16af34533e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/tools/libclang/CXIndexDataConsumer.cpp

  Log Message:
  -----------
  [libclang] Avoid repeated hash lookups (NFC) (#111087)


  Commit: ed59d571f2704aff4dfdeace57c286a2c6deac74
      https://github.com/llvm/llvm-project/commit/ed59d571f2704aff4dfdeace57c286a2c6deac74
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/Support/Caching.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Support/Caching.cpp

  Log Message:
  -----------
  [ThinLTO][NFC] Refactor FileCache (#110463)

This is a prep for https://github.com/llvm/llvm-project/pull/90933.
 
  - Change `FileCache` from a function to a type.
  - Store the cache directory in the type, which will be used when creating additional caches for two-codegen round runs that inherit this value.


  Commit: 19992eea2300f1e97a71013b50f582538cad5022
      https://github.com/llvm/llvm-project/commit/19992eea2300f1e97a71013b50f582538cad5022
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp

  Log Message:
  -----------
  Partially revert "[mlir][NVVM] Add constant memory space identifier" (#111169)

The second part of the change introduced circular dependency between
LLVMDialect and BasicPtxBuilderInterface.


  Commit: 6937dbbe51391471f3cf50fe2b8fa2cd14080a3b
      https://github.com/llvm/llvm-project/commit/6937dbbe51391471f3cf50fe2b8fa2cd14080a3b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir

  Log Message:
  -----------
  [mlir][memref] Fix `alloca` lowering with 0 dimensions (#111119)

The `memref.alloca` lowering computed the allocation size incorrectly
when there were 0 dimensions.

Previously:
```
memref.alloca() : memref<10x0x2xf32>
--> llvm.alloca 20xf32
```

Now:
```
memref.alloca() : memref<10x0x2xf32>
--> llvm.alloca 0xf32
```

>From the `llvm.alloca` documentation:
```
Allocating zero bytes is legal, but the returned pointer may not be unique.
```


  Commit: b9330e548e807ad79982b6e819797202d85b64cf
      https://github.com/llvm/llvm-project/commit/b9330e548e807ad79982b6e819797202d85b64cf
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/Transforms/EarlyCSE/replace-calls-def-attrs.ll

  Log Message:
  -----------
  [EarlyCSE] Add tests for de-duplication of callsites with differing attrs; NFC


  Commit: b98c405f954f9ef6150c655f6ffc68e377d2ac84
      https://github.com/llvm/llvm-project/commit/b98c405f954f9ef6150c655f6ffc68e377d2ac84
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/test/Transforms/EarlyCSE/replace-calls-def-attrs.ll

  Log Message:
  -----------
  [EarlyCSE] De-Duplicate callsites with differing attrs

We only do this if the attributes of the two callsites are compatible
(intersectable) which is probably not in fact necessary.

Closes #110929


  Commit: d991e054529a805019d67769afd602ff878496f7
      https://github.com/llvm/llvm-project/commit/d991e054529a805019d67769afd602ff878496f7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll

  Log Message:
  -----------
  [SLP]Fix compiler crash on vectorizing gatehrd loads with different types

Need to check not only parents, but also types for compatible loads,
when trying to build the vectorizable sequences.

Fixes crash reported in https://github.com/llvm/llvm-project/pull/107461#issuecomment-2392980214


  Commit: 87c799af31e2a82801f4dbda83125a0265d8c216
      https://github.com/llvm/llvm-project/commit/87c799af31e2a82801f4dbda83125a0265d8c216
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll

  Log Message:
  -----------
  Regenerate output for llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll


  Commit: dd04cf0c9d97a6d73c832ceb6cd060ec3589876e
      https://github.com/llvm/llvm-project/commit/dd04cf0c9d97a6d73c832ceb6cd060ec3589876e
  Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  MLIR BUILD.bazel:  fold `BasicPtxBuilderInterface` into `NVVMDialect` (#111172)

While doing an integrate into downstream
https://github.com/iree-org/iree, I ran into a typical Bazel error with
`BasicPtxBuilderInterface.cpp` including `NVVMDialect.h` which was not
exposed as a header by a declared dependency. I tried fixing this the
straightforward way, by letting `:BasicPtxBuilderInterface` depend on
`:NVVMDialect` , but that caused another Bazel error: circular
dependency between these two targets, as `:NVVMDialect` was already
depending on `:BasicPtxBuilderInterface`. I tried breaking that circle
by dropping the latter dependency, but it was a real dependency in the
code, specifically in the TableGen-generated code. So in the end it
seems that these two targets just need to be fused, which this PR does.

Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>


  Commit: 99c05b269010e817a0a2b44a7dad8ad28f8ac41b
      https://github.com/llvm/llvm-project/commit/99c05b269010e817a0a2b44a7dad8ad28f8ac41b
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/test-collapse-tensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir

  Log Message:
  -----------
  [mlir] Remove `-finalizing-bufferize` from tests (#111177)

This pass is not needed when the IR was bufferized with
`-one-shot-bufferize`.


  Commit: d883ef10767c5ac22b43f7f9f49e4565e7ce8263
      https://github.com/llvm/llvm-project/commit/d883ef10767c5ac22b43f7f9f49e4565e7ce8263
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    A llvm/include/llvm/TableGen/TGTimer.h
    M llvm/lib/TableGen/CMakeLists.txt
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/TableGen/Record.cpp
    A llvm/lib/TableGen/TGTimer.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn

  Log Message:
  -----------
  [TableGen] Factor out timer code into a new `TGTimer` class (#111054)

Factor out the timer related functionality from `RecordKeeper` to a new
`TGTimer` class in a new file.


  Commit: b91f0def6f261064cedfe0e62395c0097130b8f1
      https://github.com/llvm/llvm-project/commit/b91f0def6f261064cedfe0e62395c0097130b8f1
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/TableGenBackend.h
    M llvm/lib/TableGen/TableGenBackend.cpp

  Log Message:
  -----------
  [TableGen] Change backend callback to require const RecordKeeper (#111064)

Change TableGen backend callback function to require a const
RecordKeeper argument (by changing it from function_ref to just a
function pointer). This undoes parts of
https://github.com/llvm/llvm-project/pull/104716 which was added to
enable gradual migration of TableGen backends to use const RecordKeeper
(by allowing either const or non-const references). Now that all
backends have been migrated to const reference, we do not need this.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089


  Commit: ed0f4074eb86f1588efb11bd06ad4fb383a9a921
      https://github.com/llvm/llvm-project/commit/ed0f4074eb86f1588efb11bd06ad4fb383a9a921
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td

  Log Message:
  -----------
  [LLVM][TableGen] Check validity of IIT encoding for vector types (#111152)

Add assert to verify that the `IIT_Vecs` list for IIT encoding of vector
types is not empty for vector types (else it will generate an invalid
IIT encoding).

Remove `llvm_v2048i1_ty` for which this assert fails, since the
`Intrinsics.td` file does not define any IIT encoding for vectors of
size 2048.


  Commit: 296a00bead8a25d875975ce68a5cd12c5fce6233
      https://github.com/llvm/llvm-project/commit/296a00bead8a25d875975ce68a5cd12c5fce6233
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGen/rtsan_attribute_inserted.c
    M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c

  Log Message:
  -----------
  [clang][rtsan] Add sanitize_realtime_unsafe attr to [[clang::blocking]] function IR (#111055)


  Commit: 78089d5845d14bf61bdc06209c32f0fb34927c68
      https://github.com/llvm/llvm-project/commit/78089d5845d14bf61bdc06209c32f0fb34927c68
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  ValueTracking: refactor recurrence-matching (NFC) (#109659)


  Commit: f873fc3ae2afb316d69c3f9be7b8903c18f217b0
      https://github.com/llvm/llvm-project/commit/f873fc3ae2afb316d69c3f9be7b8903c18f217b0
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/RISCVGISel.td
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/rvv/splat-vector.ll

  Log Message:
  -----------
  [RISCV][GISEL] instruction-select vmclr (#110782)

This is stacked on #110778. This PR adds and tests renderVLOp too, as
that is needed from vmclr.


  Commit: 9459d729d22b7bfedad9d3a4237162077c6984a4
      https://github.com/llvm/llvm-project/commit/9459d729d22b7bfedad9d3a4237162077c6984a4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [x86] combineMUL - when looking for a vector multiply by splat constant, ensure we're only accepting ConstantInt splat scalars.

Fixes #111170


  Commit: 643df0573d235240d66e82cd2b163536e9e8de13
      https://github.com/llvm/llvm-project/commit/643df0573d235240d66e82cd2b163536e9e8de13
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/test/MC/WebAssembly/annotations.s

  Log Message:
  -----------
  [WebAssembly] Enable type checker in annotations.s (#111079)


  Commit: 98a15c7b0c6ec129d371f0c121dbe9396c4f5609
      https://github.com/llvm/llvm-project/commit/98a15c7b0c6ec129d371f0c121dbe9396c4f5609
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir

  Log Message:
  -----------
  Reapply "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buffer.*.pN (#110714)" (#111059)

This reverts commit 650c41aad2eb43c634a05b2b5799a0c13a73b92f.

The test failures appear to be from conflicts with other PRs that landed around this time.


  Commit: 3a47bf633cfde9ab01fae2ce6f9c0876dc4952c3
      https://github.com/llvm/llvm-project/commit/3a47bf633cfde9ab01fae2ce6f9c0876dc4952c3
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Switch more Instruction::create() to InsertPosition (#111080)


  Commit: 4c26a1e4d7e490a38dcd2a24e4c8939075fd4a5a
      https://github.com/llvm/llvm-project/commit/4c26a1e4d7e490a38dcd2a24e4c8939075fd4a5a
  Author: Sean Perry <perry at ca.ibm.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Parse/ParsePragma.cpp
    A clang/test/Driver/zos-pragma-pack.c
    A clang/test/SemaCXX/pragma-pack-packed-2.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Use the XL pragma pack semantics on z/OS (#111053)

- set the default on z/OS to use the XL pragma semantics
- add in additional pragma pack values such as twobyte & reset supported
by XL on z/OS


  Commit: c0f8889774ce4926ed58e2bf379d8ba70adf79ae
      https://github.com/llvm/llvm-project/commit/c0f8889774ce4926ed58e2bf379d8ba70adf79ae
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
    A llvm/test/CodeGen/SPIRV/opencl/radians.ll

  Log Message:
  -----------
  [SPIRV] Add radians intrinsic (#110800)

partially fixes #99151

### Changes
* Added int_spv_radians intrinsic in IntrinsicsSPIRV.td
* Added lowering for int_spv_radians in SPIRVInstructionSelector.cpp
* Added DXIL backend test case

### Related PRs
* [[clang][HLSL] Add radians intrinsic
#110802](https://github.com/llvm/llvm-project/pull/110802)
* [[DXIL] Add radians intrinsic
#110616](https://github.com/llvm/llvm-project/pull/110616)


  Commit: 45817aa726363b5fda9e5e9b26efb7edec16a514
      https://github.com/llvm/llvm-project/commit/45817aa726363b5fda9e5e9b26efb7edec16a514
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll
    M llvm/test/Transforms/LICM/hoist-binop.ll

  Log Message:
  -----------
  LICM: hoist BO assoc for and, or, xor (#111146)

Trivially lift the Opcode limitation on hoistBOAssociation to also hoist
and, or, and xor.

Alive2 proofs: https://alive2.llvm.org/ce/z/rVNP2X


  Commit: 4281f294a8ee23686cdef665d1b5df6ccab0efce
      https://github.com/llvm/llvm-project/commit/4281f294a8ee23686cdef665d1b5df6ccab0efce
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp

  Log Message:
  -----------
  [SPIR-V] Duplicates Tracker accounts for possible changes in Constant usage after optimization (#110835)

This PR introduces changes into processing of internal/service data in
SPIRV Backend so that Duplicates Tracker accounts for possible changes
in Constant usage after optimization, namely this PR fixes the case when
a Constant register stored in Duplicates Tracker after all passes is
represented by a non-constant expression. In this case we may be sure
that it neither is able to create a duplicate nor is in need of a
special placement as a Constant instruction.

This PR doesn't introduce a new feature, and in this case we rely on
existing set of test cases in the SPIRV Backend test suite to ensure
that this PR doesn't break existing assumptions without introducing new
test cases. There is a reproducer of the issue available as part of SYCL
CTS test suite, however it's a binary of several MB's size. Given the
subtlety of the issue, reduction of the reproducer to a reasonable site
for inclusion into the SPIRV Backend test suite doesn't seem realistic.


  Commit: c0dfef878ec7ce7a334a013a6d4fdf8ed2302891
      https://github.com/llvm/llvm-project/commit/c0dfef878ec7ce7a334a013a6d4fdf8ed2302891
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with potential non-power-of2 (but whole reg) vectorized stores


  Commit: f74879cf0cf3e6d1f4c510627a7343ab09485e98
      https://github.com/llvm/llvm-project/commit/f74879cf0cf3e6d1f4c510627a7343ab09485e98
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/root-trunc-extract-reuse.ll

  Log Message:
  -----------
  [SLP]Make PHICompare comparator follow weak strict ordering requirement



Reviewers: efriedma-quic

Reviewed By: efriedma-quic

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


  Commit: 9144fed31b59089f4e3e5fedf7eb87d2695ef843
      https://github.com/llvm/llvm-project/commit/9144fed31b59089f4e3e5fedf7eb87d2695ef843
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir

  Log Message:
  -----------
  [mlir] Add option for a cleanup pattern set to SCF tiling helper (#109554)

The SCF helper for tiling an operation implementing the TilingInterface
and greedily fusing consumers requires an uninterrupted chain of
operations implementing the tiling interface to succeed. There can be
cases with intermediate ops that don't implement the interface but have
producers that could be fused if various canonicalization/simplification
patterns could run in between fusion steps.

This adds an option to SCFTileAndFuseOptions for a pattern set to run
between fusion steps to the ops that result from fusion/tiling. Removed
and newly inserted slices are tracked for continued fusion applications.

See this RFC for more discussion:

https://discourse.llvm.org/t/rfc-split-fusion-portions-of-the-tilinginterface-into-a-new-interface/81155


  Commit: 1e75d08659aeb1aabf92b59f33649c414d4ff8b7
      https://github.com/llvm/llvm-project/commit/1e75d08659aeb1aabf92b59f33649c414d4ff8b7
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/radians.ll

  Log Message:
  -----------
  [DXIL] Add radians intrinsic (#110616)

makes progress on #99151

### Changes
- Added int_dx_radians intrinsic in IntrinsicsDirectX.td
- Added expansion for int_dx_radians in DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case

### Related PRs
* [[clang][HLSL] Add radians intrinsic
#110802](https://github.com/llvm/llvm-project/pull/110802)
* [[SPIRV] Add radians intrinsic
#110800](https://github.com/llvm/llvm-project/pull/110800)


  Commit: 3b88805ca20018ae202afd3aea39f4fa856a8c64
      https://github.com/llvm/llvm-project/commit/3b88805ca20018ae202afd3aea39f4fa856a8c64
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    A llvm/test/CodeGen/AMDGPU/commute-op-sel.mir
    A llvm/test/CodeGen/AMDGPU/sdwa-commute.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-cse.mir

  Log Message:
  -----------
  [AMDGPU] Fix SDWA commuting (#106920)

SDWA insts miss reverse opcode, which causes them to be treated as
commutable with default reverse opcode i.e. their own opcode. As a
result, SWDA F16 sub A, B and Sub B, A are merged by machine CSE. The
correct behavior is to merged sub A, B and subrev B, A instead of sub B,
A. This issues caused failures in rocFFT tests.

Another issue is that src0_sel and src1_sel are not swapped when SDWA
insts are commuted.

Verified that this fixes rocFFT tests failure.


  Commit: 72f38040ddc8c2eca712c29b86ea0209faab4d57
      https://github.com/llvm/llvm-project/commit/72f38040ddc8c2eca712c29b86ea0209faab4d57
  Author: Renaud Kauffmann <rkauffmann at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp

  Log Message:
  -----------
  Removing CUF runtime dependency with llvm::EnableABIBreakingChecks (#111200)

getMemType happens to only be used in CufOpConversion.cpp. So, moving it
here for now. If it needs to be shared with the runtime, then care
should be taken in not bringing the include `#include
"flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h"` which introduces the
dependency with llvm::EnableABIBreakingChecks


  Commit: e31e6f259ed22acfb2135700cb0482f84d6ea386
      https://github.com/llvm/llvm-project/commit/e31e6f259ed22acfb2135700cb0482f84d6ea386
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/TableGen/Error.cpp
    M llvm/test/TableGen/assert.td

  Log Message:
  -----------
  [TableGen] Print assert message inline with assert failure (#111184)

Print assert message after the "assertion failed" message instead of
printing it as a separate note. This makes the assert failure reporting
less verbose and also more useful to see the failure message inline with
the "assertion failed" message.


  Commit: 2a65f081b6111a8ed78e679d4612c32c1511c3f9
      https://github.com/llvm/llvm-project/commit/2a65f081b6111a8ed78e679d4612c32c1511c3f9
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [llvm][OpenMPIRBuilderTest] Avoid Type::getPointerTo() (NFC) (#111196)

`llvm::Type::getPointerTo()` is to be deprecated & removed soon.


  Commit: 4f3a0959d62c81146a02dab80f761ccb921291e6
      https://github.com/llvm/llvm-project/commit/4f3a0959d62c81146a02dab80f761ccb921291e6
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Switch more Instruction::create() to InsertPosition (#111187)


  Commit: b2f3ac836aac166b8fb21690a0a480c816de0521
      https://github.com/llvm/llvm-project/commit/b2f3ac836aac166b8fb21690a0a480c816de0521
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [memprof] Teach createMIBNode to take ArrayRef (NFC) (#111195)

createMIBNode does not modify MIBCallStack, so we can take ArrayRef
instead.

While I am at it, this patch changes the type of MIBPayload to
SmallVector.  We put at most three elements, so we can avoid a heap
allocation.


  Commit: fda2fea3d161e07ec3a8441359f761ce9dd9a977
      https://github.com/llvm/llvm-project/commit/fda2fea3d161e07ec3a8441359f761ce9dd9a977
  Author: Manasij Mukherjee <manasij7479 at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/vector-returns.ll

  Log Message:
  -----------
  [NVPTX] Promote v2i8 to v2i16 (#111189)

Promote v2i8 to v2i16, fixes a crash. 
Re-enable a test in NVPTX/vector-returns.ll

https://github.com/llvm/llvm-project/issues/104864


  Commit: c029702f82a494053b23f10886fdc319751cd193
      https://github.com/llvm/llvm-project/commit/c029702f82a494053b23f10886fdc319751cd193
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Switch more Instruction::create() to InsertPosition (#111208)


  Commit: ed5088a2717e5c67499ea25937e430e68d567fa7
      https://github.com/llvm/llvm-project/commit/ed5088a2717e5c67499ea25937e430e68d567fa7
  Author: vporpo <vporpodas at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Instruction.h
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Switch more Instruction::create() to InsertPosition (#111213)

Also moves CmpInst definitions from Context.cpp to Instruction.cpp


  Commit: d0d0c4d5a0e3c4dd7fa480e6222cfd40d44d1e7e
      https://github.com/llvm/llvm-project/commit/d0d0c4d5a0e3c4dd7fa480e6222cfd40d44d1e7e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td

  Log Message:
  -----------
  [RISCV] Use PatGprImm to simplify some isel patterns. NFC


  Commit: 7692d106b480a16861f5ed63378ec1b857a20bc1
      https://github.com/llvm/llvm-project/commit/7692d106b480a16861f5ed63378ec1b857a20bc1
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Remove dead code + use nlogn lookups instead of n^2


  Commit: 9df94e2791a0939f562d2d77f5d611e6ff37f5f9
      https://github.com/llvm/llvm-project/commit/9df94e2791a0939f562d2d77f5d611e6ff37f5f9
  Author: Adam Yang <hanbyang at microsoft.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl

  Log Message:
  -----------
  [clang][HLSL] Add radians intrinsic (#110802)

partially fixes #99151

### Changes
* Implemented `radians` clang builtin
* Linked `radians` clang builtin with `hlsl_intrinsics.h`
* Added sema checks for `radians` to `CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp`
* Add codegen for `radians` to `EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`
* Add codegen tests to `clang/test/CodeGenHLSL/builtins/radians.hlsl`
* Add sema tests to `clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl`

### Related PRs
* [[DXIL] Add radians intrinsic
#110616](https://github.com/llvm/llvm-project/pull/110616)
* [[SPIRV] Add radians intrinsic
#110800](https://github.com/llvm/llvm-project/pull/110800)


  Commit: 50838851e82281635deacd017273947d9259f8fe
      https://github.com/llvm/llvm-project/commit/50838851e82281635deacd017273947d9259f8fe
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M libc/docs/gpu/using.rst

  Log Message:
  -----------
  [libc][docs] Update NVPTX using documentation now that linking works

Summary:
I added a wrapper linker awhile back but this still says it doesn't
work.


  Commit: 765d7e7a47f971e78f6fa5477309591512ea4747
      https://github.com/llvm/llvm-project/commit/765d7e7a47f971e78f6fa5477309591512ea4747
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M llvm/lib/IR/Attributes.cpp

  Log Message:
  -----------
  [IR] Fix '-Wparentheses' warnings. NFC


  Commit: e5b05a51b8151cc7788bbdea4d491e5ccfceedea
      https://github.com/llvm/llvm-project/commit/e5b05a51b8151cc7788bbdea4d491e5ccfceedea
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Handle template closer followed by braces (#110971)

Fixes #110968.


  Commit: b5f6689dc93216f9272e790e787548cf29250566
      https://github.com/llvm/llvm-project/commit/b5f6689dc93216f9272e790e787548cf29250566
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Annotate ::operator as FunctionDeclarationName (#111115)

Fixes #111011.


  Commit: e6549b8036089f20c6ac01e644a544aa2b231ca8
      https://github.com/llvm/llvm-project/commit/e6549b8036089f20c6ac01e644a544aa2b231ca8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV][ISel] Allow emitting `addiw` with u32simm12 rhs (#111116)

In InstCombine, we shrink the constant by setting unused bits to zero
(e.g. `((X + -2) & 4294967295) -> ((X + 4294967294) & 4294967295)`).
However, this canonicalization blocks emitting `addiw` and creates
redundant li for simm32 rhs:
```
; bin/llc -mtriple=riscv64 -mattr=+zba test.ll -o -
define i64 @add_u32simm32_zextw(i64 %x) nounwind {
entry:
  %add = add i64 %x, 4294967294
  %and = and i64 %add, 4294967295
  ret i64 %and
}
```
```
add_u32simm32_zextw:                    # @add_u32simm32_zextw
# %bb.0:                                # %entry
        li      a1, -2
        add     a0, a0, a1
        zext.w  a0, a0
        ret
```

This patch addresses the issue by matching u32simm12 rhs.


  Commit: bf895c714e1f8a51c1e565a75acf60bf7197be51
      https://github.com/llvm/llvm-project/commit/bf895c714e1f8a51c1e565a75acf60bf7197be51
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [RISCV] Bump hwprobe support to Linux 6.11 (#108578)

This patch is the follow-up of
https://github.com/llvm/llvm-project/pull/94352 with some updates:
1. Add support for more extensions for `zve*`, `zimop`, `zc*`, `zcmop`
and `zawrs`.
2. Use `RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF` to check whether the
processor supports fast misaligned scalar memory access.
https://github.com/llvm/llvm-project/pull/108551 reminds me that the
patch
https://lore.kernel.org/all/20240809214444.3257596-1-evan@rivosinc.com/T/
has been merged. Address comment
https://github.com/llvm/llvm-project/pull/94352#discussion_r1626056015.

References:
1. constants:
https://github.com/torvalds/linux/blame/v6.11-rc7/arch/riscv/include/uapi/asm/hwprobe.h
2. https://docs.kernel.org/arch/riscv/hwprobe.html
3. Related commits:
1. `zve*` support:
https://github.com/torvalds/linux/commit/de8f8282a969d0b7342702f355886aab3b14043d
2. `zimop` support:
https://github.com/torvalds/linux/commit/36f8960de887a5e2811c5d1c0517cfa6f419c1c4
3. `zc*` support:
https://github.com/torvalds/linux/commit/0ad70db5eb21e50ed693fa274bea0346de453e29
4. `zcmop` support:
https://github.com/torvalds/linux/commit/fc078ea317cc856c1e82997da7e8fd4d6da7aa29
5. `zawrs` support:
https://github.com/torvalds/linux/commit/244c18fbf64a33d152645766a033b2935ab0acb5
6. scalar misaligned perf:
https://github.com/torvalds/linux/commit/c42e2f076769c9c1bc5f3f0aa1c2032558e76647
and
https://github.com/torvalds/linux/commit/1f5288874de776412041022607513ffac74ae1a6


  Commit: 9e862ae3219b09283971ca0ced52a64b0d6db86b
      https://github.com/llvm/llvm-project/commit/9e862ae3219b09283971ca0ced52a64b0d6db86b
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp
    A lld/test/MachO/icf-safe-thunks-dwarf.ll

  Log Message:
  -----------
  [lld-macho] Fix invalid DWARF with --icf=safe_thunks (#111097)

There is a bug in the current implementation of `--icf=safe_thunks`
where a STABS entry is emitted for generated thunks. This is problematic
as we end up generating invalid DWARF as dsymutil will think the entire
function body is at the thunk location, when in actuality there will
only be a single branch present. This will end up causing overlapping
DWARF entries.

To fix this we never generate STABS entries for such thunks. 
The existing `--icf=safe_thunks` test is updated to also generate debug
info and we add a check that no corrupt DWARF is generated.

As a future TODO we need to make `--keep-icf-stabs` compatible with
`--icf=safe_thunks`.


  Commit: 9766ce4db57212646f135fe7033972a7a51aef4d
      https://github.com/llvm/llvm-project/commit/9766ce4db57212646f135fe7033972a7a51aef4d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/lsan/lsan_flags.inc

  Log Message:
  -----------
  [lsan] Add `thread_suspend_fail` flag


  Commit: f6fd7b24c5955ce772f1afa4314a2d3434c458d5
      https://github.com/llvm/llvm-project/commit/f6fd7b24c5955ce772f1afa4314a2d3434c458d5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp

  Log Message:
  -----------
  [NFC][lsan] Add SuspendAllThreads traces


  Commit: 574266ce3381ad734c995d653a7cabd9d4d53447
      https://github.com/llvm/llvm-project/commit/574266ce3381ad734c995d653a7cabd9d4d53447
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-10-04 (Fri, 04 Oct 2024)

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

  Log Message:
  -----------
  Revert "[InstCombine] Folding `(icmp eq/ne (and X, -P2), INT_MIN)`" (#111236)

Reverts #110880 because of exposed issue is Msan instrumentation
#111212.

This reverts commit a64643688526114b50c25b3eda8a57855bd2be87.


  Commit: 554eaec63908ed20c35c8cc85304a3d44a63c634
      https://github.com/llvm/llvm-project/commit/554eaec63908ed20c35c8cc85304a3d44a63c634
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Analysis/CostModel/RISCV/fixed-vector-insert-subvector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll

  Log Message:
  -----------
  [RISCV][TTI] Recognize CONCAT_VECTORS if a shufflevector mask is multiple insert subvector. (#110457)


  Commit: 835b5e278e525dc628d4d0c085eb272996aed466
      https://github.com/llvm/llvm-project/commit/835b5e278e525dc628d4d0c085eb272996aed466
  Author: Tom Yang <zhenyutyang at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/test/API/commands/session/save/TestSessionSave.py

  Log Message:
  -----------
  Add warning message to `session save` when transcript isn't saved. (#109020)

Somewhat recently, we made the change to hide the behavior to save LLDB
session history to the transcript buffer behind the flag
`interpreter.save-transcript`. By default, `interpreter.save-transcript`
is false. See #90703 for context.

I'm making a small update here to our `session save` messaging and some
help docs to clarify for users that aren't aware of this change. Maybe
`interpreter.save-transcript` could be true by default as well. Any
feedback welcome.

# Tests
```
bin/lldb-dotest -p TestSessionSave
```

---------

Co-authored-by: Tom Yang <toyang at fb.com>


  Commit: 91fdfec263ff2b8e88433c4294a550cabb0f2314
      https://github.com/llvm/llvm-project/commit/91fdfec263ff2b8e88433c4294a550cabb0f2314
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Change `CodeGenIntrinsics` to use const references (#111219)

Change `CodeGenIntrinsics` classes to vend out const references to
`CodeGenIntrinsic` or `TargetSet` objects.


  Commit: 22089dc91d6e48649412764c34c0140eea0a795b
      https://github.com/llvm/llvm-project/commit/22089dc91d6e48649412764c34c0140eea0a795b
  Author: David Green <david.green at arm.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll

  Log Message:
  -----------
  [Instcombine] Test for more gep canonicalization


  Commit: 0548481856e75998e1de329f5c9722dcf1ca5c84
      https://github.com/llvm/llvm-project/commit/0548481856e75998e1de329f5c9722dcf1ca5c84
  Author: David Green <david.green at arm.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll

  Log Message:
  -----------
  [InstCombine] Update and-or-icmps.ll after 574266ce3381ad734c995d653a7cabd9d4d53447. NFC


  Commit: 1789534ac1ac95f9a3369625e331b9a446be60d9
      https://github.com/llvm/llvm-project/commit/1789534ac1ac95f9a3369625e331b9a446be60d9
  Author: David Green <david.green at arm.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    A llvm/test/CodeGen/AArch64/selectopt-const.ll

  Log Message:
  -----------
  [SelectOpt] Don't convert constant selects to branches. (#110858)

Selects that choose between two constants will be less profitable to
turn into branches, especially if the constants can be folded somehow
into the surrounding instructions. They will also be cost modelled in a
way that can make them over-optimistically converted to branches, as
neither branch will have a latency depth but the constants still need to
be materialized.

This patch disabled selectopt for selects with two constant branches. It
is currently in the target independent part, as it sounds generic, but I
could move it into AArch64 if needed.


  Commit: fba6c887c110a501b311f6b01721eaf3a5dd994e
      https://github.com/llvm/llvm-project/commit/fba6c887c110a501b311f6b01721eaf3a5dd994e
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/test/Analysis/builtin_overflow.c

  Log Message:
  -----------
  [analyzer] Fix wrong `builtin_*_overflow` return type (#111253)

`builtin_*_overflow` functions return `_Bool` according to [1].
`BuiltinFunctionChecker` was using `makeTruthVal` w/o specifying
explicit type, which creates an `int` value, since it's the type of any
compassion according to C standard.

Fix it by directly passing `BoolTy` to `makeTruthVal`

Closes: #111147

[1]
https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins


  Commit: 4e5f8a8f0bf855fdac93fa09b4b82b69339235b9
      https://github.com/llvm/llvm-project/commit/4e5f8a8f0bf855fdac93fa09b4b82b69339235b9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/InterpBlock.cpp
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h

  Log Message:
  -----------
  [clang][bytecode] Save a per-Block IsWeak bit (#111248)

Checking the decl for every load is rather expensive.


  Commit: 4425dfba6a1f394e958e94aa471a07bcf707136a
      https://github.com/llvm/llvm-project/commit/4425dfba6a1f394e958e94aa471a07bcf707136a
  Author: Hongren Zheng <i at zenithal.me>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

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

  Log Message:
  -----------
  [mlir][polynomial] Add and verify constraints of coefficientModulus for ringAttr (#111016)

Currently the semantic of coefficientModulus is unclear and a lowering
of it faces uncertainty, for example,
https://github.com/google/heir/pull/995#issuecomment-2387394895

Also, it lacks a verifier which should conform to the definition in the
document.

This PR tries to further define the semantic of coefficientModulus and
adds a verifier for it.

Cc @j2kun for review and suggestions.


  Commit: c57418037a002f4c5f19339837cc37e3a8f4ecb8
      https://github.com/llvm/llvm-project/commit/c57418037a002f4c5f19339837cc37e3a8f4ecb8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/builtins.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle UETT_OpenMPRequiredSimdAlign (#111259)


  Commit: 87d199ff243ff25b06d68a529815519901e8294f
      https://github.com/llvm/llvm-project/commit/87d199ff243ff25b06d68a529815519901e8294f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Relocations


  Commit: 53a1fb0cd73382498fe79f95521c350409fd40b9
      https://github.com/llvm/llvm-project/commit/53a1fb0cd73382498fe79f95521c350409fd40b9
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx &


  Commit: 020b8e8f8dfef2392351e66215d11cccb573a88f
      https://github.com/llvm/llvm-project/commit/020b8e8f8dfef2392351e66215d11cccb573a88f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/test/AST/ByteCode/builtins.cpp

  Log Message:
  -----------
  [clang][test] Remove a broken bytecode test

See e.g. https://lab.llvm.org/buildbot/#/builders/13/builds/2705

Looks like the expected value is legitimately sometimes 0.
I'll add another test back later.


  Commit: 8aa76d34ea95031abed32761251951c5f87492c6
      https://github.com/llvm/llvm-project/commit/8aa76d34ea95031abed32761251951c5f87492c6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp

  Log Message:
  -----------
  [Driver] Avoid repeated hash lookups (NFC) (#111225)


  Commit: fe9f1a215e0bdb5308f0dc5021bd02b173a45dbc
      https://github.com/llvm/llvm-project/commit/fe9f1a215e0bdb5308f0dc5021bd02b173a45dbc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp

  Log Message:
  -----------
  [Affine] Avoid repeated hash lookups (NFC) (#111226)


  Commit: e8f01b0557354a28d17bfe618df5e257ec3e982a
      https://github.com/llvm/llvm-project/commit/e8f01b0557354a28d17bfe618df5e257ec3e982a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

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

  Log Message:
  -----------
  [Sema] Avoid repeated hash lookups (NFC) (#111227)


  Commit: bcb15d00596f8f25310887494f171e7f70386e7c
      https://github.com/llvm/llvm-project/commit/bcb15d00596f8f25310887494f171e7f70386e7c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

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

  Log Message:
  -----------
  [APInt] Slightly simplify APInt::ashrSlowCase. NFC (#111220)

Use an arithmetic shift for the last word copy when BitShift!=0. This
avoids an explicit sign extend after the shift.


  Commit: 20e37f03c64589c366fccd766ab9120db6da4aa0
      https://github.com/llvm/llvm-project/commit/20e37f03c64589c366fccd766ab9120db6da4aa0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-to-shl.mir

  Log Message:
  -----------
  [GISel] Don't preserve NSW flag when converting G_MUL of INT_MIN to G_SHL. (#111230)

mul and shl have different meanings for the nsw flag. We need to drop it
when converting a multiply by the minimum negative value.


  Commit: 67c0846357bcd6faca713315380f9981a805a6e5
      https://github.com/llvm/llvm-project/commit/67c0846357bcd6faca713315380f9981a805a6e5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Thunks.cpp

  Log Message:
  -----------
  [ELF] Don't call getPPC64TargetInfo outside Driver. NFC

getPPC64TargetInfo should only be called once per link invocation.


  Commit: 68210c7c269b7b7325dedaea7cea9fe9d979fab5
      https://github.com/llvm/llvm-project/commit/68210c7c269b7b7325dedaea7cea9fe9d979fab5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    A llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll

  Log Message:
  -----------
  [VPlan] Only generate first lane for VPPredInstPHI if no others used.

IF only the first lane of the result is used, only generate the first
lane.

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


  Commit: c6110496b346d7963f8f9f62a7d2696da12a943e
      https://github.com/llvm/llvm-project/commit/c6110496b346d7963f8f9f62a7d2696da12a943e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td

  Log Message:
  -----------
  [RISCV] Use THShift_ri class instead of RVBShift_ri for TH_TST instruction. NFC


  Commit: 73683cc1ab0fe79a4b02b956cf3c033250537bff
      https://github.com/llvm/llvm-project/commit/73683cc1ab0fe79a4b02b956cf3c033250537bff
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/lib/Basic/TargetID.cpp

  Log Message:
  -----------
  [Basic] Avoid repeated hash lookups (NFC) (#111228)


  Commit: 206fad0e218e83799e49ca15545d997c6c5e8a03
      https://github.com/llvm/llvm-project/commit/206fad0e218e83799e49ca15545d997c6c5e8a03
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
    M flang/include/flang/Optimizer/Transforms/CufOpConversion.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M mlir/docs/Bufferization.md
    M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
    M mlir/include/mlir/Conversion/ArithToLLVM/ArithToLLVM.h
    M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
    M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
    M mlir/include/mlir/Conversion/ComplexToSPIRV/ComplexToSPIRV.h
    M mlir/include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h
    M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.h
    M mlir/include/mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h
    M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRV.h
    M mlir/include/mlir/Conversion/GPUToLLVMSPV/GPUToLLVMSPVPass.h
    M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
    M mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
    M mlir/include/mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h
    M mlir/include/mlir/Conversion/IndexToLLVM/IndexToLLVM.h
    M mlir/include/mlir/Conversion/IndexToSPIRV/IndexToSPIRV.h
    M mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
    M mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
    M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRV.h
    M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
    M mlir/include/mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h
    M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h
    M mlir/include/mlir/Conversion/NVGPUToNVVM/NVGPUToNVVM.h
    M mlir/include/mlir/Conversion/OpenMPToLLVM/ConvertOpenMPToLLVM.h
    M mlir/include/mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h
    M mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h
    M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRV.h
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
    M mlir/include/mlir/Conversion/UBToLLVM/UBToLLVM.h
    M mlir/include/mlir/Conversion/UBToSPIRV/UBToSPIRV.h
    M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
    M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRV.h
    M mlir/include/mlir/Dialect/AMX/Transforms.h
    M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
    M mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
    M mlir/include/mlir/Dialect/Func/Transforms/FuncConversions.h
    M mlir/include/mlir/Dialect/Func/Transforms/OneToNFuncConversions.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/Dialect/X86Vector/Transforms.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
    M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.cpp
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRV.cpp
    M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
    M mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
    M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Conversion/UBToLLVM/UBToLLVM.cpp
    M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateWideInt.cpp
    M mlir/lib/Dialect/SCF/Transforms/OneToNTypeConversion.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp

  Log Message:
  -----------
  [mlir][NFC] Mark type converter in `populate...` functions as `const` (#111250)

This commit marks the type converter in `populate...` functions as
`const`. This is useful for debugging.

Patterns already take a `const` type converter. However, some
`populate...` functions do not only add new patterns, but also add
additional type conversion rules. That makes it difficult to find the
place where a type conversion was added in the code base. With this
change, all `populate...` functions that only populate pattern now have
a `const` type converter. Programmers can then conclude from the
function signature that these functions do not register any new type
conversion rules.

Also some minor cleanups around the 1:N dialect conversion
infrastructure, which did not always pass the type converter as a
`const` object internally.


  Commit: e36a39346796528f75ff01ef1084b2dfe0a2a747
      https://github.com/llvm/llvm-project/commit/e36a39346796528f75ff01ef1084b2dfe0a2a747
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h

  Log Message:
  -----------
  [mlir][SPIRV] Fix build error (#111264)

Fix build error that was introduced by #111250. Also, the deleted
function is not needed at all.

```
../llvm-project/mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h: In member function ‘const mlir::LLVMTypeConverter* mlir::SPIRVToLLVMConversion<SPIRVOp>::getTypeConverter() const’:
../llvm-project/mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h:35:12: error: invalid ‘static_cast’ from type ‘const mlir::TypeConverter*’ to type ‘const mlir::LLVMTypeConverter*’
   35 |     return static_cast<const LLVMTypeConverter *>(
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   36 |         ConversionPattern::getTypeConverter());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h:21:7: note: class type ‘const mlir::LLVMTypeConverter’ is incomplete
```


  Commit: 98723e656618345f05a8e66b18e0f5d37866e75e
      https://github.com/llvm/llvm-project/commit/98723e656618345f05a8e66b18e0f5d37866e75e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp

  Log Message:
  -----------
  [mlir][SPIRV] Fix build (2) (#111265)


  Commit: d3a367dea515f147ac1380afdc286932ccf82eb0
      https://github.com/llvm/llvm-project/commit/d3a367dea515f147ac1380afdc286932ccf82eb0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV] Give ZEXT_H_RV32 and ZEXT_H_RV64 R-type format to match PACK. NFC

These are different than other Zb* unary instructions because
they are specializations of PACKW or PACKH. So they should use
RVInstR instead of RVInstI.

This doesn't cause any functional difference since we only use the
format for relocations and we never have relocations on these
instructions.


  Commit: 47e6d1816251e90b3d589710c5203a92c6015a7c
      https://github.com/llvm/llvm-project/commit/47e6d1816251e90b3d589710c5203a92c6015a7c
  Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M clang/docs/RealtimeSanitizer.rst

  Log Message:
  -----------
  [NFC][rtsan] Update docs to include [[clang::blocking]] (#111249)

Updates the RealtimeSanitizer documentation to:

- include information about how to use `[[clang::blocking]]`, and
- update the displayed error messages to the latest style


  Commit: 46944b0cbc9a9d8daad0182c40fcd3560bc9ca35
      https://github.com/llvm/llvm-project/commit/46944b0cbc9a9d8daad0182c40fcd3560bc9ca35
  Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    M libc/src/__support/StringUtil/tables/CMakeLists.txt
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/pthread/CMakeLists.txt
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/spawn/CMakeLists.txt
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/threads/CMakeLists.txt
    M libc/src/threads/thrd_create.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_name_test.cpp
    M libc/test/integration/src/spawn/posix_spawn_test_binary.cpp
    M libc/test/integration/src/unistd/CMakeLists.txt
    M libc/test/integration/src/unistd/fork_test.cpp
    M libc/test/integration/src/unistd/stack_smashing_test.cpp
    M libc/test/integration/startup/linux/CMakeLists.txt
    M libc/test/integration/startup/linux/tls_test.cpp
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exp10_test.cpp
    M libc/test/src/math/exp2_test.cpp
    M libc/test/src/math/exp_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/powf_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/acosf_test.cpp
    M libc/test/src/math/smoke/acoshf_test.cpp
    M libc/test/src/math/smoke/asinf_test.cpp
    M libc/test/src/math/smoke/asinhf_test.cpp
    M libc/test/src/math/smoke/atanf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/cosf_test.cpp
    M libc/test/src/math/smoke/coshf_test.cpp
    M libc/test/src/math/smoke/erff_test.cpp
    M libc/test/src/math/smoke/exp10_test.cpp
    M libc/test/src/math/smoke/exp2_test.cpp
    M libc/test/src/math/smoke/exp_test.cpp
    M libc/test/src/math/smoke/expm1_test.cpp
    M libc/test/src/math/smoke/log10_test.cpp
    M libc/test/src/math/smoke/log10f_test.cpp
    M libc/test/src/math/smoke/log1p_test.cpp
    M libc/test/src/math/smoke/log1pf_test.cpp
    M libc/test/src/math/smoke/log2_test.cpp
    M libc/test/src/math/smoke/log_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf_test.cpp
    M libc/test/src/math/smoke/sinhf_test.cpp
    M libc/test/src/math/smoke/tanf_test.cpp
    M libc/test/src/math/smoke/tanhf_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_attr_test.cpp
    M libc/test/src/pthread/pthread_mutexattr_test.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/sigaddset_test.cpp
    M libc/test/src/signal/sigdelset_test.cpp
    M libc/test/src/signal/sigfillset_test.cpp
    M libc/test/src/spawn/CMakeLists.txt
    M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
    M libc/test/src/sys/prctl/linux/CMakeLists.txt
    M libc/test/src/sys/prctl/linux/prctl_test.cpp
    M libc/test/src/sys/resource/CMakeLists.txt
    M libc/test/src/sys/select/CMakeLists.txt
    M libc/test/src/sys/select/select_failure_test.cpp
    M libc/test/src/sys/sendfile/CMakeLists.txt
    M libc/test/src/sys/utsname/CMakeLists.txt
    M libc/test/src/sys/utsname/uname_test.cpp
    M libc/test/src/sys/wait/CMakeLists.txt
    M libc/test/src/sys/wait/wait4_test.cpp
    M libc/test/src/sys/wait/waitpid_test.cpp
    M libc/test/src/unistd/CMakeLists.txt

  Log Message:
  -----------
  [libc] remove errno.h includes (#110934)


  Commit: 0cdb978906b060508204788a8cfcb5c7d9155e32
      https://github.com/llvm/llvm-project/commit/0cdb978906b060508204788a8cfcb5c7d9155e32
  Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M libc/src/__support/StringUtil/tables/CMakeLists.txt
    M libc/src/__support/StringUtil/tables/stdc_errors.h

  Log Message:
  -----------
  [libc] Add missing include to __support/StringUtil/tables/stdc_errors.h. (#111271)

Failed build bots:
https://lab.llvm.org/buildbot/#/builders/11/builds/6164
https://lab.llvm.org/buildbot/#/builders/73/builds/6651


  Commit: e075dcf7d270fd52dc837163ff24e8c872dfeb49
      https://github.com/llvm/llvm-project/commit/e075dcf7d270fd52dc837163ff24e8c872dfeb49
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    R llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir

  Log Message:
  -----------
  Revert "Reapply "[AMDGPU][GlobalISel] Fix load/store of pointer vectors, buffer.*.pN (#110714)" (#111059)"

This reverts commit 98a15c7b0c6ec129d371f0c121dbe9396c4f5609.
(llvmorg-20-init-8051-g98a15c7b0c6e)


  Commit: 18d9dcdfe1e09a439db9dc06f3cc32808702395f
      https://github.com/llvm/llvm-project/commit/18d9dcdfe1e09a439db9dc06f3cc32808702395f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-05 (Sat, 05 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV] Unify RVBShift_ri and RVBShiftW_ri with Shift_ri and ShiftW_ri. NFC (#111263)

The split primarily existed because Shift_ri and ShiftW_ri included
scheduler classes. So pull those out like ALU_rr.

This removes all uses of RVBShiftW_ri. One use of RVBShift_ri remains
because SLLI_UW uses a uimmlog2xlen shift amount and OP_IMM_32. Which is
different than the other OP_IMM_32 shift instructions.


  Commit: 6de5305b3d7a4a19a29b35d481a8090e2a6d3a7e
      https://github.com/llvm/llvm-project/commit/6de5305b3d7a4a19a29b35d481a8090e2a6d3a7e
  Author: Rose <gfunni234 at gmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/test/CodeGen/X86/memcpy-struct-by-value.ll
    M llvm/test/CodeGen/X86/memcpy.ll
    M llvm/test/CodeGen/X86/memset-minsize.ll
    M llvm/test/CodeGen/X86/memset-vs-memset-inline.ll

  Log Message:
  -----------
  [X86] For minsize memset/memcpy, use byte or double-word accesses (#87003)

repstosb and repstosd are the same size, but stosd is only done for 0
because the process of multiplying the constant so that it is copied
across the bytes of the 32-bit number adds extra instructions that cause
the size to increase. For 0, repstosb and repstosd are the same size,
but stosd is only done for 0 because the process of multiplying the
constant so that it is copied across the bytes of the 32-bit number adds
extra instructions that cause the size to increase. For 0, we do not
need to do that at all.

For memcpy, the same goes, and as a result the minsize check was moved
ahead because a jmp to memcpy encoded takes more bytes than repmovsb.


  Commit: 37ce3c2208167b01bad29761a4e0b0a368cb1f36
      https://github.com/llvm/llvm-project/commit/37ce3c2208167b01bad29761a4e0b0a368cb1f36
  Author: Yang Kun <91833768+ikspress at users.noreply.github.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M libcxx/include/__system_error/errc.h

  Log Message:
  -----------
  [libc++] Fix a typo (#111239)

Just a small typo I found when I refer to libc++'s code.


  Commit: 6d03a69034edb7805a4ba00334a1275cef39dd72
      https://github.com/llvm/llvm-project/commit/6d03a69034edb7805a4ba00334a1275cef39dd72
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Arch/


  Commit: b3e0bd3d284dec705386b1efcae40dd51b763010
      https://github.com/llvm/llvm-project/commit/b3e0bd3d284dec705386b1efcae40dd51b763010
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/ARMErrataFix.h
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Target.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to Arch/


  Commit: 45b526afa26e76e0c351e947ac8f0e4b55aa760b
      https://github.com/llvm/llvm-project/commit/45b526afa26e76e0c351e947ac8f0e4b55aa760b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll

  Log Message:
  -----------
  [LV] Honor uniform-after-vectorization in setVectorizedCallDecision.

The legacy cost model always computes the cost for uniforms as cost of
VF = 1, but VPWidenCallRecipes would be created, as
setVectorizedCallDecisions would not consider uniform calls.

Fix setVectorizedCallDecision to set to Scalarize, if the call is
uniform-after-vectorization.

This fixes a bug in VPlan construction uncovered by the VPlan-based
cost model.

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


  Commit: d2408c417cfa71f1786c909788560374eb1aca96
      https://github.com/llvm/llvm-project/commit/d2408c417cfa71f1786c909788560374eb1aca96
  Author: David Green <david.green at arm.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll
    M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize more geps with constant gep bases and constant offsets. (#110033)

This is another small but hopefully not performance negative step to
canonicalizing towards i8 geps. We looks for geps with a constant offset
base pointer of the form `gep (gep @glob, C1), x, C2` and expand the gep
instruction, so that the constant can hopefully be combined together (or
the x offset can be computed in common).


  Commit: fb0ef6b66e3c7e91481568c15ed67c047dab84e1
      https://github.com/llvm/llvm-project/commit/fb0ef6b66e3c7e91481568c15ed67c047dab84e1
  Author: Carlos Galvez <carlosgalvezp at gmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/bitwise-pointer-cast.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast.cpp

  Log Message:
  -----------
  [clang-tidy] Create bugprone-bitwise-pointer-cast check (#108083)

To detect unsafe usages of casting a pointer to another via copying
the bytes from one into the other, either via std::bit_cast or via
memcpy. This is currently not caught by any other means.

Fixes #106987

---------

Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>


  Commit: 89d2a9de05074bf6e538fd514228c43aed3cc72f
      https://github.com/llvm/llvm-project/commit/89d2a9de05074bf6e538fd514228c43aed3cc72f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll

  Log Message:
  -----------
  [VPlan] Add additional FOR hoisting test.

Additional tests for https://github.com/llvm/llvm-project/pull/108945.


  Commit: 20864d2cf610639a70e43aa417f90b457f8e3c90
      https://github.com/llvm/llvm-project/commit/20864d2cf610639a70e43aa417f90b457f8e3c90
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmaccbf16.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll

  Log Message:
  -----------
  [ValueTypes][RISCV] Add v1bf16 type (#111112)

When trying to add RISC-V fadd reduction cost model tests for bf16, I
noticed a crash when the vector was of <1 x bfloat>.

It turns out that this was being scalarized because unlike f16/f32/f64,
there's no v1bf16 value type, and the existing cost model code assumed
that the legalized type would always be a vector.

This adds v1bf16 to bring bf16 in line with the other fp types.

It also adds some more RISC-V bf16 reduction tests which previously
crashed, including tests to ensure that SLP won't emit fadd/fmul
reductions for bf16 or f16 w/ zvfhmin after #111000.


  Commit: c36afb50162a43fb852beea3aad0d73bf2985bea
      https://github.com/llvm/llvm-project/commit/c36afb50162a43fb852beea3aad0d73bf2985bea
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] combineSubABS - avoid duplicate SDLoc. NFC.

Simplify arguments by reusing values from combineSub directly.


  Commit: 1bc87c9f3cb20a51191f522bf4d69338ad6bb4e6
      https://github.com/llvm/llvm-project/commit/1bc87c9f3cb20a51191f522bf4d69338ad6bb4e6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-add.ll
    M llvm/test/CodeGen/X86/vector-mul.ll

  Log Message:
  -----------
  [x86] combineMul - use computeKnownBits directly to find MUL_IMM constant splat.

As we're after a constant splat value we can avoid all the complexities of trying to recreate the correct constant via getTargetConstantFromNode.


  Commit: dee44b200b0dd5351a0c05126709e0f4c40f9b0a
      https://github.com/llvm/llvm-project/commit/dee44b200b0dd5351a0c05126709e0f4c40f9b0a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] combineBitOpWithShift - avoid duplicate SDLoc/operands code. NFC.

Reuse values from the callers directly.


  Commit: 595a738fb4239560a3292fa99ca12628215495e7
      https://github.com/llvm/llvm-project/commit/595a738fb4239560a3292fa99ca12628215495e7
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] combineBitOpWithMOVMSK - avoid duplicate SDLoc/operands code. NFC.

Reuse values from the callers directly.


  Commit: 8ebd4019500cbec28426f19e6440484d53ecaecd
      https://github.com/llvm/llvm-project/commit/8ebd4019500cbec28426f19e6440484d53ecaecd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] combineBitOpWithPACK - avoid duplicate SDLoc/operands code. NFC.

Reuse values from the callers directly.


  Commit: 2cc97951400ca2ab79d6bdeccffa6e431882a86e
      https://github.com/llvm/llvm-project/commit/2cc97951400ca2ab79d6bdeccffa6e431882a86e
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h

  Log Message:
  -----------
  [libc] Clean up some include in `libc`. (#110980)

The patch primarily cleans up some incorrect includes. The `LIBC_INLINE`
macro is defined in `attributes.h`, not `config.h`. There appears to be
no need to change the CMake and Bazel build files.


  Commit: 8cead83c399f4d74949b53633f8026cb7effc54f
      https://github.com/llvm/llvm-project/commit/8cead83c399f4d74949b53633f8026cb7effc54f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] convertIntLogicToFPLogic - avoid duplicate SDLoc/operands code. NFC.

Reuse values from the callers directly.


  Commit: 8326fb2626836ca4d95f30a67f7836dd2b4c1031
      https://github.com/llvm/llvm-project/commit/8326fb2626836ca4d95f30a67f7836dd2b4c1031
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

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

  Log Message:
  -----------
  [X86] combineOrXorWithSETCC - avoid duplicate SDLoc/operands code. NFC.

Reuse values from the callers directly.


  Commit: d54b1cfa38a111796945fb91c4efb3effbc25649
      https://github.com/llvm/llvm-project/commit/d54b1cfa38a111796945fb91c4efb3effbc25649
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M libcxx/test/benchmarks/CMakeLists.txt
    M libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format/write_double_comparison.bench.cpp
    A libcxx/test/benchmarks/format/write_int_comparison.bench.cpp
    A libcxx/test/benchmarks/format/write_string_comparison.bench.cpp

  Log Message:
  -----------
  [libc++][format][1/3] Adds more benchmarks. (#101803)

This patch is the start of a series to improve the speed of std::format,
std::format_to, std::format_to_n, and std::formatted_size.

This is mostly achieved by changing the __output_buffer class. This new
__output_buffer class also makes it easier to implement buffering for
P3107R5 "Permit an efficient implementation of std::print"


  Commit: abdf4ca4f12c834e0541f996596584a65fda44ef
      https://github.com/llvm/llvm-project/commit/abdf4ca4f12c834e0541f996596584a65fda44ef
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [RISCV] Simplify fixed-vector-fp.ll run lines. NFC

This removes the different scalar fp16 configurations i.e. zfh and
zfhmin, since all these ops should be able to be lowered without
scalarizing.

This ends up revealing a couple of cases where we end up scalarizing
unexpectedly, e.g. sqrt/fabs/round with v6f16 and zvfhmin.

It also removes the zvl256b configurations, since I couldn't find
anything that specifically needed to test this.


  Commit: bea28037f6b68ee79b9360d91e0f3defd10fa976
      https://github.com/llvm/llvm-project/commit/bea28037f6b68ee79b9360d91e0f3defd10fa976
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterBankInfo.cpp

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#111274)


  Commit: 9e6578c6a17fe942b45daf57fa162303e111fa38
      https://github.com/llvm/llvm-project/commit/9e6578c6a17fe942b45daf57fa162303e111fa38
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp

  Log Message:
  -----------
  [StaticAnalyzer] Avoid repeated hash lookups (NFC) (#111272)


  Commit: 93f7fce397155f40de46d867c345e335b30b8d5c
      https://github.com/llvm/llvm-project/commit/93f7fce397155f40de46d867c345e335b30b8d5c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp

  Log Message:
  -----------
  [ByteCode] Avoid repeated hash lookups (NFC) (#111273)


  Commit: 11c6ea3d3bd59c548562425f0de1fcef1b4660dc
      https://github.com/llvm/llvm-project/commit/11c6ea3d3bd59c548562425f0de1fcef1b4660dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp

  Log Message:
  -----------
  [ExecutionEngine] Avoid repeated hash lookups (NFC) (#111275)


  Commit: 75bcf57c16586a0e3995e420ec331056a40a043f
      https://github.com/llvm/llvm-project/commit/75bcf57c16586a0e3995e420ec331056a40a043f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll

  Log Message:
  -----------
  [X86] replace-load-and-with-bzhi.ll - cleanup check-prefixes to use X86/X64 for 32/64-bit targets


  Commit: 326a61506ab08337a6b34283d3bbb316018edf42
      https://github.com/llvm/llvm-project/commit/326a61506ab08337a6b34283d3bbb316018edf42
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll

  Log Message:
  -----------
  [X86] replace-load-and-with-bzhi.ll - add commuted test cases to show failure to fold

Tests showing combineAndLoadToBZHI commutation folding is currently broken


  Commit: 56757e52ebbd79af540c23b00abb13c9bf5f2d60
      https://github.com/llvm/llvm-project/commit/56757e52ebbd79af540c23b00abb13c9bf5f2d60
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll

  Log Message:
  -----------
  [X86] combineAndLoadToBZHI - don't do an return early return if we fail to match a load

Just continue so we can test the commutated pattern as well.


  Commit: 26ca8ef836f6ed8665f992d7cf520a4c0002f3ae
      https://github.com/llvm/llvm-project/commit/26ca8ef836f6ed8665f992d7cf520a4c0002f3ae
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M libc/newhdrgen/yaml/gpu/rpc.yaml
    M libc/spec/gpu_ext.td
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/utils/gpu/server/rpc_server.cpp
    M offload/test/libc/host_call.c

  Log Message:
  -----------
  [libc] GPU RPC interface: add return value to `rpc_host_call` (#111288)


  Commit: 49865107d49b2be86d9ff5474d081c49d1556213
      https://github.com/llvm/llvm-project/commit/49865107d49b2be86d9ff5474d081c49d1556213
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/Driver.h
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/EhFrame.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/ScriptParser.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to InputFiles


  Commit: 864fcfc78733297055fea032dfb5f7c8d594dfd8
      https://github.com/llvm/llvm-project/commit/864fcfc78733297055fea032dfb5f7c8d594dfd8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZk.td

  Log Message:
  -----------
  [RISCV] Combine RVBUnary and RVKUnary into classes that are more similar to ALU(W)_r(r/i). NFC (#111279)

Create Unary_r and UnaryW_r that use OP_IMM and OP_IMM_32.


  Commit: 7f65377880ce6a0e5eaa4cb2591b86b8c8a24ee6
      https://github.com/llvm/llvm-project/commit/7f65377880ce6a0e5eaa4cb2591b86b8c8a24ee6
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M libcxx/include/__format/formatter_string.h

  Log Message:
  -----------
  [libc++][format][2/3] Optimizes c-string arguments. (#101805)

The formatter specializations for _CharT* and const _CharT* typically
write all elements in a loop. This format's internal functions are
optimized for larger writes.

Instead of writing one element at a time, convert the range to a
basic_string_view and write that instead.

For C string of 6 characters this is a bit slower, but for 60 characters
it's faster. The improvements for back_inserter<std::list<_CharT>> are
not as great as the others; it just gets as slow as
basic_string_view<_CharT>.

omparing libcxx/test/benchmarks/write_string_comparison.bench.out-before to libcxx/test/benchmarks/write_string_comparison.bench.out-after
Benchmark                                                                            Time             CPU      Time Old      Time New       CPU Old       CPU New
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_sprintf/C_string_len_6                                                         -0.0015         +0.0013             5             5             5             5
BM_format/C_string_len_6                                                          +0.0390         +0.0416            53            55            53            55
BM_format_to_back_inserter<std::string>/C_string_len_6                            +0.0381         +0.0408            53            55            53            55
BM_format_to_back_inserter<std::vector<char>>/C_string_len_6                      +0.0287         +0.0315            69            71            69            71
BM_format_to_back_inserter<std::deque<char>>/C_string_len_6                       +0.0503         +0.0530           123           129           123           129
BM_format_to_back_inserter<std::list<char>>/C_string_len_6                        -0.0241         -0.0213           133           130           133           130
BM_format_to_iterator/<std::array> C_string_len_6                                 -0.0075         -0.0049            45            45            45            45
BM_format_to_iterator/<std::string> C_string_len_6                                +0.0311         +0.0340            44            46            44            46
BM_format_to_iterator/<std::vector> C_string_len_6                                +0.0380         +0.0409            43            45            43            45
BM_format_to_iterator/<std::deque> C_string_len_6                                 +0.0366         +0.0392            48            50            48            50
BM_format/string_len_6                                                            -0.0010         -0.0007            56            55            55            55
BM_format_to_back_inserter<std::string>/string_len_6                              +0.0044         +0.0041            55            56            55            55
BM_format_to_back_inserter<std::vector<char>>/string_len_6                        +0.0128         +0.0128            70            71            70            71
BM_format_to_back_inserter<std::deque<char>>/string_len_6                         +0.0151         +0.0151           126           128           126           128
BM_format_to_back_inserter<std::list<char>>/string_len_6                          -0.0719         -0.0718           140           130           139           129
BM_format_to_iterator/<std::array> string_len_6                                   -0.0323         -0.0324            47            46            47            46
BM_format_to_iterator/<std::string> string_len_6                                  -0.0011         -0.0010            45            44            44            44
BM_format_to_iterator/<std::vector> string_len_6                                  -0.0002         -0.0001            45            45            44            44
BM_format_to_iterator/<std::deque> string_len_6                                   +0.0046         +0.0047            51            51            51            51
BM_format/string_view_len_6                                                       +0.0031         +0.0031            54            54            54            54
BM_format_to_back_inserter<std::string>/string_view_len_6                         +0.0041         +0.0040            54            54            54            54
BM_format_to_back_inserter<std::vector<char>>/string_view_len_6                   +0.0022         +0.0022            70            70            70            70
BM_format_to_back_inserter<std::deque<char>>/string_view_len_6                    +0.0392         +0.0391           124           129           124           129
BM_format_to_back_inserter<std::list<char>>/string_view_len_6                     -0.0680         -0.0680           139           129           138           129
BM_format_to_iterator/<std::array> string_view_len_6                              -0.0321         -0.0320            47            46            47            46
BM_format_to_iterator/<std::string> string_view_len_6                             -0.0013         -0.0011            45            44            44            44
BM_format_to_iterator/<std::vector> string_view_len_6                             -0.0024         -0.0023            45            44            44            44
BM_format_to_iterator/<std::deque> string_view_len_6                              +0.0057         +0.0057            51            51            51            51
BM_sprintf/C_string_len_60                                                        -0.0035         -0.0035             4             4             4             4
BM_format/C_string_len_60                                                         -0.5627         -0.5627           169            74           169            74
BM_format_to_back_inserter<std::string>/C_string_len_60                           -0.5642         -0.5641           170            74           169            74
BM_format_to_back_inserter<std::vector<char>>/C_string_len_60                     -0.5300         -0.5299           178            84           178            84
BM_format_to_back_inserter<std::deque<char>>/C_string_len_60                      -0.2548         -0.2548           356           265           355           264
BM_format_to_back_inserter<std::list<char>>/C_string_len_60                       -0.1013         -0.1013          1325          1191          1322          1188
BM_format_to_iterator/<std::array> C_string_len_60                                -0.6790         -0.6791           141            45           141            45
BM_format_to_iterator/<std::string> C_string_len_60                               -0.6738         -0.6740           143            47           142            46
BM_format_to_iterator/<std::vector> C_string_len_60                               -0.6807         -0.6808           142            45           142            45
BM_format_to_iterator/<std::deque> C_string_len_60                                -0.6488         -0.6486           144            51           144            51
BM_format/string_len_60                                                           +0.0118         +0.0117            73            74            73            73
BM_format_to_back_inserter<std::string>/string_len_60                             +0.0089         +0.0088            73            73            73            73
BM_format_to_back_inserter<std::vector<char>>/string_len_60                       +0.0080         +0.0081            83            84            83            83
BM_format_to_back_inserter<std::deque<char>>/string_len_60                        +0.0005         +0.0002           262           263           262           262
BM_format_to_back_inserter<std::list<char>>/string_len_60                         -0.0384         -0.0380          1236          1188          1232          1186
BM_format_to_iterator/<std::array> string_len_60                                  -0.0288         -0.0288            47            46            47            46
BM_format_to_iterator/<std::string> string_len_60                                 +0.0213         +0.0210            44            45            44            45
BM_format_to_iterator/<std::vector> string_len_60                                 +0.0202         +0.0205            45            45            44            45
BM_format_to_iterator/<std::deque> string_len_60                                  +0.0124         +0.0124            50            51            50            51
BM_format/string_view_len_60                                                      +0.0093         +0.0093            73            73            73            73
BM_format_to_back_inserter<std::string>/string_view_len_60                        +0.0055         +0.0055            73            73            73            73
BM_format_to_back_inserter<std::vector<char>>/string_view_len_60                  +0.0165         +0.0166            81            83            81            83
BM_format_to_back_inserter<std::deque<char>>/string_view_len_60                   +0.0138         +0.0140           260           263           259           263
BM_format_to_back_inserter<std::list<char>>/string_view_len_60                    -0.0334         -0.0335          1228          1187          1225          1184
BM_format_to_iterator/<std::array> string_view_len_60                             -0.0257         -0.0259            48            46            47            46
BM_format_to_iterator/<std::string> string_view_len_60                            +0.0324         +0.0323            45            46            44            46
BM_format_to_iterator/<std::vector> string_view_len_60                            +0.0174         +0.0177            45            45            44            45
BM_format_to_iterator/<std::deque> string_view_len_60                             +0.0076         +0.0076            50            51            50            51
BM_sprintf/C_string_len_6000                                                      +0.4922         +0.4921            77           115            77           114
BM_format/C_string_len_6000                                                       -0.9239         -0.9239         11780           897         11750           894
BM_format_to_back_inserter<std::string>/C_string_len_6000                         -0.9239         -0.9239         11792           898         11763           895
BM_format_to_back_inserter<std::vector<char>>/C_string_len_6000                   -0.9257         -0.9257         11709           870         11679           868
BM_format_to_back_inserter<std::deque<char>>/C_string_len_6000                    -0.4057         -0.4057         25616         15225         25553         15187
BM_format_to_back_inserter<std::list<char>>/C_string_len_6000                     -0.0832         -0.0833        127144        116569        126823        116265
BM_format_to_iterator/<std::array> C_string_len_6000                              -0.9853         -0.9853         10869           160         10843           160
BM_format_to_iterator/<std::string> C_string_len_6000                             -0.9864         -0.9864         10870           148         10841           148
BM_format_to_iterator/<std::vector> C_string_len_6000                             -0.9863         -0.9863         10874           149         10846           148
BM_format_to_iterator/<std::deque> C_string_len_6000                              -0.9629         -0.9629         11239           417         11212           416
BM_format/string_len_6000                                                         -0.0012         -0.0013           846           845           844           842
BM_format_to_back_inserter<std::string>/string_len_6000                           -0.0029         -0.0034           845           843           843           840
BM_format_to_back_inserter<std::vector<char>>/string_len_6000                     -0.0129         -0.0125           832           821           830           819
BM_format_to_back_inserter<std::deque<char>>/string_len_6000                      +0.0048         +0.0048         15042         15114         15004         15076
BM_format_to_back_inserter<std::list<char>>/string_len_6000                       -0.0017         -0.0017        116266        116072        115967        115768
BM_format_to_iterator/<std::array> string_len_6000                                -0.0257         -0.0256           120           117           120           117
BM_format_to_iterator/<std::string> string_len_6000                               -0.0025         -0.0029           117           117           117           117
BM_format_to_iterator/<std::vector> string_len_6000                               -0.0089         -0.0087           118           116           117           116
BM_format_to_iterator/<std::deque> string_len_6000                                -0.0478         -0.0477           379           361           378           360
BM_format/string_view_len_6000                                                    -0.0092         -0.0091           842           835           840           833
BM_format_to_back_inserter<std::string>/string_view_len_6000                      -0.0081         -0.0083           841           835           839           832
BM_format_to_back_inserter<std::vector<char>>/string_view_len_6000                +0.0089         +0.0088           808           815           806           813
BM_format_to_back_inserter<std::deque<char>>/string_view_len_6000                 +0.0068         +0.0068         15030         15131         14992         15093
BM_format_to_back_inserter<std::list<char>>/string_view_len_6000                  +0.0012         +0.0010        116099        116243        115813        115934
BM_format_to_iterator/<std::array> string_view_len_6000                           -0.0122         -0.0121           118           117           118           116
BM_format_to_iterator/<std::string> string_view_len_6000                          +0.0010         +0.0010           106           107           106           106
BM_format_to_iterator/<std::vector> string_view_len_6000                          -0.0008         -0.0006           106           106           106           106
BM_format_to_iterator/<std::deque> string_view_len_6000                           -0.0549         -0.0548           370           349           369           349
OVERALL_GEOMEAN


  Commit: b0c070e2637935030ecd36777f22542bf371ef8c
      https://github.com/llvm/llvm-project/commit/b0c070e2637935030ecd36777f22542bf371ef8c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.cpp

  Log Message:
  -----------
  [clangd] Simplify ternary expressions with std::optional::value_or (NFC) (#111309)


  Commit: 7f74651837b8f95996ea4c774b2e604020446951
      https://github.com/llvm/llvm-project/commit/7f74651837b8f95996ea4c774b2e604020446951
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-10-06 (Sun, 06 Oct 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/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved-store-of-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll

  Log Message:
  -----------
  [VPlan] Use pointer to member 0 as VPInterleaveRecipe's pointer arg. (#106431)

Update VPInterleaveRecipe to always use the pointer to member 0 as
pointer argument. This in many cases helps to remove unneeded index
adjustments and simplifies VPInterleaveRecipe::execute.

In some rare cases, the address of member 0 does not dominate the insert
position of the interleave group. In those cases a PtrAdd VPInstruction
is emitted to compute the address of member 0 based on the address of
the insert position. Alternatively we could hoist the recipe computing
the address of member 0.


  Commit: acf92a47c0ece8562fd745215c478fe2d4ab5896
      https://github.com/llvm/llvm-project/commit/acf92a47c0ece8562fd745215c478fe2d4ab5896
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp

  Log Message:
  -----------
  [clang-tidy] Avoid capturing a local variable in a static lambda in UseRangesCheck (#111282)

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


  Commit: 2b5cb1bf628fc54473355e0675f629d9332089df
      https://github.com/llvm/llvm-project/commit/2b5cb1bf628fc54473355e0675f629d9332089df
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp

  Log Message:
  -----------
  [ELF] getRelocTargetVA: pass Ctx and Relocation. NFC


  Commit: acb2b1e7792f1ca2348752ee158882bb54b7d1e4
      https://github.com/llvm/llvm-project/commit/acb2b1e7792f1ca2348752ee158882bb54b7d1e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Thunks.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Symbols


  Commit: f1dccda1b51c77fcac22b75c535e8620d7544ab3
      https://github.com/llvm/llvm-project/commit/f1dccda1b51c77fcac22b75c535e8620d7544ab3
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to Symbols


  Commit: 5f6346190cb09373164d5fed9409cf5eb1a01f76
      https://github.com/llvm/llvm-project/commit/5f6346190cb09373164d5fed9409cf5eb1a01f76
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/InputSection.h
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to SyntheticSections


  Commit: 18ca7ad3393241b9fc0d5f149247e10837c6f926
      https://github.com/llvm/llvm-project/commit/18ca7ad3393241b9fc0d5f149247e10837c6f926
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

  Log Message:
  -----------
  [clangd] Add ArgumentLists config option under Completion (#111322)

The new config option is a more flexible version of
--function-arg-placeholders, allowing users more detailed control of
what is inserted in argument list position when clangd completes the
name of a function in a function call context.

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

Co-authored-by: MK-Alias <ImNotReadingThis at maininator.com>


  Commit: f2b01338584c90f48dba1a937bf5b1da8dcedbd5
      https://github.com/llvm/llvm-project/commit/f2b01338584c90f48dba1a937bf5b1da8dcedbd5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/ScriptParser.cpp

  Log Message:
  -----------
  [ELF] Move static nextGroupId isInGroup to LinkerDriver


  Commit: c4d89203f3822b0466f5cc58654cb016aeb86648
      https://github.com/llvm/llvm-project/commit/c4d89203f3822b0466f5cc58654cb016aeb86648
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/Argument.h
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-IR-lowering.ll
    A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Support preloading hidden kernel arguments (#98861)

Adds hidden kernel arguments to the function signature and marks them
inreg if they should be preloaded into user SGPRs. The normal kernarg
preloading logic then takes over with some additional checks for the
correct implicitarg_ptr alignment.

Special care is needed so that metadata for the hidden arguments is not
added twice when generating the code object.


  Commit: f0bd62d8709a49dd87eb75411e41e2e11e0ab59d
      https://github.com/llvm/llvm-project/commit/f0bd62d8709a49dd87eb75411e41e2e11e0ab59d
  Author: Brad House <brad at brad-house.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Add AlignFunctionDeclarations to AlignConsecutiveDeclarations (#108241)

Enabling AlignConsecutiveDeclarations also aligns function prototypes
or declarations.  This is often unexpected as typically function
prototypes, especially in public headers, don't use any padding.

Setting AlignFunctionDeclarations to false will skip this alignment.
It is by default set to true to keep compatibility with prior
versions to not make unexpected changes.

Fixes #74320


  Commit: b672071ba51ef6b64651a62bcfaf78bdfdb7d3d4
      https://github.com/llvm/llvm-project/commit/b672071ba51ef6b64651a62bcfaf78bdfdb7d3d4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp

  Log Message:
  -----------
  [ELF] Pass Ctx & to InputFile


  Commit: 8c1547055eaf65003f3e6fd024195f4926ff2356
      https://github.com/llvm/llvm-project/commit/8c1547055eaf65003f3e6fd024195f4926ff2356
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/TreeTransform.h
    R clang/test/SemaCXX/PR84020.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp

  Log Message:
  -----------
  [Clang] Remove the special-casing for RequiresExprBodyDecl in BuildResolvedCallExpr() after fd87d765c0 (#111277)

The special-casing for RequiresExprBodyDecl caused a regression, as
reported in #110785.

The original fix for #84020 has been superseded by fd87d765c0, which
establishes a `DependentScopeDeclRefExpr` instead of a
`CXXDependentScopeMemberExpr` for the case in issue. So the spurious
diagnostic in #84020 would no longer occur.

This also merges the test for #84020 together with that for #110785 into
clang/test/SemaTemplate/instantiate-requires-expr.cpp.

No release note because I think this merits a backport.

Fixes #110785


  Commit: 35f196645079cf499bdc48863ed5a42a0bc375de
      https://github.com/llvm/llvm-project/commit/35f196645079cf499bdc48863ed5a42a0bc375de
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td

  Log Message:
  -----------
  [RISCV] Only disassemble fcvtmod.w.d if the rounding mode is rtz. (#111308)

If we disassemble other rounding modes, we'll print something that can't
be parsed.


  Commit: cfd3289a1f9a87e220737a634904a886a82d424a
      https://github.com/llvm/llvm-project/commit/cfd3289a1f9a87e220737a634904a886a82d424a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/AMDGPU.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/MSP430.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SPARCV9.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h

  Log Message:
  -----------
  [ELF] Pass Ctx & to some free functions


  Commit: 4ec06b17435e32ece5e1aa2bc8a6d26dbf0bb312
      https://github.com/llvm/llvm-project/commit/4ec06b17435e32ece5e1aa2bc8a6d26dbf0bb312
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-10-06 (Sun, 06 Oct 2024)

  Changed paths:
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/AMDGPU.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/MSP430.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SPARCV9.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h

  Log Message:
  -----------
  [ELF] Change Ctx::target to unique_ptr (#111260)

also rename `TargetInfo *getXXXTargetInfo` to `void setXXXTargetInfo`
and change it to set `ctx.target`. This ensures that when `ctx` becomes
a local variable, two lld invocations will not reuse the function-local
static variable.


  Commit: 924a64a3486f9962c42d4ec253774eb2c586ac33
      https://github.com/llvm/llvm-project/commit/924a64a3486f9962c42d4ec253774eb2c586ac33
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll

  Log Message:
  -----------
  [AMDGPU] Only emit SCOPE_SYS global_wb (#110636)

global_wb with scopes lower than SCOPE_SYS is unnecessary for
correctness.

I was initially optimistic they would be very cheap no-ops but they can
actually be quite expensive so let's avoid them.


  Commit: 66b282014cff346ab20c6c8aed774ca2c6bfefd1
      https://github.com/llvm/llvm-project/commit/66b282014cff346ab20c6c8aed774ca2c6bfefd1
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [LoopVectorize] Remove redundant code in emitSCEVChecks (#111132)

There was some code in emitSCEVChecks to update the dominator
tree if LoopBypassBlocks is empty, however there are no tests
that fail when replacing this code with an assert. I built
both SPEC2017 and the LLVM test suite and also didn't see any
build failures. I've removed the code for now and added an
assert to guard this in case anything changes, since it seems
pointless to have code that's impossible to defend.


  Commit: da759dda58a7a1cbdaace26c381e1c3c5c5491ce
      https://github.com/llvm/llvm-project/commit/da759dda58a7a1cbdaace26c381e1c3c5c5491ce
  Author: Lucas Duarte Prates <lucas.prates at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    A clang/test/Driver/Inputs/multilib/empty.yaml
    M clang/test/Driver/baremetal-multilib-custom-error.yaml
    M clang/test/Driver/baremetal-multilib-exclusive-group.yaml
    M clang/test/Driver/baremetal-multilib-group-error.yaml
    M clang/test/Driver/baremetal-multilib-layered.yaml
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/print-multi-selection-flags.c

  Log Message:
  -----------
  [Clang][Driver] Add option to provide path for multilib's YAML config file (#109640)

Since the introduction of the use of a YAML file to configure the
selection of multilibs for baremetal, the path for that file has been
hardcoded into the clang driver code. This makes it difficult to provide
any alternative configurations for multilib and, by consequence, impacts
the tetability of any changes related to it - e.g. the existing multilib
YAML tests currently rely on creating fake toolchain directories to
inject their own configuration files.

This change introduces a new command line option to the clang driver,
`--multi-lib-config=`, to enable the use of a custom path to be used
when loading the multilib YAML config file. It also updates the existing
multilib YAML tests to use the new option.


  Commit: 5cfc6bc22b6284a2e0b78c71c84d272fcc8ac850
      https://github.com/llvm/llvm-project/commit/5cfc6bc22b6284a2e0b78c71c84d272fcc8ac850
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Update release managers (#111164)

Current release managers are Tom and Tobias, split across even and odd
releases.


  Commit: e0df221dcf5696c6e99952ee62a3b3b689433f3b
      https://github.com/llvm/llvm-project/commit/e0df221dcf5696c6e99952ee62a3b3b689433f3b
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/docs/Multilib.rst
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/test/Driver/baremetal-multilib-custom-error.yaml
    M clang/unittests/Driver/MultilibTest.cpp

  Log Message:
  -----------
  [clang][Driver] Rename "FatalError" key to "Error" in multilib.yaml (#110804)

This is a late-breaking change to #105684, suggested after the
original patch was already landed.


  Commit: 5a9e93f39cc78276a12852bbc4d639689fe73d5a
      https://github.com/llvm/llvm-project/commit/5a9e93f39cc78276a12852bbc4d639689fe73d5a
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp

  Log Message:
  -----------
  [clang][Driver] Improve multilib custom error reporting (#110804)

If `multilib.yaml` reports a custom error message for some unsupported
configuration, it's not very helpful to display that error message
_first_, and then follow it up with a huge list of all the multilib
configurations that _are_ supported.

In interactive use, the list is likely to scroll the most important
message off the top of the user's window, leaving them with just a
long list of available libraries, without a visible explanation of
_why_ clang just printed that long list. Also, in general, it makes
more intuitive sense to print the message last that shows why
compilation can't continue, because that's where users are most likely
to look for the reason why something stopped.


  Commit: 18d3a5d558c3739cfe1d382e9976400d292e9b63
      https://github.com/llvm/llvm-project/commit/18d3a5d558c3739cfe1d382e9976400d292e9b63
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [LegalizeVectorTypes] When widening don't check for libcalls if promoted (#111297)

When widening some FP ops, LegalizeVectorTypes will check to see if the
widened op may be scalarized and then turned into a bunch of libcalls,
and if so unroll early to avoid unnecessary libcalls of the padded undef
elements.

It checks if the widened op is legal or custom to see if it will be
scalarized, but promoted ops will also avoid scalarization.

This relaxes the check to account for this which fixes some illegal
vector types on RISC-V from being scalarized when they could be widened.


  Commit: 76aa370f4458d4d6440b257602fe666138c8bb5a
      https://github.com/llvm/llvm-project/commit/76aa370f4458d4d6440b257602fe666138c8bb5a
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/test/CodeGen/SystemZ/inline-thresh-adjust.ll

  Log Message:
  -----------
  [SystemZ] Remove inlining threshold multiplier. (#106058)

Due to recently reported problems with having the inlining threshold multiplier
set fairly high (x3), this patch removes the multiplier while addressing
the regressions seen by doing so in adjustInliningThreshold().

The specific cases that benefit from inlining that were now found to be in need
of handling contain a considerable number of memory accesses to the same
memory in both caller and callee.


  Commit: d926e340b73f1c3620a7e3ff8742d6a41c1091dc
      https://github.com/llvm/llvm-project/commit/d926e340b73f1c3620a7e3ff8742d6a41c1091dc
  Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [bazel] port 9144fed31b59089f4e3e5fedf7eb87d2695ef843


  Commit: f58e85a9725bb7d731c5ff5f79448e7150db6a6c
      https://github.com/llvm/llvm-project/commit/f58e85a9725bb7d731c5ff5f79448e7150db6a6c
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (6/n) (#111121)

Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
  * `vector.insert_strided_slice`

With this change, for every test with fixed-width vectors, there should
be a corresponding example with scalable vectors (for
`vector.insert_strided_slice`). In addition:
  * Test function names are updated to more accurately reflect the case
    being exercised (e.g. `@insert_strided_index_slice1` ->
    `@insert_strided_index_slice_index_2d_into_3d`)
  * For consistency, took the liberty of updating some of the function
    names for `vector.extract_strided_slice`
  * `@insert_strided_slice_scalable` is effectively replaced with
    `@insert_strided_slice_f32_2d_into_3d_scalable`


  Commit: 3137b6a263d2549a520690606e286ab4c8e3c9e5
      https://github.com/llvm/llvm-project/commit/3137b6a263d2549a520690606e286ab4c8e3c9e5
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M compiler-rt/lib/lsan/lsan_common.cpp

  Log Message:
  -----------
  [lsan] Make ReportUnsuspendedThreads return bool also for Fuchsia

Follow-up to 9766ce4db57212646f135fe7033972a7a51aef4d


  Commit: c98e41f8586bc43033d29ef3ec0f9a2f79b3ec32
      https://github.com/llvm/llvm-project/commit/c98e41f8586bc43033d29ef3ec0f9a2f79b3ec32
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [LegalizeVectorTypes] Always widen fabs (#111298)

fabs and fneg are similar nodes in that they can always be expanded to
integer ops, but currently they diverge when widened.

If the widened vector fabs is marked as expand (and the corresponding
scalar type is too), LegalizeVectorTypes thinks that it may be turned
into a libcall and so will unroll it to avoid the overhead on the undef
elements.

However unlike the other ops in that list like fsin, fround, flog etc.,
an fabs marked as expand will never be legalized into a libcall. Like
fneg, it can always be expanded into an integer op.

This moves it below unrollExpandedOp to bring it in line with fneg,
which fixes an issue on RISC-V with f16 fabs being unexpectedly
scalarized when there's no zfhmin.


  Commit: ae6af37bf47d830becc0cd0c8a309af70fdf502c
      https://github.com/llvm/llvm-project/commit/ae6af37bf47d830becc0cd0c8a309af70fdf502c
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values6.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values6.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values6.test
    M llvm/utils/UpdateTestChecks/common.py

  Log Message:
  -----------
  update_test_checks: fix a simple regression  (#111347)

Reported-by: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Fixes: 02debcef12793b5 ("update_test_checks: improve IR value name
stability (#110940)")


  Commit: 74a98fdbc4435a9f8cdf9ea6d1d9a0396921d3d6
      https://github.com/llvm/llvm-project/commit/74a98fdbc4435a9f8cdf9ea6d1d9a0396921d3d6
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-add.ll
    M llvm/test/CodeGen/X86/vector-mul.ll

  Log Message:
  -----------
  Revert "[x86] combineMul - use computeKnownBits directly to find MUL_IMM constant splat."

> As we're after a constant splat value we can avoid all the complexities of trying to recreate the correct constant via getTargetConstantFromNode.

This caused builds to fail with an assertion:
X86ISelLowering.cpp:48569
Assertion `C.getZExtValue() != 0 && C.getZExtValue() != maxUIntN(VT.getScalarSizeInBits())
&& "Both cases that could cause potential overflows should have " "already been handled."

See https://github.com/llvm/llvm-project/issues/111325

This reverts commit 1bc87c9f3cb20a51191f522bf4d69338ad6bb4e6.


  Commit: d148548779c2546d02b2a55e75eb8525e7b6cb2d
      https://github.com/llvm/llvm-project/commit/d148548779c2546d02b2a55e75eb8525e7b6cb2d
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp

  Log Message:
  -----------
  Reland "[lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout" (#111123)

Relands https://github.com/llvm/llvm-project/pull/108375 which had to be
reverted because it was failing on the Windows buildbot. Trying to
reland this with `msvc::no_unique_address` on Windows.


  Commit: 3d862c78bbb5ecbdfe93996bdf2dcfc64325ae87
      https://github.com/llvm/llvm-project/commit/3d862c78bbb5ecbdfe93996bdf2dcfc64325ae87
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-add.ll
    M llvm/test/CodeGen/X86/mul-constant-i64.ll
    M llvm/test/CodeGen/X86/vector-mul.ll

  Log Message:
  -----------
  [x86] combineMul - use computeKnownBits directly to find MUL_IMM constant splat. (REAPPLIED)

As we're after a constant splat value we can avoid all the complexities of trying to recreate the correct constant via getTargetConstantFromNode.


  Commit: 66713a0f8257661a8849e1a710a90b79576b0d21
      https://github.com/llvm/llvm-project/commit/66713a0f8257661a8849e1a710a90b79576b0d21
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/main.cpp

  Log Message:
  -----------
  [lldb][test] Add libcxx-simulators test for std::optional (#111133)

Follow-up to the LLDB std::optional data-formatter test failure caused
by https://github.com/llvm/llvm-project/pull/110355.

Two formats are supported:
1. `__val_` has type `value_type`
2. `__val_`'s type is wrapped in `std::remove_cv_t`


  Commit: a1c0ba1646f5a80dadd34f55e4a36d5409c2675a
      https://github.com/llvm/llvm-project/commit/a1c0ba1646f5a80dadd34f55e4a36d5409c2675a
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/main.cpp

  Log Message:
  -----------
  [lldb][test] TestDataFormatterLibcxxOptionalSimulator.py: change order of ifdefs

The current layout *does* have `removecv_t`. So change
the ifdefs to reflect that.


  Commit: e0b24d947570385c5b6c3afea46fea09fc75ddab
      https://github.com/llvm/llvm-project/commit/e0b24d947570385c5b6c3afea46fea09fc75ddab
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    A llvm/test/tools/llvm-dis/multiple-files-equivalent.ll
    M llvm/tools/llvm-dis/llvm-dis.cpp

  Log Message:
  -----------
  [llvm-dis] Fix non-deterministic disassembly across multiple inputs (#110988)

Prior to this patch, the LLVMContext was shared across inputs to
llvm-dis.

Consequently, NamedStructTypes was shared across inputs, which impacts
StructType::setName - if a name was reused across inputs, it would get
renamed during construction of the struct type, leading to tricky to
diagnose confusion.


  Commit: db1340412e167d828ae406975265529d95da7ef0
      https://github.com/llvm/llvm-project/commit/db1340412e167d828ae406975265529d95da7ef0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/mul-constant-i64.ll

  Log Message:
  -----------
  [x86] combineMul - handle 0/-1 KnownBits cases before MUL_IMM logic (REAPPLIED)

Followup to 3d862c78bbb5ecbdfe93996bdf2dcfc64325ae87 fix - always fold multiply to zero/negation


  Commit: 88478a89cd85adcc32f2a321ef9e9906c5fdbe26
      https://github.com/llvm/llvm-project/commit/88478a89cd85adcc32f2a321ef9e9906c5fdbe26
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.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] Improve entry block argument creation and binding (#110267)

The main purpose of this patch is to centralize the logic for creating
MLIR operation entry blocks and for binding them to the corresponding
symbols. This minimizes the chances of mixing arguments up for
operations having multiple entry block argument-generating clauses and
prevents divergence while binding arguments.

Some changes implemented to this end are:
- Split into two functions the creation of the entry block, and the
binding of its arguments and the corresponding Fortran symbol. This
enabled a significant simplification of the lowering of composite
constructs, where it's no longer necessary to manually ensure the lists
of arguments and symbols refer to the same variables in the same order
and also match the expected order by the `BlockArgOpenMPOpInterface`.
- Removed redundant and error-prone passing of types and locations from
`ClauseProcessor` methods. Instead, these are obtained from the values
in the appropriate clause operands structure. This also simplifies
argument lists of several lowering functions.
- Access block arguments of already created MLIR operations through the
`BlockArgOpenMPOpInterface` instead of directly indexing the argument
list of the operation, which is not scalable as more entry block
argument-generating clauses are added to an operation.
- Simplified the implementation of `genParallelOp` to no longer need to
define different callbacks depending on whether delayed privatization is
enabled.


  Commit: 8df6637e84c4fa08e4649079fb21a6932a6926a4
      https://github.com/llvm/llvm-project/commit/8df6637e84c4fa08e4649079fb21a6932a6926a4
  Author: AidinT <3762928+aidint at users.noreply.github.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst

  Log Message:
  -----------
  [doc] Fix Kaleidoscope tutorial chapter 3 code snippet and full listing discrepancies (#111289)

Fix two discrepancies between the cited snippets and the full code.


  Commit: d9e986e915b03e2f68d9ed2b664a2511edbb6513
      https://github.com/llvm/llvm-project/commit/d9e986e915b03e2f68d9ed2b664a2511edbb6513
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/OpenMP/declare_variant_device_isa_codegen_1.c

  Log Message:
  -----------
  [clang][OpenMP][test] Use x86_64-linux-gnu triple for test referencing avx512f feature (#111337)

This test passes as-is on non-X86 hosts only because almost no target
implements `isValidFeatureName` (the default implementation
unconditionally returns true). RISC-V does implement it, and like X86
checks that the feature name is one supported by the architecture. This
means the test creates an additional warning on RISC-V due to
`_attribute__((target("avx512f")))`.

The simple solution here is to just explicitly target x86_64-linux-gnu.


  Commit: f1ec45a0b0b14d9eb41d32be98f1437b8d1d322d
      https://github.com/llvm/llvm-project/commit/f1ec45a0b0b14d9eb41d32be98f1437b8d1d322d
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/Driver/aarch64-multilib-rcpc3.c

  Log Message:
  -----------
  [Driver] Use empty multilib file in another test (#111352)

This makes the test independent of the one provided by a toolchain clang
is built into, which can cause the output of
-print-multi-flags-experimental to change.


  Commit: 9a222a112606249f1e9db43fcaaae56982cf0197
      https://github.com/llvm/llvm-project/commit/9a222a112606249f1e9db43fcaaae56982cf0197
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/extract-lowbits.ll

  Log Message:
  -----------
  [X86] Add test coverage for #111323


  Commit: c978d05a26e47edf2eda402b2140347afb8a5954
      https://github.com/llvm/llvm-project/commit/c978d05a26e47edf2eda402b2140347afb8a5954
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [X86] getIntImmCostInst - pull out repeated Imm.getBitWidth() calls. NFC.


  Commit: 8b6e1dc924fd3c35670b46d744091d2f7ce94c5f
      https://github.com/llvm/llvm-project/commit/8b6e1dc924fd3c35670b46d744091d2f7ce94c5f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/CodeGen/X86/extract-lowbits.ll

  Log Message:
  -----------
  [X86] getIntImmCostInst - reduce i64 imm costs of AND(X,CMASK) case that can fold to BEXT/BZHI

With BEXT/BZHI the i64 imm mask will be replaced with a i16/i8 control mask

Fixes #111323


  Commit: 02dd6b1014c708591fa0e8d46efb328c513a86e7
      https://github.com/llvm/llvm-project/commit/02dd6b1014c708591fa0e8d46efb328c513a86e7
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve-bf16-arith.ll
    A llvm/test/CodeGen/AArch64/sve-bf16-rounding.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll

  Log Message:
  -----------
  [LLVM][CodeGen] Add lowering for scalable vector bfloat operations. (#109803)

Specifically:
  fabs, fadd, fceil, fdiv, ffloor, fma, fmax, fmaxnm, fmin, fminnm,
  fmul, fnearbyint, fneg, frint, fround, froundeven, fsub, fsqrt &
  ftrunc


  Commit: 1062007d1b10bdec8dddc6d41f3fb6c01e9be62b
      https://github.com/llvm/llvm-project/commit/1062007d1b10bdec8dddc6d41f3fb6c01e9be62b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

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


  Commit: ee57a685fae2f8feb81015b89f784a44e1b2bfa7
      https://github.com/llvm/llvm-project/commit/ee57a685fae2f8feb81015b89f784a44e1b2bfa7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp

  Log Message:
  -----------
  [libc] Make a dedicated thread for the RPC server (#111210)

Summary:
Make a separate thread to run the server when we launch. This is
required by CUDA, which you can force with `export
CUDA_LAUNCH_BLOCKING=1`. I figured I might as well be consistent and do
it for the AMD implementation as well even though I believe it's not
necessary.


  Commit: a018353f4b2207c6e6a82408cfe51152b03f7868
      https://github.com/llvm/llvm-project/commit/a018353f4b2207c6e6a82408cfe51152b03f7868
  Author: Juan Manuel Martinez Caamaño <juamarti at amd.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/EarlyIfConversion.cpp

  Log Message:
  -----------
  Revert "[NFC][EarlyIfConverter] Remove unused member variables"

This reverts commit 3c83102f0615c7d66f6df698ca472ddbf0e9483d.


  Commit: e7174a8378faf291e843892323527d001220d645
      https://github.com/llvm/llvm-project/commit/e7174a8378faf291e843892323527d001220d645
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [lldb][test] Provide proper path to LLVM utils in API tests (#110837)

In aea066849, API tests were supposed to use LLVM tools.
However, a path to a utility is made up incorrectly there: util name
should be prefixed with `llvm-`.

Hence, it's fixed here.


  Commit: 91d6e77d8b4ad6dbbbfa5b6788f44d3ab6757707
      https://github.com/llvm/llvm-project/commit/91d6e77d8b4ad6dbbbfa5b6788f44d3ab6757707
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/test/Transforms/debug-fn-info.fir

  Log Message:
  -----------
  [flang][debug] set DW_AT_main_subprogram for fortran main function (#111350)

Requested here
https://github.com/llvm/llvm-project/pull/111022#issuecomment-2396287781


  Commit: dda107b8cb7cb35690a45518c72f85a1df04be1a
      https://github.com/llvm/llvm-project/commit/dda107b8cb7cb35690a45518c72f85a1df04be1a
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  Revert "[libc][bazel] Enable software prefetching for memcpy" (#111370)

Reverts llvm/llvm-project#108939

When `AVX` is available but `-mprefer-vector-width=128` some of the
`mov` instructions turn into the x86 `rep;movsb` instruction leading to
poor performance on "old" architectures (sandybridge, haswell). The
possible solutions are : get rid of the `-mprefer-vector-width` option
or use smaller static copy sizes in
`inline_memcpy_x86_sse2_ge64_sw_prefetching`. Right now a copy size of 3
cache lines (192B) relying exclusively on xmm registers gets turned into
`rep;movsb`.


  Commit: 5dc7a5e50bd21cc818a3a71691af9780291b75b2
      https://github.com/llvm/llvm-project/commit/5dc7a5e50bd21cc818a3a71691af9780291b75b2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/lib/Headers/popcntintrin.h

  Log Message:
  -----------
  [clang][x86] popcntintrin.h - merge the __DEFAULT_FN_ATTRS / __DEFAULT_FN_ATTRS_CONSTEXPR defines. NFC.

We only need one define - so consistently use __DEFAULT_FN_ATTRS like we do in other headers.


  Commit: 73c9ad263369ac7350d60b3d3670ea3ed56669cc
      https://github.com/llvm/llvm-project/commit/73c9ad263369ac7350d60b3d3670ea3ed56669cc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/lib/Headers/xmmintrin.h
    M clang/test/CodeGen/X86/sse-builtins.c

  Log Message:
  -----------
  [clang][x86] Add constexpr support for some basic SSE1 intrinsics (#111001)

This is an initial patch to enable constexpr support on the more basic SSE1 intrinsics - such as initialization, arithmetic, logic and fixed shuffles.

The plan is to incrementally extend this for SSE2/AVX etc. - initially for the equivalent basic intrinsics, but we can add support for some of the ia32 builtins as well we the need arises.


  Commit: b2784ec32837df38e0de7436cbde6dfa7aefacd1
      https://github.com/llvm/llvm-project/commit/b2784ec32837df38e0de7436cbde6dfa7aefacd1
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
    M llvm/test/CodeGen/X86/memcpy-struct-by-value.ll
    M llvm/test/CodeGen/X86/memcpy.ll
    M llvm/test/CodeGen/X86/memset-minsize.ll
    M llvm/test/CodeGen/X86/memset-vs-memset-inline.ll

  Log Message:
  -----------
  Revert "[X86] For minsize memset/memcpy, use byte or double-word accesses (#87003)"

This caused assertion failures:

  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7736:
  SDValue getMemsetValue(SDValue, EVT, SelectionDAG &, const SDLoc &):
  Assertion `C->getAPIntValue().getBitWidth() == 8' failed.

See comment on the PR for a reproducer.

> repstosb and repstosd are the same size, but stosd is only done for 0
> because the process of multiplying the constant so that it is copied
> across the bytes of the 32-bit number adds extra instructions that cause
> the size to increase. For 0, repstosb and repstosd are the same size,
> but stosd is only done for 0 because the process of multiplying the
> constant so that it is copied across the bytes of the 32-bit number adds
> extra instructions that cause the size to increase. For 0, we do not
> need to do that at all.
>
> For memcpy, the same goes, and as a result the minsize check was moved
> ahead because a jmp to memcpy encoded takes more bytes than repmovsb.

This reverts commit 6de5305b3d7a4a19a29b35d481a8090e2a6d3a7e.


  Commit: 1666d13078e4799df2d8eaa101ccf02acd031427
      https://github.com/llvm/llvm-project/commit/1666d13078e4799df2d8eaa101ccf02acd031427
  Author: BARRET <41060790+Adnios at users.noreply.github.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/MC/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    M mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
    M mlir/lib/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [CMake]: Remove unnecessary dependencies on LLVM/MLIR (#111255)

Previous https://github.com/llvm/llvm-project/pull/110362 (reverted)
caused breakage. Here is the PR with fix.

My build cmdline:

```
cmake ../llvm \
    -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=install \
    -DCMAKE_C_COMPILER=gcc-9 \
    -DCMAKE_CXX_COMPILER=g++-9 \
    -DCMAKE_CUDA_COMPILER=$(which nvcc) \
    -DLLVM_ENABLE_LLD=OFF \
    -DLLVM_ENABLE_ASSERTIONS=ON \
    -DLLVM_BUILD_EXAMPLES=ON \
    -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
    -DLLVM_CCACHE_BUILD=ON \
    -DMLIR_ENABLE_BINDINGS_PYTHON=ON \
    -DBUILD_SHARED_LIBS=ON \
    -DLLVM_ENABLE_PROJECTS='llvm;mlir'
```


  Commit: 4c9c2d6082740b4ddda1ecfdc33702e4cbd3444d
      https://github.com/llvm/llvm-project/commit/4c9c2d6082740b4ddda1ecfdc33702e4cbd3444d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/lib/AST/CXXInheritance.cpp

  Log Message:
  -----------
  [AST] Avoid repeated hash lookups (NFC) (#111327)

Here I'm splitting up the existing "if" statement into two.  Mixing
hasDefinition() and insert() in one "if" condition would be extremely
confusing as hasDefinition() doesn't change anything while insert()
does.


  Commit: 4bc0916011c4fc02de29e09905400138cbec909f
      https://github.com/llvm/llvm-project/commit/4bc0916011c4fc02de29e09905400138cbec909f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp

  Log Message:
  -----------
  [Linalg] Avoid repeated hash lookups (NFC) (#111328)


  Commit: 31e8c539e0fdc4b251871c9126f7bc28fc8fb74b
      https://github.com/llvm/llvm-project/commit/31e8c539e0fdc4b251871c9126f7bc28fc8fb74b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp

  Log Message:
  -----------
  [Affine] Avoid repeated hash lookups (NFC) (#111330)


  Commit: 40f0f7b4ec3eea4827fa3e54153ff722b5842ea1
      https://github.com/llvm/llvm-project/commit/40f0f7b4ec3eea4827fa3e54153ff722b5842ea1
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c
    M clang/test/SemaCXX/attr-target-version.cpp
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/lib/Target/AArch64/AArch64FMV.td

  Log Message:
  -----------
  [FMV][AArch64] Unify features ssbs and ssbs2. (#110297)

According to https://developer.arm.com/documentation/102105/latest Arm
Architecture Reference Manual for A-profile architecture: Known issues

2.206 D22789
In section C5.2.25 "SSBS, Speculative Store Bypass Safe", under the
heading 'Configurations', the text that reads:

"This register is present only when FEAT_SSBS is implemented. Otherwise,
direct accesses to SSBS are UNDEFINED."

is changed to read:

"This register is present only when FEAT_SSBS2 is implemented.
Otherwise, direct accesses to SSBS are UNDEFINED."

This suggests that it's not worth splitting FEAT_SSBS2 from FEAT_SSBS in
the compiler, since FEAT_SSBS cannot be used for predicating the MRS/MSR
instructions. Those can access PSTATE.SSBS only when FEAT_SSBS2 is
available. Moreover, there are no hardware implementations which
implement FEAT_SSBS without FEAT_SSBS2, therefore unifying these
features in the specification should not be a regression for feature
detection.

Approved in ACLE as https://github.com/ARM-software/acle/pull/350


  Commit: 0614b3cface2128c2e0f7e3415b54f5cdb75a02b
      https://github.com/llvm/llvm-project/commit/0614b3cface2128c2e0f7e3415b54f5cdb75a02b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [Analysis] Simplify code with DenseMap::operator[] (NFC) (#111331)


  Commit: 5fdda4147495c6bcfb6c100dbf32a669c3b39874
      https://github.com/llvm/llvm-project/commit/5fdda4147495c6bcfb6c100dbf32a669c3b39874
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M mlir/lib/Transforms/Mem2Reg.cpp

  Log Message:
  -----------
  [Transforms] Avoid repeated hash lookups (NFC) (#111329)


  Commit: 5f94b0cbdd169ea9387fa48ee9889ebf752821f7
      https://github.com/llvm/llvm-project/commit/5f94b0cbdd169ea9387fa48ee9889ebf752821f7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll

  Log Message:
  -----------
  AMDGPU: Try to reuse dest reg for s_add_i32 frame indexes (#111201)

Hack around the register scavenger doing the wrong thing.
It does not find the result register as available in the
case the frame index add isn't also reading the dest register.
This is the quick fix for a regression where the scavenge would
create a broken spill of SGPR to memory. I believe this is still
broken for cases we cannot use the result register.

I'm confused about what position the scavenger iterator
is supposed to be in, and what RestoreAfter is for. The scavenger
is missing a full set of forward/backward APIs and there seems
to be an off by one somewhere.


  Commit: d5ec01b0dd20d8bdacc2810539686374e7ad5918
      https://github.com/llvm/llvm-project/commit/d5ec01b0dd20d8bdacc2810539686374e7ad5918
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/CodeGen/EarlyIfConversion.cpp

  Log Message:
  -----------
  Revert "[NFC][EarlyIfConverter] Replace boolean Predicate for a class (#108519)" (#111372)

This reverts commit 9e7315912656628b606e884e39cdeb261b476f16.


  Commit: 989c437d7f40cf5a53cb111a915013ac28bf8891
      https://github.com/llvm/llvm-project/commit/989c437d7f40cf5a53cb111a915013ac28bf8891
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp

  Log Message:
  -----------
  [RISCV][GISEL][NFC] Add break statement to reduce diff on future changes of preISelLower


  Commit: 0e8555d4dbfdfeddc01dc2ecf9a9b6e804f7b645
      https://github.com/llvm/llvm-project/commit/0e8555d4dbfdfeddc01dc2ecf9a9b6e804f7b645
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M libclc/README.TXT

  Log Message:
  -----------
  [libclc] Remove mention of BSD license in readme (#111371)

This seems to be an artifact from the intial import in 2012, but even if
not, folks are better off reading the LICENSE.TXT file for the full
details if they need them.

Fixes #109968


  Commit: 0e2970f0ad723a3b4e56d18858f4fd215415002f
      https://github.com/llvm/llvm-project/commit/0e2970f0ad723a3b4e56d18858f4fd215415002f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py

  Log Message:
  -----------
  [lldb] Make libc++ simulator tests compatible with category-based ski… (#111353)

…pping, which works by setting a field on the function object. This
doesn't work on a functools.partial object. Use a real function instead.


  Commit: aa656366ce9a693fce6a4f16090d250a8059df46
      https://github.com/llvm/llvm-project/commit/aa656366ce9a693fce6a4f16090d250a8059df46
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/avx-builtins.c

  Log Message:
  -----------
  [clang][x86] Update AVX1 intrinsic tests for both C/C++

Requires some call instructions to handle additional markers


  Commit: f71d62178d9c97ac650a8454403d71cbc8fd8c9d
      https://github.com/llvm/llvm-project/commit/f71d62178d9c97ac650a8454403d71cbc8fd8c9d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/f16c-builtins-constrained.c
    M clang/test/CodeGen/X86/f16c-builtins.c

  Log Message:
  -----------
  [clang][x86] Update F16C intrinsic tests for both C/C++ and 32/64-bit targets

Requires some call instructions to handle additional markers


  Commit: aa4d94839e6bb30389deb3339fb0d0e4aa8baa4e
      https://github.com/llvm/llvm-project/commit/aa4d94839e6bb30389deb3339fb0d0e4aa8baa4e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/fma-builtins-constrained.c
    M clang/test/CodeGen/X86/fma-builtins.c
    M clang/test/CodeGen/X86/fma4-builtins.c

  Log Message:
  -----------
  [clang][x86] Update FMA/FMA4 intrinsic tests for both C/C++ and 32/64-bit targets

Requires some call instructions to handle additional markers


  Commit: f15fe73d234a3c41f9cb905106517a89bab3add4
      https://github.com/llvm/llvm-project/commit/f15fe73d234a3c41f9cb905106517a89bab3add4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/test/CodeGen/X86/avx2-builtins.c

  Log Message:
  -----------
  [clang][x86] Update AVX2 intrinsic tests for both C/C++

Requires some call instructions to handle additional markers


  Commit: 8565213f2f9991d83d2b1353f00f35e2b34d9d12
      https://github.com/llvm/llvm-project/commit/8565213f2f9991d83d2b1353f00f35e2b34d9d12
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    R clang/CodeOwners.rst
    A clang/Maintainers.rst
    M clang/docs/CMakeLists.txt
    R clang/docs/CodeOwners.rst
    A clang/docs/Maintainers.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [clang] Code owners -> Maintainers transition (#108997)

This is the initial transition from using "code owners" to using
"maintainers".


  Commit: 2fe1f84db379bccbf0a3ac136d063a94b5dc59cb
      https://github.com/llvm/llvm-project/commit/2fe1f84db379bccbf0a3ac136d063a94b5dc59cb
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M llvm/test/CodeGen/Generic/llc-start-stop.ll

  Log Message:
  -----------
  [test] Fix llc-start-stop.ll when the default target enables the loop terminator folding pass

Previously this would fail if the default target enabled the loop
terminator folding pass (currently just RISC-V), as it runs after loop
strength reduction.


  Commit: 2edd897a4227e481af33e8e43090ab088cd9d953
      https://github.com/llvm/llvm-project/commit/2edd897a4227e481af33e8e43090ab088cd9d953
  Author: Nuri Amari <nuri.amari99 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lld/COFF/LTO.cpp
    M lld/ELF/LTO.cpp
    M lld/MachO/LTO.cpp
    M lld/test/COFF/thinlto-emit-imports.ll
    M lld/test/ELF/lto/thinlto-cant-write-index.ll
    M lld/test/ELF/lto/thinlto-emit-imports.ll
    M lld/test/MachO/thinlto-emit-imports.ll
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/Support/Threading.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  Make WriteIndexesThinBackend multi threaded (#109847)

We've noticed that for large builds executing thin-link can take on the
order of 10s of minutes. We are only using a single thread to write the
sharded indices and import files for each input bitcode file. While we
need to ensure the index file produced lists modules in a deterministic
order, that doesn't prevent us from executing the rest of the work in
parallel.

In this change we use a thread pool to execute as much of the backend's
work as possible in parallel. In local testing on a machine with 80
cores, this change makes a thin-link for ~100,000 input files run in ~2
minutes. Without this change it takes upwards of 10 minutes.

---------

Co-authored-by: Nuri Amari <nuriamari at fb.com>


  Commit: c5f7a32356fef48bbd075edfedec80142e8106b6
      https://github.com/llvm/llvm-project/commit/c5f7a32356fef48bbd075edfedec80142e8106b6
  Author: RipleyTom <RipleyTom at users.noreply.github.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M llvm/lib/TargetParser/Host.cpp

  Log Message:
  -----------
  [X86] Add AMD Llano family detection (#111312)

Very simple one liner, adds the missing detection for the Llano family
which is essentially a refreshed K10:
Documentation of the family id:
https://en.wikichip.org/wiki/amd/cpuid#Family_18_.2812h.29
Documentation that it fits into amdfam10:
https://en.wikipedia.org/wiki/AMD_10h#12h


  Commit: 0e8a10b099a230f5193f228467538e6443afa398
      https://github.com/llvm/llvm-project/commit/0e8a10b099a230f5193f228467538e6443afa398
  Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/archives/TestBSDArchives.py

  Log Message:
  -----------
  [lldb][test] Mark test() in TestBSDArchives.py as passing remotely (#111199)

It was xfail'ed in de2ddc8f3146b. However, it passes on a buildbot
https://lab.llvm.org/staging/#/builders/195/builds/3988.


  Commit: 5e7cc374225e1704d0694da05e02f327cc0cf024
      https://github.com/llvm/llvm-project/commit/5e7cc374225e1704d0694da05e02f327cc0cf024
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/main.cpp

  Log Message:
  -----------
  [lldb][test] TestDataFormatterLibcxxOptionalSimulator.py: don't use __builtin_printf

This caused Windows CI to fail with:
```
Build Command Output:

make: Entering directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.test_r0'

"C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang++.exe"  -std=c++11 -gdwarf -O0   -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\functionalities\data-formatter\data-formatter-stl\libcxx-simulators\optional -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info    -fno-exceptions -D_HAS_EXCEPTIONS=0 -fms-compatibility-version=19.0 -std=c++14  -DREVISION=0 -std=c++14 --driver-mode=g++ -MT main.o -MD -MP -MF main.d -c -o main.o C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\functionalities\data-formatter\data-formatter-stl\libcxx-simulators\optional/main.cpp

C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe main.o -gdwarf -O0   -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\functionalities\data-formatter\data-formatter-stl\libcxx-simulators\optional -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info     -fuse-ld=lld  --driver-mode=g++ -o "a.out"

lld-link: error: undefined symbol: printf

>>> referenced by main.o:(main)

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [Makefile.rules:515: a.out] Error 1

make: Leaving directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.test_r0'
```


  Commit: 02b9c97b75325c9b737772986e439cf8f3c0d1ab
      https://github.com/llvm/llvm-project/commit/02b9c97b75325c9b737772986e439cf8f3c0d1ab
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

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

  Log Message:
  -----------
  [memprof] Simplify code with MapVector::operator[] (NFC) (#111335)

Note that the following are all equivalent to each other:

  Map.insert({Key, Value()}).first->second
  Map.try_emplace(Key).first->second
  Map[Key]


  Commit: 415690f6853295fbbd8205e8c9e3f96f76f01aae
      https://github.com/llvm/llvm-project/commit/415690f6853295fbbd8205e8c9e3f96f76f01aae
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/BitwisePointerCastCheck.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
    M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/CodeComplete.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/index/MemIndex.cpp
    M clang-tools-extra/clangd/index/dex/Dex.cpp
    M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
    A clang-tools-extra/clangd/refactor/tweaks/SwapBinaryOperands.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    A clang-tools-extra/clangd/unittests/tweaks/SwapBinaryOperandsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/bitwise-pointer-cast.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/bitwise-pointer-cast.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
    R clang/CodeOwners.rst
    A clang/Maintainers.rst
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
    A clang/cmake/caches/hexagon-unknown-linux-musl-clang.cmake
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangFormatStyleOptions.rst
    R clang/docs/CodeOwners.rst
    A clang/docs/Maintainers.rst
    M clang/docs/Multilib.rst
    M clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/index.rst
    M clang/include/clang/AST/APValue.h
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/JSONNodeDumper.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Driver/Multilib.h
    M clang/include/clang/Driver/Options.td
    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
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/InterpBlock.cpp
    M clang/lib/AST/ByteCode/InterpBlock.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/lib/AST/ByteCode/Program.h
    M clang/lib/AST/CXXInheritance.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Basic/TargetID.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/BareMetal.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/popcntintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/lib/Sema/SemaFunctionEffects.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    M clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/Analysis/asm.cpp
    A clang/test/Analysis/builtin_overflow.c
    A clang/test/Analysis/builtin_overflow_notes.c
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/ptr-arith.c
    M clang/test/Analysis/taint-tester.c
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p9-0x.cpp
    M clang/test/CodeGen/2008-08-07-AlignPadding1.c
    M clang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/avx-builtins.c
    M clang/test/CodeGen/X86/avx2-builtins.c
    M clang/test/CodeGen/X86/f16c-builtins-constrained.c
    M clang/test/CodeGen/X86/f16c-builtins.c
    M clang/test/CodeGen/X86/fma-builtins-constrained.c
    M clang/test/CodeGen/X86/fma-builtins.c
    M clang/test/CodeGen/X86/fma4-builtins.c
    A clang/test/CodeGen/X86/pr51324.c
    A clang/test/CodeGen/X86/pr60006.c
    M clang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/sse-builtins-constrained.c
    M clang/test/CodeGen/X86/sse-builtins-dbg.c
    M clang/test/CodeGen/X86/sse-builtins.c
    M clang/test/CodeGen/X86/sse2-builtins-constrained-cmp.c
    M clang/test/CodeGen/X86/sse2-builtins.c
    M clang/test/CodeGen/X86/sse3-builtins.c
    M clang/test/CodeGen/X86/sse41-builtins.c
    M clang/test/CodeGen/X86/sse42-builtins.c
    M clang/test/CodeGen/X86/sse4a-builtins.c
    M clang/test/CodeGen/X86/ssse3-builtins.c
    M clang/test/CodeGen/X86/x86-intrinsics-imm.c
    M clang/test/CodeGen/aarch64-fmv-dependencies.c
    M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write_lane_zt.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvt-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cvtnt.c
    M clang/test/CodeGen/arm-acle-coproc.c
    A clang/test/CodeGen/attr-counted-by-pr110385.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/nvptx_attributes.c
    M clang/test/CodeGen/rtsan_attribute_inserted.c
    M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
    M clang/test/CodeGen/stack-protector-guard.c
    M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    A clang/test/CodeGenHLSL/builtins/cross.hlsl
    A clang/test/CodeGenHLSL/builtins/radians.hlsl
    A clang/test/Driver/Inputs/multilib/empty.yaml
    M clang/test/Driver/aarch64-multilib-rcpc3.c
    A clang/test/Driver/aarch64-v96a.c
    M clang/test/Driver/arm-cortex-cpus-1.c
    M clang/test/Driver/baremetal-multilib-custom-error.yaml
    M clang/test/Driver/baremetal-multilib-exclusive-group.yaml
    M clang/test/Driver/baremetal-multilib-group-error.yaml
    M clang/test/Driver/baremetal-multilib-layered.yaml
    M clang/test/Driver/baremetal-multilib.yaml
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/clang_f_opts.c
    M clang/test/Driver/lto.c
    M clang/test/Driver/print-multi-selection-flags.c
    M clang/test/Driver/stack-protector-guard.c
    M clang/test/Driver/thinlto.c
    M clang/test/Driver/thinlto.cu
    A clang/test/Driver/zos-pragma-pack.c
    M clang/test/Headers/Inputs/include/setjmp.h
    M clang/test/Misc/warning-wall.c
    M clang/test/OpenMP/declare_variant_device_isa_codegen_1.c
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Sema/attr-nonblocking-constraints-ms.cpp
    A clang/test/Sema/attr-nonblocking-constraints.c
    A clang/test/Sema/attr-nonblocking-constraints.cpp
    M clang/test/Sema/attr-nonblocking-sema.cpp
    M clang/test/Sema/attr-nonblocking-syntax.cpp
    M clang/test/Sema/attr-target-clones-aarch64.c
    R clang/test/SemaCXX/PR84020.cpp
    M clang/test/SemaCXX/attr-target-version.cpp
    A clang/test/SemaCXX/pragma-pack-packed-2.cpp
    A clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
    M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
    A clang/test/SemaHLSL/BuiltIns/radians-errors.hlsl
    A clang/test/SemaObjCXX/attr-nonblocking-constraints.mm
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    A clang/test/SemaOpenACC/loop-construct-tile-ast.cpp
    A clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/instantiate-requires-expr.cpp
    M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/CXIndexDataConsumer.cpp
    M clang/unittests/AST/ByteCode/Descriptor.cpp
    M clang/unittests/Driver/MultilibTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/MveEmitter.cpp
    A compiler-rt/cmake/caches/hexagon-linux-builtins.cmake
    A compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
    M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
    M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M compiler-rt/lib/lsan/lsan_common.cpp
    M compiler-rt/lib/lsan/lsan_flags.inc
    M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
    M compiler-rt/lib/scudo/standalone/primary64.h
    M flang/docs/Extensions.md
    M flang/include/flang/Lower/LoweringOptions.def
    M flang/include/flang/Optimizer/Builder/Complex.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/CodeGen/CodeGenOpenMP.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/CufOpConversion.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/CUDA/common.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    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/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.h
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/CodeGenOpenMP.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CufOpConversion.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/semantics.cpp
    M flang/test/Fir/array-copies-pointers.fir
    M flang/test/Fir/compare.fir
    M flang/test/Fir/constant.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/convert.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/fir-types.fir
    M flang/test/Fir/invalid-types.fir
    M flang/test/Fir/rebox.fir
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-complex16.f90
    M flang/test/Fir/target-rewrite-arg-position.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target-rewrite-complex.fir
    M flang/test/Fir/target-rewrite-complex16.fir
    M flang/test/Fir/target-rewrite-selective.fir
    M flang/test/Fir/target.fir
    M flang/test/Fir/types-to-llvm.fir
    M flang/test/Fir/undo-complex-pattern.fir
    M flang/test/HLFIR/assign-codegen.fir
    M flang/test/HLFIR/assign.fir
    M flang/test/HLFIR/associate.fir
    M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
    M flang/test/HLFIR/designate-codegen-complex-part.fir
    M flang/test/HLFIR/designate.fir
    M flang/test/HLFIR/invalid.fir
    M flang/test/HLFIR/opt-scalar-assign.fir
    A flang/test/Integration/OpenMP/atomic-update-complex.f90
    M flang/test/Integration/debug-assumed-size-array.f90
    M flang/test/Integration/debug-fixed-array-type-2.f90
    M flang/test/Integration/debug-local-var-2.f90
    A flang/test/Integration/debug-variable-array-dim.f90
    M flang/test/Intrinsics/math-codegen.fir
    M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
    M flang/test/Lower/HLFIR/assignment-intrinsics.f90
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/assumed-rank-entry.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
    M flang/test/Lower/HLFIR/binary-ops.f90
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
    M flang/test/Lower/HLFIR/constant.f90
    M flang/test/Lower/HLFIR/conversion-ops.f90
    M flang/test/Lower/HLFIR/convert-variable-assumed-rank.f90
    M flang/test/Lower/HLFIR/designators-component-ref.f90
    M flang/test/Lower/HLFIR/designators.f90
    M flang/test/Lower/HLFIR/entry_return.f90
    M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
    M flang/test/Lower/HLFIR/implicit-type-conversion-allocatable.f90
    M flang/test/Lower/HLFIR/initial-target-component.f90
    M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
    M flang/test/Lower/HLFIR/select-rank.f90
    M flang/test/Lower/HLFIR/unary-ops.f90
    M flang/test/Lower/HLFIR/user-defined-assignment.f90
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    M flang/test/Lower/Intrinsics/abs.f90
    M flang/test/Lower/Intrinsics/acos.f90
    M flang/test/Lower/Intrinsics/acos_complex16.f90
    M flang/test/Lower/Intrinsics/acosh.f90
    M flang/test/Lower/Intrinsics/acosh_complex16.f90
    M flang/test/Lower/Intrinsics/asin.f90
    M flang/test/Lower/Intrinsics/asin_complex16.f90
    M flang/test/Lower/Intrinsics/asinh.f90
    M flang/test/Lower/Intrinsics/asinh_complex16.f90
    M flang/test/Lower/Intrinsics/atan.f90
    M flang/test/Lower/Intrinsics/atan_complex16.f90
    M flang/test/Lower/Intrinsics/atanh.f90
    M flang/test/Lower/Intrinsics/atanh_complex16.f90
    M flang/test/Lower/Intrinsics/cabs_real16.f90
    M flang/test/Lower/Intrinsics/cmplx.f90
    M flang/test/Lower/Intrinsics/cos_complex16.f90
    M flang/test/Lower/Intrinsics/cosh_complex16.f90
    M flang/test/Lower/Intrinsics/dconjg.f90
    M flang/test/Lower/Intrinsics/dimag.f90
    M flang/test/Lower/Intrinsics/dot_product.f90
    M flang/test/Lower/Intrinsics/dreal.f90
    M flang/test/Lower/Intrinsics/exp.f90
    M flang/test/Lower/Intrinsics/exp_complex16.f90
    M flang/test/Lower/Intrinsics/log.f90
    M flang/test/Lower/Intrinsics/log_complex16.f90
    M flang/test/Lower/Intrinsics/pow_complex16.f90
    M flang/test/Lower/Intrinsics/pow_complex16i.f90
    M flang/test/Lower/Intrinsics/pow_complex16k.f90
    M flang/test/Lower/Intrinsics/product.f90
    M flang/test/Lower/Intrinsics/sin_complex16.f90
    M flang/test/Lower/Intrinsics/sinh_complex16.f90
    M flang/test/Lower/Intrinsics/sqrt_complex16.f90
    M flang/test/Lower/Intrinsics/sum.f90
    M flang/test/Lower/Intrinsics/tan_complex16.f90
    M flang/test/Lower/Intrinsics/tanh_complex16.f90
    M flang/test/Lower/OpenACC/acc-reduction.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
    R flang/test/Lower/OpenMP/Todo/atomic-complex.f90
    A flang/test/Lower/OpenMP/Todo/lastprivate-conditional.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/loop-compound.f90
    M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
    M flang/test/Lower/OpenMP/parallel-reduction-complex.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
    M flang/test/Lower/OpenMP/threadprivate-non-global.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/array-constructor-1.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/array-elemental-subroutines.f90
    M flang/test/Lower/array.f90
    M flang/test/Lower/assignment.f90
    M flang/test/Lower/basic-function.f90
    M flang/test/Lower/call-bindc.f90
    M flang/test/Lower/call-by-value.f90
    M flang/test/Lower/complex-operations.f90
    M flang/test/Lower/complex-real.f90
    M flang/test/Lower/derived-assignments.f90
    M flang/test/Lower/dummy-procedure.f90
    M flang/test/Lower/entry-statement.f90
    M flang/test/Lower/implicit-call-mismatch.f90
    M flang/test/Lower/math-lowering/abs.f90
    A flang/test/Lower/nsw.f90
    M flang/test/Lower/pointer.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/sqrt.f90
    M flang/test/Lower/trigonometric-intrinsics.f90
    M flang/test/Lower/vector-subscript-io.f90
    A flang/test/Parser/OpenMP/lastprivate-clause.f90
    A flang/test/Semantics/OpenMP/private03.f90
    M flang/test/Transforms/debug-107988.fir
    R flang/test/Transforms/debug-90683.fir
    A flang/test/Transforms/debug-assumed-shape-array-2.fir
    M flang/test/Transforms/debug-assumed-size-array.fir
    M flang/test/Transforms/debug-complex-1.fir
    M flang/test/Transforms/debug-derived-type-1.fir
    M flang/test/Transforms/debug-fixed-array-type.fir
    M flang/test/Transforms/debug-fn-info.fir
    M flang/test/Transforms/debug-local-global-storage-1.fir
    M flang/test/Transforms/debug-local-var.fir
    A flang/test/Transforms/debug-variable-array-dim.fir
    M flang/test/Transforms/debug-variable-char-len.fir
    M flang/test/Transforms/loop-versioning.fir
    M flang/test/Transforms/omp-map-info-finalization.fir
    M flang/test/Transforms/simplifyintrinsics.fir
    M flang/tools/bbc/bbc.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
    M flang/unittests/Optimizer/FIRTypesTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/arm/headers.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/riscv/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/gpu/using.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/linux/error-number-macros.h
    A libc/include/llvm-libc-macros/malloc-macros.h
    A libc/include/malloc.h.def
    M libc/newhdrgen/yaml/gpu/rpc.yaml
    A libc/newhdrgen/yaml/malloc.yaml
    M libc/newhdrgen/yaml/sys/socket.yaml
    M libc/spec/gnu_ext.td
    M libc/spec/gpu_ext.td
    M libc/src/__support/StringUtil/tables/CMakeLists.txt
    M libc/src/__support/StringUtil/tables/linux_extension_errors.h
    M libc/src/__support/StringUtil/tables/posix_errors.h
    M libc/src/__support/StringUtil/tables/stdc_errors.h
    M libc/src/gpu/rpc_host_call.cpp
    M libc/src/gpu/rpc_host_call.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acosf.cpp
    M libc/src/math/generic/asinf.cpp
    M libc/src/math/generic/cosf.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp10f_impl.h
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/exp2f_impl.h
    M libc/src/math/generic/expf.cpp
    M libc/src/math/generic/explogxf.h
    M libc/src/math/generic/expm1f.cpp
    M libc/src/math/generic/powf.cpp
    M libc/src/math/generic/sincosf.cpp
    M libc/src/math/generic/sinf.cpp
    M libc/src/math/generic/tanf.cpp
    M libc/src/pthread/CMakeLists.txt
    M libc/src/pthread/pthread_atfork.cpp
    M libc/src/pthread/pthread_attr_setdetachstate.cpp
    M libc/src/pthread/pthread_attr_setguardsize.cpp
    M libc/src/pthread/pthread_attr_setstack.cpp
    M libc/src/pthread/pthread_attr_setstacksize.cpp
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/pthread/pthread_condattr_setpshared.cpp
    M libc/src/pthread/pthread_create.cpp
    M libc/src/pthread/pthread_key_create.cpp
    M libc/src/pthread/pthread_key_delete.cpp
    M libc/src/pthread/pthread_mutex_init.cpp
    M libc/src/pthread/pthread_mutexattr_destroy.cpp
    M libc/src/pthread/pthread_mutexattr_getpshared.cpp
    M libc/src/pthread/pthread_mutexattr_getrobust.cpp
    M libc/src/pthread/pthread_mutexattr_gettype.cpp
    M libc/src/pthread/pthread_mutexattr_setpshared.cpp
    M libc/src/pthread/pthread_mutexattr_setrobust.cpp
    M libc/src/pthread/pthread_mutexattr_settype.cpp
    M libc/src/pthread/pthread_rwlock_destroy.cpp
    M libc/src/pthread/pthread_rwlock_init.cpp
    M libc/src/pthread/pthread_rwlock_rdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
    M libc/src/pthread/pthread_rwlock_timedwrlock.cpp
    M libc/src/pthread/pthread_rwlock_tryrdlock.cpp
    M libc/src/pthread/pthread_rwlock_trywrlock.cpp
    M libc/src/pthread/pthread_rwlock_unlock.cpp
    M libc/src/pthread/pthread_rwlock_wrlock.cpp
    M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
    M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    M libc/src/pthread/pthread_setspecific.cpp
    M libc/src/spawn/CMakeLists.txt
    M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
    M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
    M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
    M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/string/memory_utils/aarch64/inline_memcmp.h
    M libc/src/string/memory_utils/aarch64/inline_memcpy.h
    M libc/src/string/memory_utils/aarch64/inline_memmove.h
    M libc/src/string/memory_utils/generic/aligned_access.h
    M libc/src/string/memory_utils/generic/byte_per_byte.h
    M libc/src/string/memory_utils/inline_memcmp.h
    M libc/src/string/memory_utils/inline_memcpy.h
    M libc/src/string/memory_utils/inline_memset.h
    M libc/src/string/memory_utils/x86_64/inline_memcmp.h
    M libc/src/string/memory_utils/x86_64/inline_memcpy.h
    M libc/src/string/memory_utils/x86_64/inline_memmove.h
    M libc/src/sys/socket/linux/recv.cpp
    M libc/src/sys/socket/linux/recvfrom.cpp
    M libc/src/sys/socket/linux/recvmsg.cpp
    M libc/src/sys/socket/linux/send.cpp
    M libc/src/sys/socket/linux/sendmsg.cpp
    M libc/src/sys/socket/linux/sendto.cpp
    M libc/src/sys/socket/recv.h
    M libc/src/sys/socket/recvfrom.h
    M libc/src/sys/socket/recvmsg.h
    M libc/src/threads/CMakeLists.txt
    M libc/src/threads/thrd_create.cpp
    M libc/test/UnitTest/PrintfMatcher.h
    M libc/test/UnitTest/ScanfMatcher.h
    M libc/test/integration/src/pthread/CMakeLists.txt
    M libc/test/integration/src/pthread/pthread_name_test.cpp
    M libc/test/integration/src/spawn/posix_spawn_test_binary.cpp
    M libc/test/integration/src/unistd/CMakeLists.txt
    M libc/test/integration/src/unistd/fork_test.cpp
    M libc/test/integration/src/unistd/stack_smashing_test.cpp
    M libc/test/integration/startup/linux/CMakeLists.txt
    M libc/test/integration/startup/linux/tls_test.cpp
    M libc/test/src/__support/File/CMakeLists.txt
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/acosf_test.cpp
    M libc/test/src/math/acoshf_test.cpp
    M libc/test/src/math/asinf_test.cpp
    M libc/test/src/math/asinhf_test.cpp
    M libc/test/src/math/atanf_test.cpp
    M libc/test/src/math/atanhf_test.cpp
    M libc/test/src/math/cosf_test.cpp
    M libc/test/src/math/coshf_test.cpp
    M libc/test/src/math/erff_test.cpp
    M libc/test/src/math/exp10_test.cpp
    M libc/test/src/math/exp2_test.cpp
    M libc/test/src/math/exp_test.cpp
    M libc/test/src/math/log10_test.cpp
    M libc/test/src/math/log10f_test.cpp
    M libc/test/src/math/log1p_test.cpp
    M libc/test/src/math/log1pf_test.cpp
    M libc/test/src/math/log2_test.cpp
    M libc/test/src/math/log_test.cpp
    M libc/test/src/math/powf_test.cpp
    M libc/test/src/math/sincosf_test.cpp
    M libc/test/src/math/sinf_test.cpp
    M libc/test/src/math/sinhf_test.cpp
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/acosf_test.cpp
    M libc/test/src/math/smoke/acoshf_test.cpp
    M libc/test/src/math/smoke/asinf_test.cpp
    M libc/test/src/math/smoke/asinhf_test.cpp
    M libc/test/src/math/smoke/atanf_test.cpp
    M libc/test/src/math/smoke/atanhf_test.cpp
    M libc/test/src/math/smoke/cosf_test.cpp
    M libc/test/src/math/smoke/coshf_test.cpp
    M libc/test/src/math/smoke/erff_test.cpp
    M libc/test/src/math/smoke/exp10_test.cpp
    M libc/test/src/math/smoke/exp2_test.cpp
    M libc/test/src/math/smoke/exp_test.cpp
    M libc/test/src/math/smoke/expm1_test.cpp
    M libc/test/src/math/smoke/log10_test.cpp
    M libc/test/src/math/smoke/log10f_test.cpp
    M libc/test/src/math/smoke/log1p_test.cpp
    M libc/test/src/math/smoke/log1pf_test.cpp
    M libc/test/src/math/smoke/log2_test.cpp
    M libc/test/src/math/smoke/log_test.cpp
    M libc/test/src/math/smoke/powf_test.cpp
    M libc/test/src/math/smoke/sincosf_test.cpp
    M libc/test/src/math/smoke/sinf_test.cpp
    M libc/test/src/math/smoke/sinhf_test.cpp
    M libc/test/src/math/smoke/tanf_test.cpp
    M libc/test/src/math/smoke/tanhf_test.cpp
    M libc/test/src/math/tanf_test.cpp
    M libc/test/src/math/tanhf_test.cpp
    M libc/test/src/pthread/CMakeLists.txt
    M libc/test/src/pthread/pthread_attr_test.cpp
    M libc/test/src/pthread/pthread_mutexattr_test.cpp
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/sigaddset_test.cpp
    M libc/test/src/signal/sigdelset_test.cpp
    M libc/test/src/signal/sigfillset_test.cpp
    M libc/test/src/spawn/CMakeLists.txt
    M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
    M libc/test/src/sys/prctl/linux/CMakeLists.txt
    M libc/test/src/sys/prctl/linux/prctl_test.cpp
    M libc/test/src/sys/resource/CMakeLists.txt
    M libc/test/src/sys/select/CMakeLists.txt
    M libc/test/src/sys/select/select_failure_test.cpp
    M libc/test/src/sys/sendfile/CMakeLists.txt
    M libc/test/src/sys/utsname/CMakeLists.txt
    M libc/test/src/sys/utsname/uname_test.cpp
    M libc/test/src/sys/wait/CMakeLists.txt
    M libc/test/src/sys/wait/wait4_test.cpp
    M libc/test/src/sys/wait/waitpid_test.cpp
    M libc/test/src/unistd/CMakeLists.txt
    M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
    M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
    M libc/utils/gpu/server/rpc_server.cpp
    M libclc/README.TXT
    A libcxx/cmake/caches/hexagon-linux-runtimes.cmake
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/formatter_string.h
    M libcxx/include/__memory/array_cookie.h
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    R libcxx/include/__memory/voidify.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/drop_while_view.h
    M libcxx/include/__ranges/filter_view.h
    M libcxx/include/__ranges/lazy_split_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/take_while_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__system_error/errc.h
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    R libcxx/lib/libc++unexp.exp
    M libcxx/src/CMakeLists.txt
    M libcxx/test/benchmarks/CMakeLists.txt
    M libcxx/test/benchmarks/format.bench.cpp
    A libcxx/test/benchmarks/format/write_double_comparison.bench.cpp
    A libcxx/test/benchmarks/format/write_int_comparison.bench.cpp
    A libcxx/test/benchmarks/format/write_string_comparison.bench.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/libcxx/type_traits/is_specialization.verify.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
    M libcxx/test/std/thread/thread.jthread/assign.move.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.func.token.pass.cpp
    M libcxx/test/std/thread/thread.jthread/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.jthread/copy.delete.compile.pass.cpp
    M libcxx/test/std/thread/thread.jthread/detach.pass.cpp
    M libcxx/test/std/thread/thread.jthread/dtor.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_id.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_stop_source.pass.cpp
    M libcxx/test/std/thread/thread.jthread/get_stop_token.pass.cpp
    M libcxx/test/std/thread/thread.jthread/hardware_concurrency.pass.cpp
    M libcxx/test/std/thread/thread.jthread/join.deadlock.pass.cpp
    M libcxx/test/std/thread/thread.jthread/join.pass.cpp
    M libcxx/test/std/thread/thread.jthread/joinable.pass.cpp
    M libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.jthread/request_stop.pass.cpp
    M libcxx/test/std/thread/thread.jthread/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.jthread/swap.member.pass.cpp
    M libcxx/test/std/thread/thread.jthread/type.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/nostopstate/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.const.token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.rvalue.token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/copy.move.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/ctad.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopcallback/typedef.compile.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/assign.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/cons.nostopstate.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/equals.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/get_token.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/move.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/request_stop.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_possible.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/stop_requested.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stopsource/swap.member.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.copy.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.default.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.move.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/equals.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/nodiscard.verify.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_possible.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_requested.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.free.pass.cpp
    M libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.member.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/ranges_uninitialized_default_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/ranges_uninitialized_value_construct_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/ranges_uninitialized_copy_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/ranges_uninitialized_fill_n.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/ranges_uninitialized_fill.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move.pass.cpp
    M libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/ranges_uninitialized_move_n.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_subscript.runtime.pass.cpp
    M libcxx/utils/gdb/libcxx/printers.py
    M libcxx/utils/libcxx/test/params.py
    M lld/COFF/Driver.cpp
    M lld/COFF/LTO.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/SymbolTable.h
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/AArch64ErrataFix.h
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/ARMErrataFix.h
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/AMDGPU.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/AVR.cpp
    M lld/ELF/Arch/Hexagon.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/MSP430.cpp
    M lld/ELF/Arch/Mips.cpp
    M lld/ELF/Arch/MipsArchTree.cpp
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SPARCV9.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Driver.h
    M lld/ELF/DriverUtils.cpp
    M lld/ELF/EhFrame.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputFiles.h
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/LTO.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/Symbols.h
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp
    M lld/ELF/Writer.h
    M lld/MachO/LTO.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/test/COFF/thinlto-emit-imports.ll
    A lld/test/COFF/undefined_lazy.test
    M lld/test/ELF/lto/thinlto-cant-write-index.ll
    M lld/test/ELF/lto/thinlto-emit-imports.ll
    A lld/test/MachO/icf-safe-thunks-dwarf.ll
    M lld/test/MachO/thinlto-emit-imports.ll
    M lldb/docs/man/lldb-server.rst
    M lldb/docs/resources/lldbdap.md
    M lldb/docs/resources/qemu-testing.rst
    M lldb/include/lldb/Symbol/UnwindPlan.h
    M lldb/packages/Python/lldbsuite/test/builders/builder.py
    M lldb/packages/Python/lldbsuite/test/make/libcxx-simulators-common/compressed_pair.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/source/Commands/CommandObjectSession.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
    M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
    M lldb/source/Symbol/UnwindPlan.cpp
    M lldb/source/Target/RegisterContextUnwind.cpp
    M lldb/test/API/commands/platform/launchgdbserver/TestPlatformLaunchGDBServer.py
    M lldb/test/API/commands/session/save/TestSessionSave.py
    M lldb/test/API/functionalities/archives/TestBSDArchives.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/TestDataFormatterLibcxxOptionalSimulator.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/optional/main.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/unique_ptr/TestDataFormatterLibcxxUniquePtrSimulator.py
    M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
    M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
    R lldb/test/Shell/lldb-server/TestGdbserverPort.test
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/README.md
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-dap/package.json
    R lldb/tools/lldb-server/Acceptor.cpp
    R lldb/tools/lldb-server/Acceptor.h
    M lldb/tools/lldb-server/CMakeLists.txt
    M lldb/tools/lldb-server/lldb-gdbserver.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Process/gdb-remote/CMakeLists.txt
    R lldb/unittests/Process/gdb-remote/PortMapTest.cpp
    M lldb/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp
    M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
    R llvm/CODE_OWNERS.TXT
    A llvm/Maintainers.md
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CommandGuide/lit.rst
    M llvm/docs/CommandGuide/llvm-dwarfdump.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/TableGen/BackGuide.rst
    M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
    M llvm/include/llvm/ADT/Hashing.h
    M llvm/include/llvm/Analysis/CmpInstAnalysis.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/MIRYamlMapping.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    A llvm/include/llvm/Frontend/Atomic/Atomic.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/Argument.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/LTO/LTOBackend.h
    M llvm/include/llvm/SandboxIR/Instruction.h
    A llvm/include/llvm/SandboxIR/IntrinsicInst.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/PassManager.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/SandboxIR/Value.h
    M llvm/include/llvm/Support/Caching.h
    M llvm/include/llvm/Support/GenericDomTreeConstruction.h
    M llvm/include/llvm/Support/Threading.h
    M llvm/include/llvm/TableGen/Error.h
    M llvm/include/llvm/TableGen/Record.h
    A llvm/include/llvm/TableGen/TGTimer.h
    M llvm/include/llvm/TableGen/TableGenBackend.h
    M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/ARMTargetParser.def
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/Coroutines/CoroSplit.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/CmpInstAnalysis.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MemoryProfileInfo.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
    A llvm/lib/Frontend/Atomic/Atomic.cpp
    A llvm/lib/Frontend/Atomic/CMakeLists.txt
    M llvm/lib/Frontend/CMakeLists.txt
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/MC/CMakeLists.txt
    M llvm/lib/ProfileData/MemProfReader.cpp
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/SandboxIR/Instruction.cpp
    M llvm/lib/SandboxIR/PassManager.cpp
    M llvm/lib/Support/APInt.cpp
    M llvm/lib/Support/Caching.cpp
    M llvm/lib/Support/Unix/Threading.inc
    M llvm/lib/TableGen/CMakeLists.txt
    M llvm/lib/TableGen/DetailedRecordsBackend.cpp
    M llvm/lib/TableGen/Error.cpp
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/SetTheory.cpp
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/lib/TableGen/TGTimer.cpp
    M llvm/lib/TableGen/TableGenBackend.cpp
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
    M llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNILPSched.cpp
    M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
    M llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp
    M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
    M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    M llvm/lib/Target/AMDGPU/R600OpenCLImageTypeLoweringPass.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
    M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/ARM/ARMArchitectures.td
    M llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVGISel.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZk.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
    M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.h
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/Triple.cpp
    A llvm/lib/Transforms/Coroutines/ABI.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroShape.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
    M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/lib/Transforms/Scalar/LoopPassManager.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Analysis/CostModel/PowerPC/vsr_load_32_64.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    A llvm/test/Analysis/CostModel/RISCV/fixed-vector-insert-subvector.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
    A llvm/test/Analysis/CostModel/RISCV/reduce-fmul.ll
    A llvm/test/Analysis/LoopAccessAnalysis/no-dep-via-loop-guards.ll
    M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
    M llvm/test/CodeGen/AArch64/DAGCombine_vscale.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-to-shl.mir
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    A llvm/test/CodeGen/AArch64/icmp-ult-eq-fold.ll
    M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
    A llvm/test/CodeGen/AArch64/selectopt-const.ll
    M llvm/test/CodeGen/AArch64/signed-truncation-check.ll
    M llvm/test/CodeGen/AArch64/sme-disable-rematerialize-with-streaming-mode-changes.ll
    M llvm/test/CodeGen/AArch64/sve-adr.ll
    A llvm/test/CodeGen/AArch64/sve-bf16-arith.ll
    A llvm/test/CodeGen/AArch64/sve-bf16-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-cmp-folds.ll
    M llvm/test/CodeGen/AArch64/sve-dead-masked-store.ll
    M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
    M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fadda-select.ll
    M llvm/test/CodeGen/AArch64/sve-fold-loadext-and-splat-vector.ll
    M llvm/test/CodeGen/AArch64/sve-fp-immediates-merging.ll
    M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
    M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
    M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-log-imm.ll
    M llvm/test/CodeGen/AArch64/sve-int-mulh-pred.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-bfloat.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-fp-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-index.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm-zero.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-compares-with-imm.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret-no-streaming.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-undef.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-while.ll
    M llvm/test/CodeGen/AArch64/sve-knownbits.ll
    M llvm/test/CodeGen/AArch64/sve-splat-one-and-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-splat-sext.ll
    M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
    M llvm/test/CodeGen/AArch64/sve-stepvector.ll
    M llvm/test/CodeGen/AArch64/sve-vecreduce-fold.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mul.ll
    M llvm/test/CodeGen/AArch64/sve2-int-mulh.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
    M llvm/test/CodeGen/AArch64/sve2-sra.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-load-store-pointers.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/branch-condition-and.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    A llvm/test/CodeGen/AMDGPU/commute-op-sel.mir
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
    M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
    A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-IR-lowering.ll
    A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preserve-wwm-copy-dst-reg.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-commute.ll
    A llvm/test/CodeGen/AMDGPU/sdwa-cse.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-regalloc-flags.ll
    M llvm/test/CodeGen/AMDGPU/si-lower-sgpr-spills-vgpr-lanes-usage.mir
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.convergencetokens.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
    A llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
    A llvm/test/CodeGen/DirectX/cross.ll
    A llvm/test/CodeGen/DirectX/radians.ll
    M llvm/test/CodeGen/Generic/llc-start-stop.ll
    A llvm/test/CodeGen/MIR/Generic/machine-function-hasfakeuses-conflict.mir
    M llvm/test/CodeGen/MIR/Generic/machine-function-optionally-computed-properties.mir
    M llvm/test/CodeGen/NVPTX/vector-returns.ll
    M llvm/test/CodeGen/PowerPC/p10-spill-crlt.ll
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/render-vlop-rv64.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/vmclr-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-extract-subvector.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv32.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-splatvector-s64-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr-rv32.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr-rv64.mir
    R llvm/test/CodeGen/RISCV/GlobalISel/regbankselect/rvv/vmclr.mir
    A llvm/test/CodeGen/RISCV/GlobalISel/rvv/splat-vector.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation.ll
    A llvm/test/CodeGen/RISCV/instruction-count-remark.mir
    M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rv32zbs.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64zbs.ll
    M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
    M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
    M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmaccbf16.ll
    M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-to-vmv.mir
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
    A llvm/test/CodeGen/RISCV/stack-guard-global.ll
    A llvm/test/CodeGen/RISCV/stack-guard-tls.ll
    M llvm/test/CodeGen/RISCV/stack-realignment.ll
    A llvm/test/CodeGen/SPIRV/ShaderBufferImage.ll
    A llvm/test/CodeGen/SPIRV/ShaderImage.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/radians.ll
    A llvm/test/CodeGen/SPIRV/opencl/radians.ll
    M llvm/test/CodeGen/SystemZ/inline-thresh-adjust.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
    M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
    M llvm/test/CodeGen/X86/combine-add.ll
    M llvm/test/CodeGen/X86/extract-lowbits.ll
    M llvm/test/CodeGen/X86/mul-constant-i64.ll
    A llvm/test/CodeGen/X86/pr111170.ll
    M llvm/test/CodeGen/X86/replace-load-and-with-bzhi.ll
    M llvm/test/CodeGen/X86/vector-mul.ll
    M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/Xtensa/blockaddress.ll
    A llvm/test/CodeGen/Xtensa/volatile.ll
    M llvm/test/DebugInfo/NVPTX/cu-range-hole.ll
    M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
    M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
    M llvm/test/DebugInfo/NVPTX/debug-empty.ll
    M llvm/test/DebugInfo/NVPTX/debug-file-loc.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/DebugInfo/NVPTX/debug-loc-offset.ll
    M llvm/test/Instrumentation/InstrProfiling/mcdc.ll
    A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_unsafe.ll
    M llvm/test/MC/AArch64/FP8/directive-arch-negative.s
    M llvm/test/MC/AArch64/FP8_SME2/lut.s
    M llvm/test/MC/AArch64/FP8_SME2/movt-diagnostics.s
    M llvm/test/MC/AArch64/FP8_SME2/movt.s
    A llvm/test/MC/WebAssembly/annotations-typecheck.s
    M llvm/test/MC/WebAssembly/annotations.s
    M llvm/test/MC/WebAssembly/basic-assembly.s
    A llvm/test/MC/WebAssembly/block-assembly.s
    M llvm/test/MC/WebAssembly/reference-types.s
    M llvm/test/MC/WebAssembly/type-checker-errors.s
    A llvm/test/TableGen/anonymous-location.td
    M llvm/test/TableGen/assert.td
    M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
    A llvm/test/Transforms/EarlyCSE/replace-calls-def-attrs.ll
    M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
    M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll
    M llvm/test/Transforms/Inline/memprof_inline2.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cvt.ll
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll
    A llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll
    M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
    A llvm/test/Transforms/InstCombine/icmp-equality-test.ll
    A llvm/test/Transforms/InstCombine/icmp-signmask.ll
    A llvm/test/Transforms/InstCombine/new-inst-dbgloc-overwrite.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/LICM/hoist-binop.ll
    A llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-large-width.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved-store-of-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    A llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
    A llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
    M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/revec-getGatherCost.ll
    R llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    R llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract-vectorized-operand.ll
    R llvm/test/Transforms/SLPVectorizer/X86/extract_with_non_const_index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/icmp-altopcode-after-reordering.ll
    R llvm/test/Transforms/SLPVectorizer/X86/insert-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/limit.ll
    A llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll
    R llvm/test/Transforms/SLPVectorizer/X86/operand-is-reduced-val.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduced-gathered-vectorized.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction-min-select.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reduction_loads.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reorder-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/return.ll
    A llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll
    R llvm/test/Transforms/SLPVectorizer/X86/reused-scalar-in-multi-node.ll
    R llvm/test/Transforms/SLPVectorizer/X86/revec-reduction-logical.ll
    R llvm/test/Transforms/SLPVectorizer/X86/same-scalars-reordered-in-reduction.ll
    R llvm/test/Transforms/SLPVectorizer/X86/several_store_chains.ll
    R llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-resized.ll
    R llvm/test/Transforms/SLPVectorizer/X86/splat-buildvector.ll
    R llvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
    R llvm/test/Transforms/SLPVectorizer/X86/vectorize-reordered-list.ll
    A llvm/test/Transforms/SLPVectorizer/addsub.ll
    A llvm/test/Transforms/SLPVectorizer/consecutive-access.ll
    A llvm/test/Transforms/SLPVectorizer/extract-subvector-long-input.ll
    A llvm/test/Transforms/SLPVectorizer/extract-vectorized-operand.ll
    A llvm/test/Transforms/SLPVectorizer/extract_with_non_const_index.ll
    A llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
    A llvm/test/Transforms/SLPVectorizer/icmp-altopcode-after-reordering.ll
    A llvm/test/Transforms/SLPVectorizer/insert-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/limit.ll
    A llvm/test/Transforms/SLPVectorizer/operand-is-reduced-val.ll
    A llvm/test/Transforms/SLPVectorizer/reduced-gathered-vectorized.ll
    A llvm/test/Transforms/SLPVectorizer/reduction-min-select.ll
    A llvm/test/Transforms/SLPVectorizer/reduction_loads.ll
    A llvm/test/Transforms/SLPVectorizer/reorder-node.ll
    A llvm/test/Transforms/SLPVectorizer/return.ll
    A llvm/test/Transforms/SLPVectorizer/reused-scalar-in-multi-node.ll
    A llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/root-trunc-extract-reuse.ll
    A llvm/test/Transforms/SLPVectorizer/same-scalars-reordered-in-reduction.ll
    A llvm/test/Transforms/SLPVectorizer/several_store_chains.ll
    A llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
    A llvm/test/Transforms/SLPVectorizer/splat-buildvector.ll
    A llvm/test/Transforms/SLPVectorizer/vectorize-reorder-alt-shuffle.ll
    A llvm/test/Transforms/SLPVectorizer/vectorize-reordered-list.ll
    M llvm/test/Transforms/SimplifyCFG/sink-cb-diff-attrs.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll
    M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values2.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values5.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values5.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values6.ll
    A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values6.ll.expected
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values5.test
    A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values6.test
    A llvm/test/tools/llvm-dis/multiple-files-equivalent.ll
    M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llvm-dis/llvm-dis.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/AttributesTest.cpp
    M llvm/unittests/IR/ConstantFPRangeTest.cpp
    M llvm/unittests/SandboxIR/CMakeLists.txt
    A llvm/unittests/SandboxIR/IntrinsicInstTest.cpp
    M llvm/unittests/SandboxIR/PassTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/SandboxIR/UtilsTest.cpp
    M llvm/unittests/TableGen/ParserEntryPointTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/UpdateTestChecks/common.py
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lldb/tools/lldb-server/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/SandboxIR/BUILD.gn
    M llvm/utils/lit/lit/TestRunner.py
    A llvm/utils/lit/tests/substitutions.py
    M mlir/docs/Bufferization.md
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
    M mlir/include/mlir/Conversion/ArithToLLVM/ArithToLLVM.h
    M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
    M mlir/include/mlir/Conversion/ComplexToLLVM/ComplexToLLVM.h
    M mlir/include/mlir/Conversion/ComplexToSPIRV/ComplexToSPIRV.h
    M mlir/include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h
    M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.h
    M mlir/include/mlir/Conversion/FuncToLLVM/ConvertFuncToLLVM.h
    M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRV.h
    M mlir/include/mlir/Conversion/GPUToLLVMSPV/GPUToLLVMSPVPass.h
    M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
    M mlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
    M mlir/include/mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h
    M mlir/include/mlir/Conversion/IndexToLLVM/IndexToLLVM.h
    M mlir/include/mlir/Conversion/IndexToSPIRV/IndexToSPIRV.h
    M mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
    M mlir/include/mlir/Conversion/MathToROCDL/MathToROCDL.h
    M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRV.h
    M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
    M mlir/include/mlir/Conversion/MemRefToLLVM/MemRefToLLVM.h
    M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h
    M mlir/include/mlir/Conversion/NVGPUToNVVM/NVGPUToNVVM.h
    M mlir/include/mlir/Conversion/OpenMPToLLVM/ConvertOpenMPToLLVM.h
    M mlir/include/mlir/Conversion/SCFToSPIRV/SCFToSPIRV.h
    M mlir/include/mlir/Conversion/SPIRVToLLVM/SPIRVToLLVM.h
    M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRV.h
    M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
    M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
    M mlir/include/mlir/Conversion/UBToLLVM/UBToLLVM.h
    M mlir/include/mlir/Conversion/UBToSPIRV/UBToSPIRV.h
    M mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
    M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRV.h
    M mlir/include/mlir/Dialect/AMX/Transforms.h
    M mlir/include/mlir/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
    M mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
    M mlir/include/mlir/Dialect/Func/Transforms/DecomposeCallGraphTypes.h
    M mlir/include/mlir/Dialect/Func/Transforms/FuncConversions.h
    M mlir/include/mlir/Dialect/Func/Transforms/OneToNFuncConversions.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
    M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/Dialect/X86Vector/Transforms.h
    M mlir/include/mlir/IR/AttrTypeBase.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CommonTypeConstraints.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/Interfaces/VectorInterfaces.td
    M mlir/include/mlir/TableGen/GenInfo.h
    M mlir/include/mlir/Transforms/OneToNTypeConversion.h
    M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/AsmParser/TokenKinds.def
    M mlir/lib/AsmParser/TypeParser.cpp
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
    M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
    M mlir/lib/Conversion/ComplexToLLVM/ComplexToLLVM.cpp
    M mlir/lib/Conversion/ComplexToSPIRV/ComplexToSPIRV.cpp
    M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
    M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRV.cpp
    M mlir/lib/Conversion/ConvertToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRV.cpp
    M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
    M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
    M mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
    M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
    M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
    M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
    M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
    M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
    M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRV.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
    M mlir/lib/Conversion/UBToLLVM/UBToLLVM.cpp
    M mlir/lib/Conversion/UBToSPIRV/UBToSPIRV.cpp
    M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
    M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Arith/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
    M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
    M mlir/lib/Dialect/Func/Transforms/DecomposeCallGraphTypes.cpp
    M mlir/lib/Dialect/Func/Transforms/FuncConversions.cpp
    M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/FoldAddIntoDest.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Math/Transforms/ExtendToSupportedTypes.cpp
    M mlir/lib/Dialect/MemRef/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateWideInt.cpp
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SCF/Transforms/OneToNTypeConversion.cpp
    M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
    M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseStorageSpecifierToLLVM.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/Location.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    M mlir/lib/Target/SPIRV/Serialization/CMakeLists.txt
    M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/extras/types.py
    M mlir/test/Conversion/MemRefToLLVM/convert-static-memref-ops.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    A mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir
    A mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
    M mlir/test/Dialect/Arith/int-range-interface.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    A mlir/test/Dialect/Linalg/fold-add-into-dest.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/Polynomial/attributes.mlir
    M mlir/test/Dialect/Vector/invalid.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
    M mlir/test/IR/attribute.mlir
    M mlir/test/IR/invalid-locations.mlir
    M mlir/test/IR/locations.mlir
    M mlir/test/IR/pretty-locations.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-collapse-tensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-expand-tensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-subtensor-insert.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-e2e.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
    R mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/dump-ptx.mlir
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
    A mlir/test/Integration/GPU/CUDA/dump-ptx.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Transforms/remove-dead-values.mlir
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/python/ir/builtin_types.py
    M mlir/test/tblgen-to-irdl/TestDialect.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/BytecodeDialectGen.cpp
    M mlir/tools/mlir-tblgen/DialectGen.cpp
    M mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
    M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
    M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
    M mlir/tools/mlir-tblgen/OmpOpGen.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpDocGen.cpp
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.h
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
    M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
    M mlir/tools/mlir-tblgen/PassCAPIGen.cpp
    M mlir/tools/mlir-tblgen/PassDocGen.cpp
    M mlir/tools/mlir-tblgen/PassGen.cpp
    M mlir/tools/mlir-tblgen/RewriterGen.cpp
    M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
    M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
    M mlir/unittests/IR/CMakeLists.txt
    A mlir/unittests/IR/LocationTest.cpp
    M mlir/utils/lldb-scripts/mlirDataFormatters.py
    M mlir/utils/tree-sitter-mlir/grammar.js
    M offload/test/libc/host_call.c
    M runtimes/cmake/Modules/WarningFlags.cmake
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Address comments, Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/8524b47a52f6...415690f68532

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