[all-commits] [llvm/llvm-project] 0fe846: SLPVectorizer: strip bad FIXME (NFC) (#122888)

Victor Campos via All-commits all-commits at lists.llvm.org
Wed Jan 15 05:00:59 PST 2025


  Branch: refs/heads/users/vhscampos/multilib-flags-processing
  Home:   https://github.com/llvm/llvm-project
  Commit: 0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
      https://github.com/llvm/llvm-project/commit/0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  SLPVectorizer: strip bad FIXME (NFC) (#122888)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of the FIXME it introduced in SLPVectorizer: the FIXME is bad, and we'd
get no testable impact by using CmpPredicate::getMatching here.


  Commit: b87fdd9ce612d53b0e0b73d7c062b39a042e8629
      https://github.com/llvm/llvm-project/commit/b87fdd9ce612d53b0e0b73d7c062b39a042e8629
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/src/CMakeLists.txt

  Log Message:
  -----------
  [libcxx] Reindent a section of a CMake file. NFC. (#122800)

This was missed in 43ba97e7079525a9686e15a6963508dfbd493f81 (#111821)
when reindenting after
917ada35cd937ad4104dff89c48398bd796ba6b7 (#80007).


  Commit: e87f94a6a806a941242506680f88573d6a87a828
      https://github.com/llvm/llvm-project/commit/e87f94a6a806a941242506680f88573d6a87a828
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang/lib/Basic/SourceManager.cpp
    M flang/test/HLFIR/associate-codegen.fir
    M libc/test/src/unistd/getopt_test.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Target/StructuredDataPlugin.cpp
    M lldb/unittests/Target/RegisterFlagsTest.cpp
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/test/CodeGen/AArch64/eon.ll
    M llvm/test/DebugInfo/X86/multiple-at-const-val.ll
    M llvm/test/Transforms/EarlyCSE/guards.ll
    M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Transforms/mem2reg.mlir
    M mlir/test/Transforms/sroa.mlir

  Log Message:
  -----------
  [llvm-project] Fix typos mutli and mutliple. NFC. (#122880)


  Commit: e409204a89c7fb1d1c040c18fac2fa8db9dfe893
      https://github.com/llvm/llvm-project/commit/e409204a89c7fb1d1c040c18fac2fa8db9dfe893
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll

  Log Message:
  -----------
  VectorCombine: teach foldExtractedCmps about samesign (#122883)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.


  Commit: aae259208a2dae815112638eab52023a8526c338
      https://github.com/llvm/llvm-project/commit/aae259208a2dae815112638eab52023a8526c338
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVersioning/incorrect-phi.ll

  Log Message:
  -----------
  LoopVersioning: improve a test, regen with UTC (#122876)

Improve a test by replacing undef with poison, and regenerate it using
UpdateTestChecks.


  Commit: 6a9e9878a200a6e494beed8944d6d08347945727
      https://github.com/llvm/llvm-project/commit/6a9e9878a200a6e494beed8944d6d08347945727
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - ensure potential identity mask isn't length changing.


  Commit: fabc443e9394e460d328984d75570d9f017fe709
      https://github.com/llvm/llvm-project/commit/fabc443e9394e460d328984d75570d9f017fe709
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (#116051)

This patch introduces a `TargetKernelRuntimeAttrs` structure to hold
host-evaluated `num_teams`, `thread_limit`, `num_threads` and trip count
values passed to the runtime kernel offloading call.

Additionally, kernel type information is used to influence target device
code generation and the `IsSPMD` flag is replaced by `ExecFlags`, which
provides more granularity.


  Commit: d0b641b7e2a9b4120c11fc60b111a657b0420176
      https://github.com/llvm/llvm-project/commit/d0b641b7e2a9b4120c11fc60b111a657b0420176
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Propagate attributes to outlined target regions (#117875)

This patch copies the target-cpu and target-features attributes of
functions containing target regions into the corresponding outlined
function holding the target region.

This mirrors what is currently being done for all other outlined
functions through the `CodeExtractor` in `OpenMPIRBuilder::finalize()`.


  Commit: be96bd74f8eae5637033e4e05fcbf2a693ce8334
      https://github.com/llvm/llvm-project/commit/be96bd74f8eae5637033e4e05fcbf2a693ce8334
  Author: Kirill Chibisov <contact at kchibisov.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/declare_func.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/if.mlir
    A mlir/test/Target/Cpp/no_extra_semicolon.mlir
    M mlir/test/Target/Cpp/switch.mlir

  Log Message:
  -----------
  [mlir][emitc] Don't emit extra semicolon after bracket (#122464)

Extra semicolons were emitted for operations that should never have
them, since not every place was checking whether semicolon would be
actually needed.

Thus change the emitOperation to ignore trailingSemicolon field for such
operations.


  Commit: f879da799b4e112d79243dde6d299259d8359eeb
      https://github.com/llvm/llvm-project/commit/f879da799b4e112d79243dde6d299259d8359eeb
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt

  Log Message:
  -----------
  [mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)

This fixes a conflict between the version of LLVM linked against by the
runner and the unrelated version of LLVM that may be dynamically loaded
by a graphics driver. (Relevant to #73457: fixes loading certain Vulkan
drivers.)


  Commit: 30f9a4f75412850d603fde29b59d27dd9d31f380
      https://github.com/llvm/llvm-project/commit/30f9a4f75412850d603fde29b59d27dd9d31f380
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c

  Log Message:
  -----------
  [OpenMP] codegen support for masked combined construct parallel masked taskloop simd. (#121746)

Added codegen support for combined masked constructs `Parallel masked
taskloop simd`.
Added implementation for `EmitOMPParallelMaskedTaskLoopSimdDirective`.

Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>


  Commit: 0d71b3e4031e7b18a5947bdea076839e5a56d202
      https://github.com/llvm/llvm-project/commit/0d71b3e4031e7b18a5947bdea076839e5a56d202
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp

  Log Message:
  -----------
  [CodeGen] Remove unused argument from getCoveringSubRegIndexes. NFC. (#122884)


  Commit: d2d4c3bd598453a1d871096466953ec25483034f
      https://github.com/llvm/llvm-project/commit/d2d4c3bd598453a1d871096466953ec25483034f
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/target-filtering.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
    M mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-host.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] LLVM IR translation of host_eval (#116052)

This patch adds support for processing the `host_eval` clause of
`omp.target` to populate default and runtime kernel launch attributes.
Specifically, these related to the `num_teams`, `thread_limit` and
`num_threads` clauses attached to operations nested inside of
`omp.target`. As a result, the `thread_limit` clause of `omp.target` is
also supported.

The implementation of `initTargetDefaultAttrs()` is intended to reflect
clang's own processing of multiple constructs and clauses in order to
define a default number of teams and threads to be used as kernel
attributes and to populate global variables in the target device module.

One side effect of this change is that it is no longer possible to
translate to LLVM IR target device MLIR modules unless they have a
supported target triple. This is because the local `getGridValue()`
function in the `OpenMPIRBuilder` only works for certain architectures,
and it is called whenever the maximum number of threads has not been
explicitly defined. This limitation also matches clang.

Evaluating the collapsed loop trip count of SPMD and Generic-SPMD
kernels remains unsupported.


  Commit: 6c7a53b78fd695ee58ea42d21362f6fa861eb37e
      https://github.com/llvm/llvm-project/commit/6c7a53b78fd695ee58ea42d21362f6fa861eb37e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Path.h

  Log Message:
  -----------
  [llvm] Add lifetimebound to llvm::sys::path::filename, etc. (#122890)


  Commit: 0bd098b1cce62ad63eb63f7e57c3a55ccfaf7e0c
      https://github.com/llvm/llvm-project/commit/0bd098b1cce62ad63eb63f7e57c3a55ccfaf7e0c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll

  Log Message:
  -----------
  [X86] Fold VPERMV3(WIDEN(X),M,WIDEN(Y)) -> VPERMV(CONCAT(X,Y),M') iff the CONCAT is free (#122750)

Minor followup to #122485 - if the source operands were widened half-size subvectors, then attempt to concatenate the subvectors directly, and then adjust the shuffle mask so references to the second operand now refer to the upper half of the concat result.


  Commit: 1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
      https://github.com/llvm/llvm-project/commit/1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [MemCpyOpt] Use doesNotCapture() helper (NFC)

No difference in semantics here as byval is already handled
separately. This simplifies migration to the captures attribute.


  Commit: 428c8767ae997b0f726c0b40160ea8172551babf
      https://github.com/llvm/llvm-project/commit/428c8767ae997b0f726c0b40160ea8172551babf
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    M libcxxabi/include/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Stop copying headers to the build directory (#115380)

This was needed before https://github.com/llvm/llvm-project/pull/115077
since the compiler-rt test build made assumptions about the build
layout of libc++ and libc++abi, but now they link against a local
installation of these libraries so we no longer need this workaround.


  Commit: d8d30a96031bfdad3e2c424e14a4247c14980cb5
      https://github.com/llvm/llvm-project/commit/d8d30a96031bfdad3e2c424e14a4247c14980cb5
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/tools/mlir-cpu-runner/CMakeLists.txt

  Log Message:
  -----------
  Revert "[mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)"

This reverts commit f879da799b4e112d79243dde6d299259d8359eeb. The change
to not export certain symbols apparently broke the UBsan/Asan buildbot,
because the DSO for the sanitizer wants to link to them.


  Commit: 8fe11a26ae8f12622ddec83a7b80637080843a8b
      https://github.com/llvm/llvm-project/commit/8fe11a26ae8f12622ddec83a7b80637080843a8b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Common/OpenMP-utils.h
    M flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/host-eval.f90
    A flang/test/Lower/OpenMP/target-spmd.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h

  Log Message:
  -----------
  [Flang][OpenMP] Lowering of host-evaluated clauses (#116219)

This patch adds support for lowering OpenMP clauses and expressions
attached to constructs nested inside of a target region that need to be
evaluated in the host device. This is done through the use of the
`OpenMP_HostEvalClause` `omp.target` set of operands and entry block
arguments.

When lowering clauses for a target construct, a more involved
`processHostEvalClauses()` function is called, which looks at the
current and potentially other nested constructs in order to find and
lower clauses that need to be processed outside of the `omp.target`
operation under construction. This populates an instance of a global
structure with the resulting MLIR values.

The resulting list of host-evaluated values is used to initialize the
`host_eval` operands when constructing the `omp.target` operation, and
then replaced with the corresponding block arguments after creating that
operation's region.

Afterwards, while lowering nested operations, those that might
potentially be evaluated on the host (i.e. `num_teams`, `thread_limit`,
`num_threads` and `collapse`) check first whether there is an active
global host-evaluated information structure and whether it holds values
referring to these clauses. If that is the case, the stored values
(`omp.target` entry block arguments at that stage) are used instead of
lowering these clauses again.


  Commit: 310c281b020b169e760ca75f878f5873ffbb2a9f
      https://github.com/llvm/llvm-project/commit/310c281b020b169e760ca75f878f5873ffbb2a9f
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    A flang/include/flang/Support/StringOstream.h
    A flang/include/flang/Support/Timing.h
    M flang/lib/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    A flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Timing.cpp
    A flang/test/Driver/time-report.f90

  Log Message:
  -----------
  [flang][Driver] Preliminary support for -ftime-report (#122894)

The behavior is not entirely consistent with that of clang for the
moment since detailed timing information on the LLVM IR optimization and
code generation passes is not provided. The -ftime-report= option is
also not enabled since that is only relevant for information about the
LLVM IR passes. However, some code to handle that option has been
included, to make it easier to support the option when the issues
blocking it are resolved. A FortranSupport library has been created that
is intended to mirror the LLVM and MLIR support libraries.

Based on @tarunprabhu's PR
https://github.com/llvm/llvm-project/pull/107270 with minor changes
addressing latest review feedback. He's busy and we'd like to get this
support in ASAP.

Co-authored-by: Tarun Prabhu <tarun.prabhu at gmail.com>


  Commit: 8f6867c9c6247b394749729757a1ab9acbfa78e6
      https://github.com/llvm/llvm-project/commit/8f6867c9c6247b394749729757a1ab9acbfa78e6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/target-filtering.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90

  Log Message:
  -----------
  [Flang] Add triple requirement for failing tests, NFC (#122898)

Fix Fortran test failures caused by the introduction of the
amdgcn-amd-amdhsa target triple in #116052.


  Commit: c1de9b920935e7d2fcc8dd7b39c1b7285783e948
      https://github.com/llvm/llvm-project/commit/c1de9b920935e7d2fcc8dd7b39c1b7285783e948
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  [clang][bytecode] Mark global decls with diagnostics invalid (#122895)

Even if their evaluation succeeds, mark them as invalid. This fixes some
long standing differences to the ast walker interpeter.


  Commit: f925e5455415d69df5716a25ceff377989603c0a
      https://github.com/llvm/llvm-project/commit/f925e5455415d69df5716a25ceff377989603c0a
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll

  Log Message:
  -----------
  [VPlan] Fix mutating whilst iterating over users in EVL transform (#122885)

This fixes a miscompilation extracted from 525.x264_r, where we were
failing to update the runtime VF of a VPReverseVectorPointerRecipe.

We were removing a use of VF whilst iterating over the users() iterator,
which messed up the iterator in-flight and caused us to miss some
recipes. This fixes it by copying the users into a SmallVector first.

Fixes #122681
Fixes #122682


  Commit: da9df6c52a81a29302e45fd77b8dec6b4ae3b5b7
      https://github.com/llvm/llvm-project/commit/da9df6c52a81a29302e45fd77b8dec6b4ae3b5b7
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    A llvm/test/MachineVerifier/stack-protector-offset.mir

  Log Message:
  -----------
  MachineVerifier: Check stack protector is top-most in frame (#122635)

Mitigate against potential bugs that might place it elsewhere and render
the mechanism useless.


  Commit: 5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
      https://github.com/llvm/llvm-project/commit/5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa.s
    M llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/utmopa.s
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [LLVM][AArch64] Add new feature +sme-mop4 and +sme-tmop (#121935)

The 2024-12 ISA spec release[1] add these features:
FEAT_SME_MOP4(sme-mop4) to enable SME Quarter-tile outer product
instructions
and
FEAT_SME_TMOP(sme-tmop) to enable SME Structured sparsity outer product
instructions
to allow these instructions to be available outside Armv9.6/sme2p2

[1]
https://developer.arm.com/Architectures/A-Profile%20Architecture#Downloads


  Commit: 2d760a139ef11b31c58fa270878585961cb67cb7
      https://github.com/llvm/llvm-project/commit/2d760a139ef11b31c58fa270878585961cb67cb7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/Transforms/FunctionAttrs/initializes.ll

  Log Message:
  -----------
  [FunctionAttrs] Add test for initializes + byval (NFC)


  Commit: b6eb6a87cf04d8e8e8e323e4d77a38e92a6afc3e
      https://github.com/llvm/llvm-project/commit/b6eb6a87cf04d8e8e8e323e4d77a38e92a6afc3e
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp

  Log Message:
  -----------
  [FunctionAttrs] Use doesNotCapture()

To be conservative, explicitly exclude byval arguments, which
doesNotCapture() would otherwise allow. Even if byval has an
initializes attribute, it would only apply to the implicit
copy.


  Commit: a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
      https://github.com/llvm/llvm-project/commit/a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy][doc] fix incorrectly performance-unnecessary-copy-initialization link in release note (#122910)


  Commit: 7900769985ee4994870f7dfb2a505b8c41b38740
      https://github.com/llvm/llvm-project/commit/7900769985ee4994870f7dfb2a505b8c41b38740
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [llvm][Docs] Add a release note about the lldb DWARF indexing speedup (#122870)

The figure includes works that's already committed. In does not include
the WIP/RFC proposal in
https://discourse.llvm.org/t/rfc-speeding-up-dwarf-indexing-again/83979.


  Commit: 5e26ff35c14778a728cd3ee7e70d61529bf49661
      https://github.com/llvm/llvm-project/commit/5e26ff35c14778a728cd3ee7e70d61529bf49661
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC] true16 for v_cmp_lt_f16 (#122499)

True16 format for v_cmp_lt_f16. Update VOPC t16 and fake16 pseudo.


  Commit: b1751faada35e3456b2a3f6b6c9559b5d74d559b
      https://github.com/llvm/llvm-project/commit/b1751faada35e3456b2a3f6b6c9559b5d74d559b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Target/MemoryRegionInfo.cpp
    A lldb/test/API/linux/aarch64/gcs/Makefile
    A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/main.c
    M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
    M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp

  Log Message:
  -----------
  [lldb][Linux] Mark memory regions used for shadow stacks (#117861)

This is intended for use with Arm's Guarded Control Stack extension
(GCS). Which reuses some existing shadow stack support in Linux. It
should also work with the x86 equivalent.

A "ss" flag is added to the "VmFlags" line of shadow stack memory
regions in `/proc/<pid>/smaps`. To keep the naming generic I've called
it shadow stack instead of guarded control stack.

Also the wording is "shadow stack: yes" because the shadow stack region
is just where it's stored. It's enabled for the whole process or it
isn't. As opposed to memory tagging which can be enabled per region, so
"memory tagging: enabled" fits better for that.

I've added a test case that is also intended to be the start of a set of
tests for GCS. This should help me avoid duplicating the inline assembly
needed.

Note that no special compiler support is needed for the test. However,
for the intial enabling of GCS (assuming the libc isn't doing it) we do
need to use an inline assembly version of prctl.

This is because as soon as you enable GCS, all returns are checked
against the GCS. If the GCS is empty, the program will fault. In other
words, you can never return from the function that enabled GCS, unless
you push values onto it (which is possible but not needed here).

So you cannot use the libc's prctl wrapper for this reason. You can use
that wrapper for anything else, as we do to check if GCS is enabled.


  Commit: 438e2ccd4ad18d23fc800d0ad9f4f667a547f868
      https://github.com/llvm/llvm-project/commit/438e2ccd4ad18d23fc800d0ad9f4f667a547f868
  Author: PaulXiCao <paulxicao7 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/algorithm
    M libcxx/include/module.modulemap
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp

  Log Message:
  -----------
  [libc++] Make std::stable_sort constexpr friendly (#110320)

Implementing `constexpr std::stable_sort`. This is part of P2562R1,
tracked via issue #105360.

Closes #119394

Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: e03c435d2a4900eb442c1f68b044c21cbc89acbe
      https://github.com/llvm/llvm-project/commit/e03c435d2a4900eb442c1f68b044c21cbc89acbe
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp

  Log Message:
  -----------
  [libc++] Fix `tuple_cat` for element with unconstrained constructor (#122433)

Currently, when the result type is 1-`tuple`, `tuple_cat` possibly tests
an undesired constructor of the element, due to conversion from the
reference tuple to the result type. If the element type has an
unconstrained constructor template, there can be extraneous hard error
which shouldn't happen.

This patch introduces a helper function template to select the element-wise
constructor template of `tuple`, which can avoid such error.

Fixes #41034.


  Commit: f4aec22e4776218d2d94f5357e19897bc2e726d4
      https://github.com/llvm/llvm-project/commit/f4aec22e4776218d2d94f5357e19897bc2e726d4
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Fix async only api on data entry operations (#122818)

Data entry operations which are created from constructs with async
clause that has no value (aka `acc data copyin(var) async`) end up
holding an attribute array named to keep track of this information.
However, in cases where `async` clause is not used, calling
`hasAsyncOnly` ends up crashing since this attribute is not set.

Thus, to fix this issue, ensure that we check for this attribute before
trying to walk the attribute array.


  Commit: 493c066a3dd8cbd665cf4065abf15e9f3c63741f
      https://github.com/llvm/llvm-project/commit/493c066a3dd8cbd665cf4065abf15e9f3c63741f
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__bit_reference
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/bitset
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Fix ambiguity due to non-uglified member typedefs (#121664)

This PR fixes the ambiguities in name lookup caused by non-standard
member typedefs `size_type` and `difference_type` in `std::bitset`.

Follows up #121620.
Closes #121618.


  Commit: fbef1f835f0381a71362199840bee9ec491e3918
      https://github.com/llvm/llvm-project/commit/fbef1f835f0381a71362199840bee9ec491e3918
  Author: sstwcw <su3e8a96kzlver at posteo.net>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang-format][NFC] Make formatting Verilog faster (#121139)

A regular expression was used in the lexing process. It made the program
take more than linear time with regards to the length of the input. It
looked like the entire buffer could be scanned for every token lexed.
Now the regular expression is replaced with code. Previously it took 20
minutes for the program to format 125 000 lines of code on my computer.
Now it takes 315 milliseconds.


  Commit: df40b056f1e956a25b8121174d0b42bf1b5c7732
      https://github.com/llvm/llvm-project/commit/df40b056f1e956a25b8121174d0b42bf1b5c7732
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir

  Log Message:
  -----------
  [mlir][nfc] Update 2 tests for PadOpVectorizationWithTransferWritePattern (#122721)

* Relocates two tests for `PadOpVectorizationWithTransferWritePattern`
  in "vectorization-pad-patterns.mlir" to group them with other tests
  for the same pattern.
* Adds a note clarifying that these are negative tests and explains the
  reasoning behind them.
* Removes `transform.apply_patterns.linalg.decompose_pad` from the TD
  sequences as it's no longer needed (*).

This is essentially a small clean-up in preparation for upcoming
changes.

(*) `transform.apply_patterns.linalg.decompose_pad` was split off from
`transform.apply_patterns.linalg.pad_vectorization` in #117329.
"vectorization-pad-patterns.mlir" is meant to test the latter, not the
former.


  Commit: d305fd0b09b1bd7c29640e072c58567ecf2f5026
      https://github.com/llvm/llvm-project/commit/d305fd0b09b1bd7c29640e072c58567ecf2f5026
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [flang][AIX] filter out __builtin_c_devptr for generating packed type (#122812)


  Commit: 2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
      https://github.com/llvm/llvm-project/commit/2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/test/Lower/math-lowering/cosh.f90
    M flang/test/Lower/trigonometric-intrinsics.f90

  Log Message:
  -----------
  [Flang] Generate math.cosh op for non-precise cosh intrinsic calls (#122292)

This patch changes the codgegn for non-precise cosh calls to generate
math.cosh ops. This wasn't done before because the math dialect did not
have a cosh operation at the time.


  Commit: 4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
      https://github.com/llvm/llvm-project/commit/4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp

  Log Message:
  -----------
  [AMDGPULowerBufferFatPointers] Use typeIncompatible() (#122902)

Use typeIncompatible() to drop attributes incompatible with the new
argument/return type, instead of keeping a custom list.


  Commit: f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
      https://github.com/llvm/llvm-project/commit/f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Undo sub(x,c) to add in true16 flow (#118854)

Undo sub x, c -> add x, -c canonicalization in true16 fow.

This duplicating the pattern from fake16 and implemement the same
pattern in true16 format


  Commit: 0fb0ac708a581e795c78b7838e10305d80a25c67
      https://github.com/llvm/llvm-project/commit/0fb0ac708a581e795c78b7838e10305d80a25c67
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp

  Log Message:
  -----------
  [OMPIRBuilder] Simplify error handling while emitting target calls, NFC (#122477)

The OMPIRBuilder uses `llvm::Error`s to allow callbacks passed to it to
signal errors and prevent OMPIRBuilder functions to continue after one
has been triggered. This means that OMPIRBuilder functions taking
callbacks needs to be able to forward these errors, which must always be
checked.

However, in cases where these functions are called from within the
OMPIRBuilder with callbacks also defined inside of it, it can be known
in advance that no errors will be produced. This is the case of those
defined in `emitTargetCall`.

This patch introduces calls to the `cantFail` function instead of the
previous superfluous checks that still assumed calls wouldn't fail,
making these assumptions more obvious and simplifying their
implementation.


  Commit: 87750c9de4b7bd71539bfadd61c10317235da138
      https://github.com/llvm/llvm-project/commit/87750c9de4b7bd71539bfadd61c10317235da138
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] foldPermuteOfBinops - match identity shuffles only if they match the destination type

Fixes regression identified after #122118


  Commit: 193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
      https://github.com/llvm/llvm-project/commit/193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Don't infer call-site nocapture on atoi

This is already inferred on the function declaration by BLC, there
is no need to also do it at the call-site.


  Commit: 58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
      https://github.com/llvm/llvm-project/commit/58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/test/AST/ByteCode/cxx11.cpp

  Log Message:
  -----------
  [clang][bytecode] Add init link for the RVO ptr (#122904)


  Commit: 97cf5aa1b2459b91ce402f2e4f64af3587824fcf
      https://github.com/llvm/llvm-project/commit/97cf5aa1b2459b91ce402f2e4f64af3587824fcf
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [Clang] Add AArch64 SME changes to release notes (NFC) (#122899)


  Commit: 616007d88f06f0c523239151d5e52bd4ec61db96
      https://github.com/llvm/llvm-project/commit/616007d88f06f0c523239151d5e52bd4ec61db96
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/info-sec.s

  Log Message:
  -----------
  [LLD][COFF] Skip sections marked as IMAGE_SCN_LNK_INFO in the output image (#122752)

Fixes #106275.


  Commit: 091adb8807decb4fa1b4e58eba141a06058eb804
      https://github.com/llvm/llvm-project/commit/091adb8807decb4fa1b4e58eba141a06058eb804
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake

  Log Message:
  -----------
  [libc][cmake] move _get_{common|hermetic}_test_compile_options to LLVMLibCTestRules.cmake (#122549)

They're only used in that file, which is more appropriate than
LLVMLibCCompileOptionRules.cmake since they're strictly related to tests.

Remove unused flags param from _get_hermetic_test_compile_options, and flags
that were already set by a prior call to _get_common_test_compile_options.


  Commit: 0298e58c7dd1fa76b98ff270cdb9e0eba4949185
      https://github.com/llvm/llvm-project/commit/0298e58c7dd1fa76b98ff270cdb9e0eba4949185
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__vector/vector.h
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp

  Log Message:
  -----------
  [libc++] Optimize input_iterator-pair `insert` for std::vector (#113768)

As a follow-up to #113852, this PR optimizes the performance of the
`insert(const_iterator pos, InputIt first, InputIt last)` function for
`input_iterator`-pair inputs in `std::vector` for cases where
reallocation occurs during insertion. Additionally, this optimization
enhances exception safety by replacing the traditional `try-catch`
mechanism with a modern exception guard for the `insert` function.

The optimization targets cases where insertion trigger reallocation. In
scenarios without reallocation, the implementation remains unchanged.

Previous implementation
-----------------------
The previous implementation of `insert` is inefficient in reallocation
scenarios because it performs the following steps separately:
- `reserve()`: This leads to the first round of relocating old
elements to new memory;
- `rotate()`: This leads to the second round of reorganizing the
existing elements;
- Move-forward: Moves the elements after the insertion position to
their final positions.
- Insert: performs the actual insertion.

This approach results in a lot of redundant operations, requiring the
elements to undergo three rounds of relocations/reorganizations to be
placed in their final positions.

Proposed implementation
-----------------------
The proposed implementation jointly optimize the above 4 steps in the
previous implementation such that each element is placed in its final
position in just one round of relocation. Specifically, this
optimization reduces the total cost from 2 relocations + 1 std::rotate
call to just 1 relocation, without needing to call `std::rotate`,
thereby significantly improving overall performance.


  Commit: b74d3e179d6d1d8aad65a7ee8d359defd94a8ec1
      https://github.com/llvm/llvm-project/commit/b74d3e179d6d1d8aad65a7ee8d359defd94a8ec1
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll

  Log Message:
  -----------
  [SPIR-V] Specify target environment in tests referring to the BuiltIn WorkgroupSize variable (#122755)

https://github.com/KhronosGroup/SPIRV-Tools/pull/5407 introduces a check
for WorkgroupSize variable to be a 3-component 32-bit int vector, and
indeed, we see this requirement in
https://registry.khronos.org/vulkan/specs/latest/man/html/WorkgroupSize.html#VUID-WorkgroupSize-WorkgroupSize-04427

However, OpenCL imposes different requirements, documented here:
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables
OpenCL environment requires WorkgroupSize variable to have components of
size_t size that will be 32 or 64 depending on a target. This is the way
how the SPIR-V Backend implements this, by querying pointer size of the
current platform/target.

To allow spirv-val to account target environments difference, this PR
adds `--target-env <env>` to test cases referring to the BuiltIn
WorkgroupSize variable.


  Commit: c2771ca284124861de76ba1853ac4f26e09b8497
      https://github.com/llvm/llvm-project/commit/c2771ca284124861de76ba1853ac4f26e09b8497
  Author: Prashanth <TheStarOne01 at proton.me>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/sys/resource.yaml

  Log Message:
  -----------
  [libc][docs] Add sys/resource header's implementation status (#122563)

### Add sys/resource header's implementation status ( #122006 )

#### Changes:
1. **CMakeLists.txt**: Added `sys/resource` to the list of documentation
directories.
2. **index.rst**: Included `sys/resource` in the documentation index.
3. **resource.yaml**: Created a new YAML file for `sys/resource` with
functions and macros which manages system resources.

This PR adds documentation support for the `sys/resource` header,
including functions and macros as per the latest POSIX standards.


  Commit: 9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
      https://github.com/llvm/llvm-project/commit/9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    A llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll

  Log Message:
  -----------
  [SPIR-V] Ensure no uses of intrinsic global variables after module translation (#122729)

Ensure that the backend satisfies the requirement of the verifier that
disallows uses of intrinsic global variables. This PR fixes
https://github.com/llvm/llvm-project/issues/110495


  Commit: 539b15b41a6a01017c0a555e89b7d2b62ba194d2
      https://github.com/llvm/llvm-project/commit/539b15b41a6a01017c0a555e89b7d2b62ba194d2
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/docs/CMakeLists.txt
    M libc/docs/headers/index.rst
    A libc/utils/docgen/pthread.yaml

  Log Message:
  -----------
  [libc][docs] stub out pthread.h support (#122497)

Link: #122006


  Commit: c33486954bd1404495581e42ed62428fb7abeae9
      https://github.com/llvm/llvm-project/commit/c33486954bd1404495581e42ed62428fb7abeae9
  Author: Zack Johnson <zacklj89 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.cpp
    A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp

  Log Message:
  -----------
  [ASan] Change strdup interceptor to allow null input on Windows (#122803)

[These are the MS
Docs](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strdup-wcsdup-mbsdup?view=msvc-170)
regarding `strdup`, but they don't explicitly mention this. The SAL
annotations on `strdup` do, though, with the input parameter being
marked `_In_opt_z_`.


  Commit: 8d9dcd111e5ced8135387917859dd64d67886be0
      https://github.com/llvm/llvm-project/commit/8d9dcd111e5ced8135387917859dd64d67886be0
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

  Log Message:
  -----------
  [compiler-rt] fseek interception update. (#122795)

fseek api is POSIX.

to also address #122163


  Commit: fbb4697c3f08dc3ef69e718b3c43dde494018de3
      https://github.com/llvm/llvm-project/commit/fbb4697c3f08dc3ef69e718b3c43dde494018de3
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/barrier
    M libcxx/src/barrier.cpp
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp

  Log Message:
  -----------
  [libc++] Remove unused _LIBCPP_HAS_NO_TREE_BARRIER macro and associated dead code (#122769)

That macro was present in the original implementation of the
synchronization library, but it was never defined and so it's
effectively unused.


  Commit: 06c6baeb521e321ffcb60fc0a411451e987cd98b
      https://github.com/llvm/llvm-project/commit/06c6baeb521e321ffcb60fc0a411451e987cd98b
  Author: Deric Cheung <cheung.deric at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
    A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl

  Log Message:
  -----------
  [HLSL] Implement D3DCOLORtoUBYTE4 intrinsic (#122202)

Fixes #99092.

1. Defines the function `D3DCOLORtoUBYTE4` in
`clang/lib/Headers/hlsl/hlsl_intrinsics.h`.
2. Implements the function `D3DCOLORtoUBYTE4` as `d3d_color_to_ubyte4`
in `clang/lib/Headers/hlsl/hlsl_detail.h`
3. Adds a HLSL codegen test to
`clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl`
4. Adds sema tests to
`clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl`


  Commit: a0bd40e5a3df94229ec06243f2958289071ca75c
      https://github.com/llvm/llvm-project/commit/a0bd40e5a3df94229ec06243f2958289071ca75c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/test/AST/ByteCode/arrays.cpp
    M clang/test/AST/ByteCode/cxx23.cpp

  Log Message:
  -----------
  Revert "[clang][bytecode] Mark global decls with diagnostics invalid (#122895)"

This reverts commit c1de9b920935e7d2fcc8dd7b39c1b7285783e948.

It looks like this breaks the memory-sanitizer builder:
https://lab.llvm.org/buildbot/#/builders/94/builds/3745


  Commit: 692c77f2af133874f18942fe8c32f0f072bfc02b
      https://github.com/llvm/llvm-project/commit/692c77f2af133874f18942fe8c32f0f072bfc02b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/docs/build_and_test.rst
    R libc/docs/c23.rst
    R libc/docs/fullbuild_mode.rst
    A libc/docs/getting_started.rst
    M libc/docs/index.rst
    M libc/docs/porting.rst
    R libc/docs/usage_modes.rst

  Log Message:
  -----------
  [libc][docs] reorder docs to be more beginner friendly (#122376)

This commit does a few things, with the intent to make it more straightforward
to potential future users how to get started with llvm-libc. Answers to "What's
the status and how do I use it?" are front and center, "above the fold."

This commit does a few things:
* reorganize the landing page's toctree: start with implementation status, arch
* support, platform support, and
    compiler support.
  * Then a (new) simple getting started page using full host builds. Then more
  * Advanced topics such as host vs cross builds, overlay mode,
    gpu builds and additional configuration options.
* Remove c23 status, the old fullbuild_mode landing page, and
  usage_modes landing pages. c23 status isn't as interesting as I originally
  thought it might.

We should point people at full host builds to start, then link to more info on
cross compilation, or overlay mode as more advanced topics. I assert most users
starting out won't care about those.


  Commit: b1edfa1c07dc6ac42205b3397304e5b5f77617a1
      https://github.com/llvm/llvm-project/commit/b1edfa1c07dc6ac42205b3397304e5b5f77617a1
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

  Log Message:
  -----------
  [SelectionDAG] Prevent converting a virtual register to an MCRegister. (#122857)

I believe the goal is that MCRegister is only for physical registers.


  Commit: c7fddf5f786d4ed726b53096d461b62cf7649b90
      https://github.com/llvm/llvm-project/commit/c7fddf5f786d4ed726b53096d461b62cf7649b90
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp

  Log Message:
  -----------
  [ARM] Prevent converting virtual register to MCRegister. (#122862)

MCRegister should only be used for physical reigsters.


  Commit: fed817a8b25e178cd701fefcdfe80c447d2ab212
      https://github.com/llvm/llvm-project/commit/fed817a8b25e178cd701fefcdfe80c447d2ab212
  Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll

  Log Message:
  -----------
  [DSE] Consider the aliasing through global variable while checking clobber (#120044)

While update the read clobber check for the "initializes" attr, we
checked the aliasing among arguments, but didn't consider the aliasing
through global variable. It causes problems in this example:

```
int g_var = 123;

void update(int* ptr) {
  *ptr = g_var;

void foo() {
  g_var = 0;
  bar(&g_var);
}
```
We mistakenly removed `g_var = 0;` as a dead store.

Fix the issue by requiring the CallBase only access argmem or
inaccessiblemem.


  Commit: 5187482fd0065b52fc483774799df082c2a35a4d
      https://github.com/llvm/llvm-project/commit/5187482fd0065b52fc483774799df082c2a35a4d
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/IR/Instructions.cpp
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  IR: handle FP predicates in CmpPredicate::getMatching (#122924)

CmpPredicate::getMatching implicitly assumes that both predicates are
integer-predicates, and this has led to a crash being reported in
VectorCombine after e409204 (VectorCombine: teach foldExtractedCmps
about samesign). FP predicates are simple enough to handle as there is
never any samesign information associated with them: hence handle them
in CmpPredicate::getMatching, fixing the VectorCombine crash and
guarding against future incorrect usages.


  Commit: a4b7a2d021ca7371752f0e8180200ffd7b48ca70
      https://github.com/llvm/llvm-project/commit/a4b7a2d021ca7371752f0e8180200ffd7b48ca70
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll

  Log Message:
  -----------
  [DirectX] Propagate shader flags mask of callees to callers (#118306)

Propagate shader flags mask of callees to callers.

Add tests to verify propagation of shader flags


  Commit: 5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
      https://github.com/llvm/llvm-project/commit/5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add targets for some testing utility binaries/libraries. (#122834)


  Commit: 71f238a221ff307a1c079678b85ef3abe43c71ab
      https://github.com/llvm/llvm-project/commit/71f238a221ff307a1c079678b85ef3abe43c71ab
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsHexagonDep.def
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h

  Log Message:
  -----------
  [Hexagon] Add missing builtins for V79 (#122916)

This patch adds new builtins that were added in V79 architecture.


  Commit: 576b53801fc3d721602ae0d8377af9950f356000
      https://github.com/llvm/llvm-project/commit/576b53801fc3d721602ae0d8377af9950f356000
  Author: Kirill Stoimenov <kstoimenov at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxxabi/CMakeLists.txt
    M libcxxabi/include/CMakeLists.txt
    M lldb/test/CMakeLists.txt
    M lldb/utils/lldb-dotest/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc++] Stop copying headers to the build directory (#115380)"

This reverts commit 428c8767ae997b0f726c0b40160ea8172551babf.

Breaks sanitizer build: https://lab.llvm.org/buildbot/#/builders/51/builds/9056


  Commit: 1594413d5edf6a47d4100cb6a2bc613cfbb92beb
      https://github.com/llvm/llvm-project/commit/1594413d5edf6a47d4100cb6a2bc613cfbb92beb
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Sema/uninit-variables.c
    M clang/test/SemaCXX/uninitialized.cpp

  Log Message:
  -----------
  Add Clang attribute to ensure that fields are initialized explicitly (#102040)

This is a new Clang-specific attribute to ensure that field
initializations are performed explicitly.

For example, if we have
```
struct B {
  [[clang::explicit]] int f1;
};
```
then the diagnostic would trigger if we do `B b{};`:
```
field 'f1' is left uninitialized, but was marked as requiring initialization
```

This prevents callers from accidentally forgetting to initialize fields,
particularly when new fields are added to the class.


  Commit: dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
      https://github.com/llvm/llvm-project/commit/dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/module.modulemap

  Log Message:
  -----------
  [TargetParser] Add missing include to modulemap (#122768)

Resolves warning when building with `LLVM_ENABLE_MODULES`

```
AArch64TargetParser.h:39:2: warning: missing submodule 'LLVM_Utils.TargetParser.AArch64FeatPriorities' [-Wincomplete-umbrella]
   39 | #include "llvm/TargetParser/AArch64FeatPriorities.inc"
      |  ^       ~~~~~~~
```


  Commit: bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
      https://github.com/llvm/llvm-project/commit/bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/shape.cpp
    A flang/test/Semantics/bug121971.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzed input program (#122193)

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


  Commit: c8202db43ad0cafdc59903dadc4ea9f95a73de9b
      https://github.com/llvm/llvm-project/commit/c8202db43ad0cafdc59903dadc4ea9f95a73de9b
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    A flang/test/Semantics/bug121972.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzing test (#122189)

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


  Commit: 6f55c8068f42f391dd38d7c711ed7c639b01d72c
      https://github.com/llvm/llvm-project/commit/6f55c8068f42f391dd38d7c711ed7c639b01d72c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/bug121973.f90

  Log Message:
  -----------
  [flang] Fix crash in fuzzer-generated error test. (#122199)

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


  Commit: 9405a81ee7a16d8a30584f612234b4e27bd3d2dd
      https://github.com/llvm/llvm-project/commit/9405a81ee7a16d8a30584f612234b4e27bd3d2dd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/test/Semantics/reshape.f90

  Log Message:
  -----------
  [flang] Fix crash exposed by fuzzing (#122187)

An integer overflowed in an erroneous test. Fix, and improve the error
messages a bit.

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


  Commit: 01a0d212a64919205734706d929db37e503c35ce
      https://github.com/llvm/llvm-project/commit/01a0d212a64919205734706d929db37e503c35ce
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
    A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Optimizer/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    A flang/test/Fir/OpenACC/openacc-mappable.fir
    M flang/test/lib/CMakeLists.txt
    A flang/test/lib/OpenACC/CMakeLists.txt
    A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Implement MappableType interfaces for fir.box and fir.array (#122495)

The newly introduced MappableType interface in `acc` dialect was
primarily intended to allow variables with non-materialized storage to
be used in acc data clauses (previously everything was required to be
`pointer-like`). One motivator for this was `fir.box` since it is
possible to be passed to functions without a wrapping `fir.ref` and also
it can be generated directly via operations like `fir.embox` - and
unlike other variable representations in FIR, the underlying storage for
it does not get materialized until LLVM codegen.

The new interface is being attached to both `fir.box` and `fir.array`.
Strictly speaking, attaching to the latter is primarily for consistency
since the MappableType interface requires implementation of utilities to
compute byte size - and it made sense that a
`fir.box<fir.array<10xi32>>` and `fir.array<10xi32>` would have a
consistently computable size. This decision may be revisited as
MappableType interface evolves.

The new interface attachments are made in a new library named
`FIROpenACCSupport`. The reason for this is to avoid circular
dependencies since the implementation of this library is reusing code
from lowering of OpenACC. More specifically, the types are defined in
`FIRDialect` and `FortranLower` depends on it. Thus we cannot attach
these interfaces in `FIRDialect`.


  Commit: 63d3bd6d0caf8185aba49540fe2f67512fdf3a98
      https://github.com/llvm/llvm-project/commit/63d3bd6d0caf8185aba49540fe2f67512fdf3a98
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test

  Log Message:
  -----------
  [Exegesis] Fix test failures from #122775 on MacOSX and Fuchsia

I'm making this test to run only when exegesis-can-execute-x86_64.


  Commit: d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
      https://github.com/llvm/llvm-project/commit/d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Attributor][NFC] Performance improvements (#122923)

` forallInterferingAccesses` is a hotspot and for large modules these
changes make a measurable improvement in compilation time.

For LTO kernel compilation of 519.clvleaf (SPEChpc 2021) I measured the
following:
```
                    |   Measured times (s)   | Average | speedup
--------------------+------------------------+---------+---------
Baseline            | 33.268  33.332  33.275 |  33.292 |      0%
Cache "kernel"      | 30.543  30.339  30.607 |  30.496 |    9.2%
templatize callback | 30.981  30.97   30.964 |  30.972 |    7.5%
Both changes        | 29.284  29.201  29.053 |  29.179 |   14.1%
```


  Commit: 1dbc98294adc06e409b1e0d44252826857ac2ec6
      https://github.com/llvm/llvm-project/commit/1dbc98294adc06e409b1e0d44252826857ac2ec6
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libc/test/include/assert_test.cpp
    M libc/test/include/complex_test.cpp
    M libc/test/include/fpclassify_test.c
    M libc/test/include/fpclassify_test.cpp
    M libc/test/include/fpclassifyf_test.cpp
    M libc/test/include/fpclassifyl_test.cpp
    M libc/test/include/header-test-template.c
    M libc/test/include/iscanonical_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isfinite_test.cpp
    M libc/test/include/isfinitef_test.cpp
    M libc/test/include/isfinitel_test.cpp
    M libc/test/include/isinf_test.c
    M libc/test/include/isinf_test.cpp
    M libc/test/include/isinff_test.cpp
    M libc/test/include/isinfl_test.cpp
    M libc/test/include/isnan_test.c
    M libc/test/include/isnan_test.cpp
    M libc/test/include/isnanf_test.cpp
    M libc/test/include/isnanl_test.cpp
    M libc/test/include/isnormal_test.c
    M libc/test/include/isnormal_test.cpp
    M libc/test/include/isnormalf_test.cpp
    M libc/test/include/isnormall_test.cpp
    M libc/test/include/issignaling_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/issubnormal_test.cpp
    M libc/test/include/issubnormalf_test.cpp
    M libc/test/include/issubnormall_test.cpp
    M libc/test/include/iszero_test.c
    M libc/test/include/iszero_test.cpp
    M libc/test/include/iszerof_test.cpp
    M libc/test/include/iszerol_test.cpp
    M libc/test/include/signbit_test.c
    M libc/test/include/signbit_test.cpp
    M libc/test/include/signbitf_test.cpp
    M libc/test/include/signbitl_test.cpp
    M libc/test/include/stdbit_stub.h
    M libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/include/sys/queue_test.cpp

  Log Message:
  -----------
  [libc] Fix SPDX-License-Identifier file header comment typos (#122776)


  Commit: 0d150817c354bc61a48676754288aabbb03570c3
      https://github.com/llvm/llvm-project/commit/0d150817c354bc61a48676754288aabbb03570c3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

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

This patch fixes:

  flang/lib/Lower/OpenMP/OpenMP.cpp:599:15: error: unused variable
  'ompEval' [-Werror,-Wunused-variable]


  Commit: e511b3e24a67b2040d38288427a12c7e8f1c5828
      https://github.com/llvm/llvm-project/commit/e511b3e24a67b2040d38288427a12c7e8f1c5828
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll

  Log Message:
  -----------
  [SPIRV] Fix graphic test to use correct triple. (#122738)


  Commit: 5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
      https://github.com/llvm/llvm-project/commit/5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/main.c

  Log Message:
  -----------
  [lldb] Remove unfiltered stop reason propagation from StopInfoMachException (#122817)

In the presence of OS plugins, StopInfoMachException currently
propagates breakpoint stop reasons even if those breakpoints were not
intended for a specific thread, effectively removing our ability to set
thread-specific breakpoints.

This was originally added in [1], but the motivation provided in the
comment does not seem strong enough to remove the ability to set
thread-specific breakpoints. The only way to break thread specific
breakpoints would be if a user set such a breakpoint and _then_ loaded
an OS plugin, a scenario which we would likely not want to support.

[1]:
https://github.com/swiftlang/llvm-project/commit/ab745c2ad865c07f3905482fd071ef36c024713a#diff-8ec6e41b1dffa7ac4b5841aae24d66442ef7ebc62c8618f89354d84594f91050R501


  Commit: dac06e76e0c12a89b750440b4c9a04c68f6baa48
      https://github.com/llvm/llvm-project/commit/dac06e76e0c12a89b750440b4c9a04c68f6baa48
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/test/lib/OpenACC/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Fix FIRTestOpenACCInterfaces dependency (#122953)

According to one of the LLVM builds:

https://github.com/llvm/llvm-project/pull/122495#issuecomment-2590897971
The linking to various "mlir::Pass::" methods is failing. Ensure
dependency is properly setup.


  Commit: 5deabab06087e5bb7292e75347baacd63f3d4bde
      https://github.com/llvm/llvm-project/commit/5deabab06087e5bb7292e75347baacd63f3d4bde
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/test/Sema/uninit-variables.c
    M clang/test/SemaCXX/uninitialized.cpp

  Log Message:
  -----------
  Rename [[clang::requires_explicit_initialization]] to [[clang::require_explicit_initialization]] (#122947)

This makes it consistent with
`[[clang::require_constant_initialization]]`.

(The attribute was just added to Clang a few minutes ago, so there are
no users yet.)


  Commit: 31e9d390c015bc628dce947d532d10f5d4436190
      https://github.com/llvm/llvm-project/commit/31e9d390c015bc628dce947d532d10f5d4436190
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] remove unneeded copts (#122958)


  Commit: 44d9beef7d28f4a4d73acb12ea030bb642eff1d2
      https://github.com/llvm/llvm-project/commit/44d9beef7d28f4a4d73acb12ea030bb642eff1d2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp

  Log Message:
  -----------
  [rtsan][test] Prevent test check from being optimized out in LTO builds (#122524)

In LTO builds, some test checks can be optimized away, since the
compiler can
see through the memory accesses after inlining across TUs. This causes
the existing death tests to fail, since the functions are completely
optimized out and things like copying a lambda will no longer occur and
trigger the sanitizer.

To prevent that, we can use an empty inline assembly block to tell the
compiler that memory is modified, and prevent it from doing that.


  Commit: 0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
      https://github.com/llvm/llvm-project/commit/0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/Instructions.cpp

  Log Message:
  -----------
  [ValueTracking] Squash compile-time regression from 66badf2 (#122700)

66badf2 (VT: teach a special-case optz about samesign) introduced a
compile-time regression due to the use of CmpPredicate::getMatching,
which is unnecessarily inefficient. Introduce
CmpPredicate::getPreferredSignedPredicate, which alleviates the
inefficiency problem and squashes the compile-time regression.


  Commit: 48757e02ba2c1651c268351d062f80923baceda4
      https://github.com/llvm/llvm-project/commit/48757e02ba2c1651c268351d062f80923baceda4
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-cmp.ll

  Log Message:
  -----------
  [InstCombine] Teach foldSelectOpOp about samesign (#122723)

Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.


  Commit: 60dc450078eb362579f1184cb22c25d0b64cfc95
      https://github.com/llvm/llvm-project/commit/60dc450078eb362579f1184cb22c25d0b64cfc95
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  SCEV: migrate to CmpPredicate (NFC) (#122907)

In preparation to teach implied-cond functions about samesign, migrate
integer-compare predicates that flow through to the functions from
CmpInst::Predicate to CmpPredicate.


  Commit: 11758f9cebf4a81242c731bd441e76c72fc7d558
      https://github.com/llvm/llvm-project/commit/11758f9cebf4a81242c731bd441e76c72fc7d558
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/tools/bbc/CMakeLists.txt

  Log Message:
  -----------
  [flang][acc] Add missing dependency to bbc tool (#122960)

The LLVM build here:

https://lab.llvm.org/buildbot/#/builders/89/builds/14359/steps/5/logs/stdio
is failing with error:
/usr/bin/ld: tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o:
undefined reference to symbol
'_ZN3fir3acc25registerOpenACCExtensionsERN4mlir15DialectRegistryE

Add missing dependency.


  Commit: 68c9826534a763f783156813675783c97afa9226
      https://github.com/llvm/llvm-project/commit/68c9826534a763f783156813675783c97afa9226
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] add missing dep to //clang:static_analyzer_core_options


  Commit: 43491f0e9594b55a79ba775daed598cd37fc3cad
      https://github.com/llvm/llvm-project/commit/43491f0e9594b55a79ba775daed598cd37fc3cad
  Author: Eliud de León <tgmm.1000 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir-c/Dialect/EmitC.h
    M mlir/lib/CAPI/Dialect/EmitC.cpp

  Log Message:
  -----------
  [mlir][emitc] Expose emitc dialect types (#119645)

Added C API functions for the EmitC dialect types.


  Commit: 8d1d67ec4dc957ce15a06f782c6746281e66e559
      https://github.com/llvm/llvm-project/commit/8d1d67ec4dc957ce15a06f782c6746281e66e559
  Author: Jinsong Ji <jinsong.ji at intel.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/test/offloading/pgo1.c

  Log Message:
  -----------
  [Offload][PGO] Fix dump of array in ProfData (#122039)

Exposed by -Warray-bounds:

In file included from
../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:252:

../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
error: array index 4 is past the end of the array (that has type 'const
std::remove_const<const uint16_t>::type[4]' (aka 'const unsigned
short[4]')) [-Werror,-Warray-bounds]
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
| ^ ~~~~~~~~~~~

../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:250:15:
note: expanded from macro 'INSTR_PROF_DATA'
250 | outs() << ProfData.Name << " "; \
      |               ^        ~~~~

../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
note: array 'NumValueSites' declared here
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
      | ^

../../../../../../../llvm/offload/plugins-nextgen/common/include/GlobalHandler.h:62:3:
note: expanded from macro 'INSTR_PROF_DATA'
   62 |   std::remove_const<Type>::type Name;

Avoid accessing out-of-bound data, but skip printing array data for now.
As there is no simple way to do this without hardcoding the
NumValueSites field.

---------

Co-authored-by: Ethan Luis McDonough <ethanluismcdonough at gmail.com>


  Commit: b720b6cbe95eda383121a4579de556202b1ffc02
      https://github.com/llvm/llvm-project/commit/b720b6cbe95eda383121a4579de556202b1ffc02
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/shape.cpp
    A flang/test/Semantics/bug122002a.f90
    A flang/test/Semantics/bug122002b.f90

  Log Message:
  -----------
  [flang] Fix crash from fuzzy test. (#122364)

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


  Commit: ebec4d6369cbf9bbd64236b02d90e8f3597ad103
      https://github.com/llvm/llvm-project/commit/ebec4d6369cbf9bbd64236b02d90e8f3597ad103
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h

  Log Message:
  -----------
  [flang] Fix use-after-free cases found by valgrind (#122394)

The expression traversal library needs to use interfaces into triplets
(and substrings) that return pointers to nested expressions, rather than
optional copies of them, since at least one semantic analysis collects a
set of references to some subexpression representation class instances,
and those references obviously can't point to local copies of objects.

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


  Commit: 89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
      https://github.com/llvm/llvm-project/commit/89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    A flang/test/Semantics/bug122045.f90

  Log Message:
  -----------
  [flang] Fix another crash from another fuzzer test. (#122562)

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


  Commit: 9696355484152eda5684e0ec6249f4c423f08e42
      https://github.com/llvm/llvm-project/commit/9696355484152eda5684e0ec6249f4c423f08e42
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-designator.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/bug122060.f90
    M flang/test/Semantics/reshape.f90

  Log Message:
  -----------
  [flang] Better messages and error recovery for a bad RESHAPE (#122604)

Add tests for negative array extents where necessary, motivated by a
compiler crash exposed by yet another fuzzer test, and improve overall
error message quality for RESHAPE().

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


  Commit: bf95854e9ab1209901603d8f9edba4328eed6689
      https://github.com/llvm/llvm-project/commit/bf95854e9ab1209901603d8f9edba4328eed6689
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h

  Log Message:
  -----------
  [flang] EOF goes to ERR= in READ(..., REC=) (#122608)

A direct access READ that tries to read past the end of the file must
recover the error via an ERR= label, not an END= label (which is not
allowed to be present).

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


  Commit: 874a3ba868e3738d6ee21bfe032c89c6c8be3969
      https://github.com/llvm/llvm-project/commit/874a3ba868e3738d6ee21bfe032c89c6c8be3969
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/runtime/file.cpp

  Log Message:
  -----------
  [flang][runtime] Don't buffer unit 0 (#122614)

Always assume that predefined unit 0 is a terminal, so that output to it
is never buffered.


  Commit: 9f0f54a6290ead2e1581d75582759822a19fd885
      https://github.com/llvm/llvm-project/commit/9f0f54a6290ead2e1581d75582759822a19fd885
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/self-use.f90

  Log Message:
  -----------
  [flang] Improve error messages for module self-USE (#122747)

A module can't USE itself, either directly within the top-level module
or from one of its submodules. Add a test for this case (which we
already caught), and improve the diagnostic for the more confusing case
involving a submodule.


  Commit: 4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
      https://github.com/llvm/llvm-project/commit/4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/bug129131.F

  Log Message:
  -----------
  [flang] Adjust prescanner fix for preprocessing (#122779)

Commas being optional in FORMAT statements, the tokenization of things
like 3I9HHOLLERITH is tricky. After tokenizing the initial '3', we don't
want to then take apparent identifier "I9HHOLLERITH" as the next token.
So the prescanner just consumes the letter ("I") as its own token in
this context.

A recent bug report complained that this can lead to incorrect results
when (in this case) the letter is a defined preprocessing macro. I
updated the prescanner to check that the letter is actually followed by
an instance of a problematic Hollerith literal.

And this broke two tests in the Fujitsu Fortran test suite that Linaro
runs, as it couldn't detect a following Hollerith literal that wasn't on
the same source line. We can't do look-ahead line continuation
processing in NextToken(), either.

So here's a second attempt at fixing the original problem: namely, the
letter that follows a decimal integer token is checked to see whether
it's the name of a defined macro.


  Commit: 9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
      https://github.com/llvm/llvm-project/commit/9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/test/Driver/intrinsic-module-path.f90
    M flang/test/Driver/use-module.f90
    M flang/test/Semantics/modfile43.f90
    M flang/test/Semantics/modfile63.f90
    M flang/test/Semantics/modfile70.f90
    M flang/test/Semantics/resolve12.f90
    M flang/test/Semantics/resolve26.f90

  Log Message:
  -----------
  [flang] Improve module file error message wording (#122787)

Instead of "Cannot read ...", distinguish true errors in finding and
parsing module files from problems with unexpected hash codes by using
"Cannot parse" or "Cannot use" wording as appropriate.


  Commit: ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
      https://github.com/llvm/llvm-project/commit/ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/test/Semantics/generic12.f90

  Log Message:
  -----------
  [flang] Fix spurious error message due to inaccessible generic binding (#122810)

Generic operator/assignment checks for distinguishable specific
procedures must ignore inaccessible generic bindings.

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


  Commit: 93fd72cbb1a3c340add27fc380c4450406313d68
      https://github.com/llvm/llvm-project/commit/93fd72cbb1a3c340add27fc380c4450406313d68
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp

  Log Message:
  -----------
  [llvm-gsymutil] Ensure gSYM creation determinism with merged functions (#122921)

We were seeing occasional test failures with expensive checks enabled.
The issue was tracked down to a `sort` which should instead be a
`stable_sort` to ensure determinism. Checked locally and the
non-determinism went away.


  Commit: 3d24c77f14d42721226b31d7e5d08f853cfc92f1
      https://github.com/llvm/llvm-project/commit/3d24c77f14d42721226b31d7e5d08f853cfc92f1
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/debug-info-object-pointer.cpp

  Log Message:
  -----------
  [clang][DebugInfo] Emit DW_AT_object_pointer on function definitions with explicit `this` (#122897)

We currently don't emit `DW_AT_object_pointer` on function declarations
or definitions. GCC suffers from the same issue:
https://godbolt.org/z/h4jeT54G5

Fixing this will help LLDB in identifying static vs. non-static member
functions (see https://github.com/llvm/llvm-project/issues/120856).

If I interpreted the DWARFv5 spec correctly, it doesn't mandate this
attribute be present *only* for implicit object parameters:
```
If the member function entry describes a non-static member function,
then that entry has a DW_AT_object_pointer attribute whose value is a reference to
the formal parameter entry that corresponds to the object for which the
function is called.

That parameter also has a DW_AT_artificial attribute whose value is true.
```

This patch attaches the `DW_AT_object_pointer` for function
*defintions*. The declarations will be handled in a separate patch.

The part about `DW_AT_artificial` seems overly restrictive, and not true
for explicit object parameters. We probably should relax this part of
the DWARF spec.

Partially fixes https://github.com/llvm/llvm-project/issues/120974


  Commit: ef804d8f9b4ef4ff39e873d5910e94887519bdb6
      https://github.com/llvm/llvm-project/commit/ef804d8f9b4ef4ff39e873d5910e94887519bdb6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/__new/global_new_delete.h
    M libcxxabi/src/CMakeLists.txt

  Log Message:
  -----------
  [libc++] Simplify when the sized global deallocations overloads are available (#114667)

There doesn't seem to be much benefit in always providing declarations
for the sized deallocations from C++14 onwards if the user explicitly
passed `-fno-sized-deallocation` to disable them. This patch simplifies
the declarations to be available exactly when the compiler expects sized
deallocation functions to be available.


  Commit: 6e14f9b40e15600ae7832826b47a7f0c0503a1d7
      https://github.com/llvm/llvm-project/commit/6e14f9b40e15600ae7832826b47a7f0c0503a1d7
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] minor formatting fixes (#122964)

Added `# keep sorted` to a couple of long-ish lists of files that
buildifier didn't automatically sort by default.

Changed a couple of one-element `toolchains` attributes to the
single-line format.


  Commit: 31249e27f0f8be16e80b2b574c1f2ce70853ed31
      https://github.com/llvm/llvm-project/commit/31249e27f0f8be16e80b2b574c1f2ce70853ed31
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp

  Log Message:
  -----------
  [DirectX] Avoid deprecated PointerUnion methods (#122972)

PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in
favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these
uses over.


  Commit: f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
      https://github.com/llvm/llvm-project/commit/f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
  Author: Jerry-Ge <jerry.ge at arm.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    A mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [TOSA] Add Tosa_Shape type and ConstShapeOp (#122547)

Adds:
1. tosa shape type to Tosa dialect e.g., !tosa.shape<4> is a type for
rank-4 shape values (size-4 array of index values)
 2. const_shape operator
3. trait TosaShapeOperator, added to tosa shape operators, and a
verifier that all operands and results of operator are tosa shapes
4. trait TosaResolvableShapeOperands, added to all tosa operators, and a
verifier that every tosa shape operand is produced by a tosa shape
operator (indicated by trait TosaShapeOperator)
5. trait TosaShapeOperatorWithSameRanks, added to
Tosa_ElementwiseShapeOp and a verifier that all operands and result
shapes have same ranks
5. changed TileOp's multiples from attribute to input, of !tosa.shape
type.
 6. add folder for tosa ConstShape operator

This patch was originally authored by Tai Ly <tai.ly at arm.com>

Signed-off-by: Jerry Ge <Jerry.Ge at arm.com>
Signed-off-by: Tai Ly <tai.ly at arm.com>


  Commit: 6a214ec1eeef6b404bf111edeca13c6e0d958103
      https://github.com/llvm/llvm-project/commit/6a214ec1eeef6b404bf111edeca13c6e0d958103
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/ThinLTO/X86/memprof_direct_recursion.ll

  Log Message:
  -----------
  [MemProf] Fix an assertion when writing distributed index for aliasee (#122946)

The ThinLTO index bitcode writer uses a helper forEachSummary to manage
preparation and writing of summaries needed for each distributed index
file. For alias summaries, it invokes the provided callback for the
aliasee as well, as we at least need to produce a value id for the
alias's summary. However, all summary generation for the aliasee itself
should be skipped on calls when IsAliasee is true. We invoke the
callback again if that value's summary is to be written as well.

We were asserting in debug mode when invoking collectMemProfCallStacks,
because a given stack id index was not in the StackIdIndicesToIndex
map. It was not added because the forEachSummary invocation that records
these ids in the map (invoked from the IndexBitcodeWriter constructor)
was correctly skipping this handling when invoked for aliasees. We need
the same guard in the invocation that calls collectMemProfCallStacks.

Note that this doesn't cause any real problems in a non-asserts build
as the missing map lookup will return the default 0 value from the map,
which isn't used since we don't actually write the corresponding
summary.


  Commit: 1682deed0fd02c6aca98154e8e9cf6c573ff6d45
      https://github.com/llvm/llvm-project/commit/1682deed0fd02c6aca98154e8e9cf6c573ff6d45
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map

  Log Message:
  -----------
  [libclang] Add API to query more information about base classes. (#120300)

The first API is clang_visitCXXBaseClasses: this allows visiting the
base classes without going through the generic child visitor (which is
awkward, and doesn't work for template instantiations).

The second API is clang_getOffsetOfBase; this allows computing the
offset of a base in the class layout, the same way
clang_Cursor_getOffsetOfField computes the offset of a field.

Also, add a Python binding for the existing function
clang_isVirtualBase.


  Commit: 25f28ddd69ed2453726c0934ba6feea8ae6f10f8
      https://github.com/llvm/llvm-project/commit/25f28ddd69ed2453726c0934ba6feea8ae6f10f8
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Fix file header


  Commit: 1de3dc7d23dd6b856efad3a3a04f2396328726d7
      https://github.com/llvm/llvm-project/commit/1de3dc7d23dd6b856efad3a3a04f2396328726d7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll

  Log Message:
  -----------
  [LV] Bail out early if BTC+1 wraps.

Currently we fail to detect the case where BTC + 1 wraps, i.e. the
vector trip count is 0, In those cases, the minimum iteration count
check will fail, and the vector code will never be executed.

Explicitly check for this condition in computeMaxVF and avoid trying to
vectorize alltogether.

Note that a number of tests needed to be updated, because the vector
loop would never be executed given the input IR.

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


  Commit: 43f203da8986bfeb071b5dc381491abbc1126e52
      https://github.com/llvm/llvm-project/commit/43f203da8986bfeb071b5dc381491abbc1126e52
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [bazel] add missing dep


  Commit: a829ebadd4211bec24e99f4395ef855eff456eb1
      https://github.com/llvm/llvm-project/commit/a829ebadd4211bec24e99f4395ef855eff456eb1
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [Triple] Ignore the vendor field for MinGW, wrt LTO/IR compatibility (#122801)

For MinGW environments, the regular C/C++ toolchains usually use "w64"
for the vendor field in triples, while Rust toolchains usually use "pc"
in the vendor field.

The differences in the vendor field have no bearing on whether the IR is
compatible on this platform. (This probably goes for most other OSes as
well, but limiting the scope of the change to the specific case.)

Add a unit test for the isCompatibleWith, including some existing test
cases found in existing tests.


  Commit: 72225ca27f561b74da292433400f250592d73b13
      https://github.com/llvm/llvm-project/commit/72225ca27f561b74da292433400f250592d73b13
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    R llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
    M llvm/test/tools/llvm-exegesis/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  Revert "Reland: "[Exegesis] Add the ability to dry-run the measurement phase (#121991)" (#122775)"

This reverts commit a39aaf35d3858a5542f532e399482c2bb0259dac and
63d3bd6d0caf8185aba49540fe2f67512fdf3a98.

Due to test failures on MacOSX.


  Commit: 0b3912622ed4f3cdd311b02798f8689d52ed4602
      https://github.com/llvm/llvm-project/commit/0b3912622ed4f3cdd311b02798f8689d52ed4602
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll

  Log Message:
  -----------
  [ARM] Update LV test in test/Codegen/ARM after 1de3dc7d23.


  Commit: 7aec7caca30f800811b76ba94291645494788a4f
      https://github.com/llvm/llvm-project/commit/7aec7caca30f800811b76ba94291645494788a4f
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/bindings/python/tests/cindex/test_type.py

  Log Message:
  -----------
  Add explicit triple to test_type.py.

Fixes on 32-bit hosts.


  Commit: 2b961b06438d1d07c1d3d3a89bfcdbf877df0d70
      https://github.com/llvm/llvm-project/commit/2b961b06438d1d07c1d3d3a89bfcdbf877df0d70
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Disasm.cpp

  Log Message:
  -----------
  [AST] Migrate away from PointerUnion::dyn_cast (NFC) (#122854)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Source to be nonnull.


  Commit: e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
      https://github.com/llvm/llvm-project/commit/e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#122855)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect DeclOrVector to be nonnull.


  Commit: a1f8ce683a14c847f49f29a450bf838d6ca522a9
      https://github.com/llvm/llvm-project/commit/a1f8ce683a14c847f49f29a450bf838d6ca522a9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp

  Log Message:
  -----------
  [StaticAnalyzer] Migrate away from PointerUnion::dyn_cast (NFC) (#122856)

Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:

  // FIXME: Replace the uses of is(), get() and dyn_cast() with
  //        isa<T>, cast<T> and the llvm::dyn_cast<T>

Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect Storage to be nonnull.


  Commit: 466753b1097d64bc2f162bafc1d3c8743ccfd4d3
      https://github.com/llvm/llvm-project/commit/466753b1097d64bc2f162bafc1d3c8743ccfd4d3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [AST] Avoid repeated map lookups (NFC) (#122858)


  Commit: 99ab848a65facc2e1837c459d4ec855cba82d157
      https://github.com/llvm/llvm-project/commit/99ab848a65facc2e1837c459d4ec855cba82d157
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Avoid repeated hash lookups (NFC) (#122861)


  Commit: bc74625f50e216edd16f436c4fc81ff585b6c4c7
      https://github.com/llvm/llvm-project/commit/bc74625f50e216edd16f436c4fc81ff585b6c4c7
  Author: zotnhucucbot <thaiphd at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Add an option to exclude files not present in the compile database (#120348)

A change list may include files that are not part of the compile
database, which can cause clang-tidy to fail (e.g., due to missing
included headers). To prevent false negatives, we should allow to skip
processing these files.


  Commit: b665dddd7070837b11714e28d841c9962a15601a
      https://github.com/llvm/llvm-project/commit/b665dddd7070837b11714e28d841c9962a15601a
  Author: Shoreshen <372660931 at qq.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll

  Log Message:
  -----------
  [AMDGPU] Add tests for v_sat_pk_u8_i16 codegen (#122438)

Preparation for #121124 

This PR provides tests added into
[PR](https://github.com/llvm/llvm-project/pull/121124) that add
selection patterns for instruction `v_sat_pk`, in order to specify the
change of the tests before and after the commit.

Pre-commit tests PR for #121124 : Add selection patterns for instruction
`v_sat_pk`


  Commit: ebef44067bd0a2cd776b8baea39cffa7f602ce7b
      https://github.com/llvm/llvm-project/commit/ebef44067bd0a2cd776b8baea39cffa7f602ce7b
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  [LLVM][Triple] Add an argument to specify canonical form to `Triple::normalize` (#122935)

Currently, the output of `Triple::normalize` can vary depending on how the
`Triple` object is constructed, producing a 3-field, 4-field, or even 5-field
string. However, there is no way to control the format of the output, as all
forms are considered canonical according to the LangRef.

This lack of control can be inconvenient when a specific format is required. To
address this, this PR introduces an argument to specify the desired format (3,
4, or 5 identifiers), with the default set to none to maintain the current
behavior. If the requested format requires more components than are available in
the actual `Data`, `"unknown"` is appended as needed.


  Commit: a19919f4cd82166023e81d9ed8df981642c9d4ac
      https://github.com/llvm/llvm-project/commit/a19919f4cd82166023e81d9ed8df981642c9d4ac
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir

  Log Message:
  -----------
  [flang][cuda] Add cuf.device_address operation (#122975)

Introduce a new op to get the device address from a host symbol. This
simplify the current conversion and this is also in preparation for some
legalization work that need to be done in cuf kernel and cuf kernel
launch similar to
https://github.com/llvm/llvm-project/pull/122802


  Commit: 565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
      https://github.com/llvm/llvm-project/commit/565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp

  Log Message:
  -----------
  [mlir][linalg] Remove redundant checks for variable(NFC) (#122731)

This PR removes the redundant checks for the `supported` variable, as
it's guaranteed to be true.


  Commit: ef4800c9168ee45ced8295d13ac68f58b4358759
      https://github.com/llvm/llvm-project/commit/ef4800c9168ee45ced8295d13ac68f58b4358759
  Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Interfaces/ViewLikeInterface.cpp

  Log Message:
  -----------
  [mlir][Interfaces][NFC] Update doc of ViewLikeOpInterface parser/printer handlers (#122555)

This PR addresses part of the feedback provided in #115808.


  Commit: 0294dab79e24cc4fc41e2d9fc77ad02730e412bc
      https://github.com/llvm/llvm-project/commit/0294dab79e24cc4fc41e2d9fc77ad02730e412bc
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    A llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [LV][VPlan] Add fast flags for selectRecipe (#121023)

Change the inheritance of class VPWidenSelectRecipe to class
VPRecipeWithIRFlags, which allows recipe of the select to pass the
fastmath flags.The patch of #119847 will add the fastmath flag to for
recipe


  Commit: 2a5281d0e0000c04606ef86a2cf9c458d9adafef
      https://github.com/llvm/llvm-project/commit/2a5281d0e0000c04606ef86a2cf9c458d9adafef
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S

  Log Message:
  -----------
  [ORC-RT] Fix missing '\' line continuations in objc-imageinfo.S test.

These missing continuations were causing commands in this testcase to fail.


  Commit: e7f756d4684af4531a6a9564017bcae1226b719f
      https://github.com/llvm/llvm-project/commit/e7f756d4684af4531a6a9564017bcae1226b719f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [NFC][BoundsChecking] Address #122576 review comments (#122773)


  Commit: 21ade5ae2978b7b809b59b70d63099c87b36dc61
      https://github.com/llvm/llvm-project/commit/21ade5ae2978b7b809b59b70d63099c87b36dc61
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp

  Log Message:
  -----------
  [JITLink] Fix indentation in debugging output.


  Commit: 9c5001e45491ae8b1b2967d2fa48f445799c88ae
      https://github.com/llvm/llvm-project/commit/9c5001e45491ae8b1b2967d2fa48f445799c88ae
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp

  Log Message:
  -----------
  [JITLink] Add convenience methods to LinkGraph to find symbols by name.

Adds new convenience methods findDefinedSymbolByName, findExternalSymbolByName
and findAbsoluteSymbolByName to the LinkGraph class. These should be used to
find symbols of the given types by name.

COFFLinkGraphBuilder and MachOPlatform are updated to take advantage of the
new methods.


  Commit: 9f48bb637eeb40e40bb9e2927ea97b58684ece3a
      https://github.com/llvm/llvm-project/commit/9f48bb637eeb40e40bb9e2927ea97b58684ece3a
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h

  Log Message:
  -----------
  [JITLink] Document EHFrameEdgeFixer's handling of implicit relocations. NFC.

On platfarms where some relocations for eh-frame sections are implicit (e.g.
MachO/x86-64) EHFrameEdgeFixer is responsible for adding edges for the
implicit relocations.


  Commit: da4ac13acac166738f769a9dfa2be40563d6ff64
      https://github.com/llvm/llvm-project/commit/da4ac13acac166738f769a9dfa2be40563d6ff64
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp

  Log Message:
  -----------
  [RISCV][llvm-exegesis] Simplify copying a SmallVector to a std::vector. NFC (#122988)


  Commit: 9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
      https://github.com/llvm/llvm-project/commit/9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

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

  Log Message:
  -----------
  [clang][AST] Assert that DependentNameType's Name and NNS are not null (#122418)

Also clarify the comment above DependentNameType::getIdentifier()


  Commit: c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
      https://github.com/llvm/llvm-project/commit/c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
  Author: Greg Clayton <gclayton at fb.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Target/SectionLoadHistory.h
    M lldb/include/lldb/Target/Target.h
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/Breakpoint/BreakpointLocationList.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/DumpDataExtractor.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Core/Value.cpp
    M lldb/source/DataFormatters/CXXFunctionPointer.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Target/ProcessTrace.cpp
    M lldb/source/Target/SectionLoadHistory.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp

  Log Message:
  -----------
  [lldb][NFC] Make the target's SectionLoadList private. (#113278)

Lots of code around LLDB was directly accessing the target's section
load list. This NFC patch makes the section load list private so the
Target class can access it, but everyone else now uses accessor
functions. This allows us to control the resolving of addresses and will
allow for functionality in LLDB which can lazily resolve addresses in
JIT plug-ins with a future patch.


  Commit: 273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
      https://github.com/llvm/llvm-project/commit/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
    M llvm/test/CodeGen/NVPTX/fma.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/shift-parts.ll

  Log Message:
  -----------
  [NVPTX] Add some more immediate instruction variants (#122746)

While this likely won't impact the final SASS, it makes for more compact
PTX.


  Commit: 02403f4e450b86d93197dd34045ff40a34b21494
      https://github.com/llvm/llvm-project/commit/02403f4e450b86d93197dd34045ff40a34b21494
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll

  Log Message:
  -----------
  [RISCV] Split strided-load-store.ll tests into EVL and VP. NFC

None of the changes in #122232 or the upcoming #122244 are specific to
the EVL, so split out the EVL tail-folded loops into separate
"integration tests" that reflect the output of the loop vectorizer.


  Commit: 030d48b7db9845f42bf3ef365193bfdbb23f5440
      https://github.com/llvm/llvm-project/commit/030d48b7db9845f42bf3ef365193bfdbb23f5440
  Author: Bevin Hansson <bevin.hansson at ericsson.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp

  Log Message:
  -----------
  [clangd] Augment code completion results with documentation from the index. (#120099)

When looking up code completions from Sema, there is no associated
documentation. This is due to crash issues with stale preambles.
However, this also means that code completion results from other
than the main file do not have documentation in certain cases,
which is a bad user experience.

This patch performs a lookup into the index using the code
completion result declarations to find documentation, and
attaches it to the results.

Fixes clangd/clangd#2252
Fixes clangd/clangd#564


  Commit: 2504693d75c6ed1047955dd6e65ce9d4c1a164c8
      https://github.com/llvm/llvm-project/commit/2504693d75c6ed1047955dd6e65ce9d4c1a164c8
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [ARM][NFC] Remove redundant sub-expressions (#122911)

This PR removes redundant sub-expressions `Mnemonic != "vqmovnt"`, which
is mentioned in https://pvs-studio.com/en/blog/posts/cpp/1188/.


  Commit: 135f39c780ac106ac93ef0838a62d7ebf947c2a0
      https://github.com/llvm/llvm-project/commit/135f39c780ac106ac93ef0838a62d7ebf947c2a0
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/tools/spirv-tools/CMakeLists.txt

  Log Message:
  -----------
  [SPIR-V] Fix a typo in cmake. NFC

- It should be '${SPIRV_AS}' that is linked or copied to 'spirv-as',
  instead of '${SPIRV_VAL}'


  Commit: edc02351dd11cc4a39b7c541b26b71c6f36c8e55
      https://github.com/llvm/llvm-project/commit/edc02351dd11cc4a39b7c541b26b71c6f36c8e55
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

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

  Log Message:
  -----------
  [NFC][LoopVectorize] Add more loop early exit asserts (#122732)

This patch is split off #120567, adding asserts in
addScalarResumePhis and addExitUsersForFirstOrderRecurrences
that the loop does not contain an uncountable early exit,
since the code cannot yet handle them correctly.


  Commit: 7201cae106260aeb3e9bbbb7d5291ff30f05076a
      https://github.com/llvm/llvm-project/commit/7201cae106260aeb3e9bbbb7d5291ff30f05076a
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.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/DeclBase.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    A clang/test/Modules/module-local-with-templates.cppm
    A clang/test/Modules/pr90154.cppm
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp

  Log Message:
  -----------
  [C++20] [Modules] Support module level lookup (#122887)

Close https://github.com/llvm/llvm-project/issues/90154

This patch is also an optimization to the lookup process to utilize the
information provided by `export` keyword.

Previously, in the lookup process, the `export` keyword only takes part
in the check part, it doesn't get involved in the lookup process. That
said, previously, in a name lookup for 'name', we would load all of
declarations with the name 'name' and check if these declarations are
valid or not. It works well. But it is inefficient since it may load
declarations that may not be wanted.

Note that this patch actually did a trick in the lookup process instead
of bring module information to DeclarationName or considering module
information when deciding if two declarations are the same. So it may
not be a surprise to me if there are missing cases. But it is not a
regression. It should be already the case. Issue reports are welcomed.

In this patch, I tried to split the big lookup table into a lookup table
as before and a module local lookup table, which takes a combination of
the ID of the DeclContext and hash value of the primary module name as
the key. And refactored `DeclContext::lookup()` method to take the
module information. So that a lookup in a DeclContext won't load
declarations that are local to **other** modules.

And also I think it is already beneficial to split the big lookup table
since it may reduce the conflicts during lookups in the hash table.

BTW, this patch introduced a **regression** for a reachability rule in
C++20 but it was false-negative. See
'clang/test/CXX/module/module.interface/p7.cpp' for details.

This patch is not expected to introduce any other
regressions for non-c++20-modules users since the module local lookup
table should be empty for them.

---

On the API side, this patch unfortunately add a maybe-confusing argument
`Module *NamedModule` to
`ExternalASTSource::FindExternalVisibleDeclsByName()`. People may think
we can get the information from the first argument `const DeclContext
*DC`. But sadly there are declarations (e.g., namespace) can appear in
multiple different modules as a single declaration. So we have to add
additional information to indicate this.


  Commit: d1d25641f4cb87ab2c07a4136ba1cec4fb6cf578
      https://github.com/llvm/llvm-project/commit/d1d25641f4cb87ab2c07a4136ba1cec4fb6cf578
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/SemaCXX/ptrauth-type-discriminator.cpp

  Log Message:
  -----------
  [clang][bytecode] Handle UETT_PtrAuthTypeDiscriminator (#122941)


  Commit: 929eb500d4c9b3fff0693c49fd55c8093dc1ad62
      https://github.com/llvm/llvm-project/commit/929eb500d4c9b3fff0693c49fd55c8093dc1ad62
  Author: ziereis <44057120+ziereis at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir

  Log Message:
  -----------
  [mlir] Rewrites for I2 to I8 signed and unsigned extension (#121298)

Adds rewrites for i2 to i8 signed and unsigned extension, similar to the
ones that already exist for i4 to i8 conversion.

I use this for i6 quantized models, and this gives me roughly a 2x
speedup for an i6 4096x4096 dequantization-matmul on an AMD 5950x.

I didn't add the rewrite for i8 to i2 truncation because I currently
don't use it, but if this is needed, I can add it as well.

---------

Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: 8ac00ca4867835cacaf013f5c442658b9b1bce38
      https://github.com/llvm/llvm-project/commit/8ac00ca4867835cacaf013f5c442658b9b1bce38
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/trunc-vector-width.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll

  Log Message:
  -----------
  [X86] lowerShuffleWithUndefHalf - don't split vXi8 unary shuffles if the 128-bit source lanes are already in place (#122919)

Allows us to use PSHUFB to shuffle the lanes, and then perform a sub-lane permutation down to the lower half

Fixes #116815


  Commit: 4c2e4ea18fd0031636994cf81fd03d82f59b7d27
      https://github.com/llvm/llvm-project/commit/4c2e4ea18fd0031636994cf81fd03d82f59b7d27
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp

  Log Message:
  -----------
  [RISCV][llvm-exegesis] Disable pseudo instructions in allowAsBackToBack. (#122986)

Prevents crashes trying to encode pseudo instuctions. Tested on HiFive
Premier P550.

Fixes #122974


  Commit: c24ce324d56328e4b91c8797ea4935545084303e
      https://github.com/llvm/llvm-project/commit/c24ce324d56328e4b91c8797ea4935545084303e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/lib/IR/BuiltinTypeInterfaces.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp

  Log Message:
  -----------
  [mlir][IR] Turn `FloatType` into a type interface (#118891)

This makes it possible to add new MLIR floating point types in
downstream projects. (Adding new APFloat semantics in downstream
projects is not possible yet, so parsing/printing/converting float
literals of newly added types is not supported.)

Also removes two functions where we had to hard-code all existing
floating point types (`FloatType::classof`). See discussion here:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361

No measurable compilation time changes for these lit tests:
```
Benchmark 1: mlir-opt ./mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir -split-input-file -convert-vector-to-llvm -o /dev/null
  BEFORE
  Time (mean ± σ):     248.4 ms ±   3.2 ms    [User: 237.0 ms, System: 20.1 ms]
  Range (min … max):   243.3 ms … 255.9 ms    30 runs

  AFTER
  Time (mean ± σ):     246.8 ms ±   3.2 ms    [User: 233.2 ms, System: 21.8 ms]
  Range (min … max):   240.2 ms … 252.1 ms    30 runs


Benchmark 2: mlir-opt- ./mlir/test/Dialect/Arith/canonicalize.mlir -split-input-file -canonicalize -o /dev/null
  BEFORE
  Time (mean ± σ):      37.3 ms ±   1.8 ms    [User: 31.6 ms, System: 30.4 ms]
  Range (min … max):    34.6 ms …  42.0 ms    200 runs

  AFTER
  Time (mean ± σ):      37.5 ms ±   2.0 ms    [User: 31.5 ms, System: 29.2 ms]
  Range (min … max):    34.5 ms …  43.0 ms    200 runs


Benchmark 3: mlir-opt ./mlir/test/Dialect/Tensor/canonicalize.mlir -split-input-file -canonicalize -allow-unregistered-dialect -o /dev/null
  BEFORE
  Time (mean ± σ):     152.2 ms ±   2.5 ms    [User: 140.1 ms, System: 12.2 ms]
  Range (min … max):   147.6 ms … 161.8 ms    200 runs

  AFTER
  Time (mean ± σ):     151.9 ms ±   2.7 ms    [User: 140.5 ms, System: 11.5 ms]
  Range (min … max):   147.2 ms … 159.1 ms    200 runs
```

A micro benchmark that parses + prints 32768 floats with random
floating-point type shows a slowdown from 55.1 ms -> 48.3 ms.


  Commit: af656a8d4245069f70f5b5e1f654ec9291d3b0a3
      https://github.com/llvm/llvm-project/commit/af656a8d4245069f70f5b5e1f654ec9291d3b0a3
  Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp
    A llvm/test/Transforms/CorrelatedValuePropagation/ctpop-range.ll

  Log Message:
  -----------
  [LVI] Learn value ranges from ctpop results (#121945)

Fixes #115751.


  Commit: 2c34632a9977a82ce6262d95f07addb772ba7014
      https://github.com/llvm/llvm-project/commit/2c34632a9977a82ce6262d95f07addb772ba7014
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp

  Log Message:
  -----------
  [C++20] [Modules] [Driver] Support -print-library-module-manifest-path for libstdc++

Given libstdc++ has landed std module, the build systems may need clang
to find the configuration file to understand how to build the std
module. This patch did this. Tested with locally installed GCC-trunk.


  Commit: 4cec0ba92955c353c52efe728b2cfef3fbdf60f8
      https://github.com/llvm/llvm-project/commit/4cec0ba92955c353c52efe728b2cfef3fbdf60f8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Simplify VisitCXXDefaultArgExpr (#123024)

We have `discard()` these days.


  Commit: 04b002bbb838bc502bd6d5f602af95efd6cc96b3
      https://github.com/llvm/llvm-project/commit/04b002bbb838bc502bd6d5f602af95efd6cc96b3
  Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [IRBuilder] Add Align argument for CreateMaskedExpandLoad and CreateMaskedCompressStore (#122878)

This patch adds possibility to specify alignment for
llvm.masked.expandload/llvm.masked.compressstore intrinsics in IRBuilder
(this is mostly NFC for now since it's only used in MemorySanitizer, but
there is an intention to generate these intrinsics in the compiler
passes, e.g. in LoopVectorizer)


  Commit: b3924cb9ecc95aa428d48e58ef5f2629f5166e02
      https://github.com/llvm/llvm-project/commit/b3924cb9ecc95aa428d48e58ef5f2629f5166e02
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/test/CodeGen/AMDGPU/sink-image-sample.ll

  Log Message:
  -----------
  [AMDGPU] Set Convergent property for image.(getlod/sample*) intrinsics which uses WQM (#122908)

This change adds IntrConvergent property to image.getlod intrinsic and
to several image.sample intrinsics. All image.sample intrinsics apart
from LOD(_L), Level 0(_LZ), Derivative(_D) will be marked as Convergent.


  Commit: eb96c8c105226956c8ed5ab30699206f53de74f7
      https://github.com/llvm/llvm-project/commit/eb96c8c105226956c8ed5ab30699206f53de74f7
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBInstructionList.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s

  Log Message:
  -----------
  [lldb] Implement (SB)Function::GetInstructions for discontinuous functions (#122933)

The main change is to permit the disassembler class to process/store
multiple (discontinuous) ranges of addresses. The result is not
ambiguous because each instruction knows its size (in addition to its
address), so we can check for discontinuity by looking at whether the
next instruction begins where the previous ends.

This patch doesn't handle the "disassemble" CLI command, which uses a
more elaborate mechanism for disassembling and printing instructions.


  Commit: e4708260c7e9eeb817cafa6db9eee2569f00b5d2
      https://github.com/llvm/llvm-project/commit/e4708260c7e9eeb817cafa6db9eee2569f00b5d2
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/utils/vim/ftplugin/mlir.vim

  Log Message:
  -----------
  [vim] Improve `iskeyword` for MLIR (#121750)

Define keywords for the MLIR syntax. This allows better recognition of
semantic constructs such as SSA value identification e.g. `%foo` which
gives improved motion handling when using 'word based' such as `w, e`.

This is based on the work done for the LLVM IR in
8c46413f343d0a5b8db48d958890b9038f03b70d.

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


  Commit: bd768246da23ad141d3e9303cf43fd4363a6d4f4
      https://github.com/llvm/llvm-project/commit/bd768246da23ad141d3e9303cf43fd4363a6d4f4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] replaceShuffleOfInsert - convert INSERT_VECTOR_ELT matching to use SDPatternMatch helpers. NFC.


  Commit: 85fdf501461e8ee00401f06ee6c7d21ac6622484
      https://github.com/llvm/llvm-project/commit/85fdf501461e8ee00401f06ee6c7d21ac6622484
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Multilib.h
    M clang/lib/Driver/Multilib.cpp
    A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml

  Log Message:
  -----------
  [Multilib] Custom flags YAML parsing (#122903)

This patch is the first step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.

Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058

The multilib mechanism supports libraries that target code generation or
language options such as `--target`, `-mcpu`, `-mfpu`,
`-mbranch-protection`. However, some library variants are particular to
features that do not correspond to any command-line options. Examples
include variants for multithreading and semihosting.

This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch comprises a
new section in `multilib.yaml` to declare flags for which no option
exists. Henceforth this sort of flag will be called `custom flag` for
clarity.

The `multilib.yaml` file will have a new section called Flags which
contains the declarations of the target’s custom flags:

```yaml
Flags:
- Name: multithreaded
  Values:
  - Name: no-multithreaded
    MacroDefines: [__SINGLE_THREAD__]
  - Name: multithreaded
  Default: no-multithreaded

- Name: io
  Values:
    - Name: io-none
    - Name: io-semihosting
      MacroDefines: [SEMIHOSTING]
    - Name: io-linux-syscalls
      MacroDefines: [LINUX_SYSCALLS, HOSTED=1]
   Default: io-none
```
- Name: the name to categorize a flag.
- Values: a list of possible values.
- Default: it specifies which value this flag should take if not
specified in the command-line invocation. It must be one value from the
Values field.

Each flag Value follows this description:
- Name (required): the name of the custom flag value (string). This is
the string to be used in `-fmultilib-flag=<string>`.
- MacroDefines (optional): a list of strings to be used as macro
definitions. Each string
  is fed into the driver as ``-D<string>``.

A Default value is useful to save users from specifying custom flags
that have a most commonly used value.

The namespace of flag values is common across all flags. This means that
flag values must be unique.


  Commit: a5b88cb815d8f38698a3064a727b59143e0dae42
      https://github.com/llvm/llvm-project/commit/a5b88cb815d8f38698a3064a727b59143e0dae42
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    A libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    R libclc/generic/include/clc/geometric/floatn.inc

  Log Message:
  -----------
  [libclc] Add missing includes to CLC headers (#118654)

There's no automatic way of checking these headers are self-contained.

Instead of including these common files many times across the whole
codebase, we can include them in the generic `gentype.inc` and
`floatn.inc` files which are included by most CLC headers.


  Commit: 9bc88280931e3b08adfab6951047191dfe12392b
      https://github.com/llvm/llvm-project/commit/9bc88280931e3b08adfab6951047191dfe12392b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/omptarget-if.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [OMPIRBuilder][MLIR] Add support for target 'if' clause (#122478)

This patch implements support for handling the 'if' clause of OpenMP
'target' constructs in the OMPIRBuilder and updates MLIR to LLVM IR
translation of the `omp.target` MLIR operation to make use of this new
feature.


  Commit: 2a044f8a092efb27fa1837f953bce8237d41e59b
      https://github.com/llvm/llvm-project/commit/2a044f8a092efb27fa1837f953bce8237d41e59b
  Author: Will Froom <will.froom at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp

  Log Message:
  -----------
  [MLIR] Add [[maybe_unused]] to variables on used in assert (#123037)

Add [[maybe_unused]] to suppresses warnings when  `-NDEBUG` is enabled


  Commit: defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
      https://github.com/llvm/llvm-project/commit/defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/config/windows/headers.txt
    M libc/include/sys/random.yaml
    M libc/include/unistd.yaml
    M libc/src/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getentropy.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/getentropy.cpp
    A libc/src/unistd/windows/CMakeLists.txt
    A libc/src/unistd/windows/getentropy.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getentropy_test.cpp

  Log Message:
  -----------
  [libc] implement unistd/getentropy (#122692)

Implement GNU extension getentropy. This function is used by many
programs to acquire entropy without handling the loop of getrandom.


  Commit: 9025c269aa0b394ea755978348f882f85013ed12
      https://github.com/llvm/llvm-project/commit/9025c269aa0b394ea755978348f882f85013ed12
  Author: David Green <david.green at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/adds_cmn.ll

  Log Message:
  -----------
  [AArch64] Add an extra test case for adds and subs combines. NFC


  Commit: e33f456ae591559883e89a1f18b2dec21225e90f
      https://github.com/llvm/llvm-project/commit/e33f456ae591559883e89a1f18b2dec21225e90f
  Author: LoS <kaffedesk at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
    A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-destructor-override
    A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-override
    A clang/test/SemaCXX/warn-suggest-override.cpp

  Log Message:
  -----------
  Fixed some warn-override tests in SemaCXX (#122680)

The `.cpp` extension have been added to test files, so that they can be
runned. Besides, the `warn-suggest-override.cpp` tests have been fixed.

---------

Co-authored-by: LoS <aurumpuro at gmail.com>


  Commit: c8bbbaa5c70a32f31a072740c87708be8f15f831
      https://github.com/llvm/llvm-project/commit/c8bbbaa5c70a32f31a072740c87708be8f15f831
  Author: jofrn <jofernau at amd.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll

  Log Message:
  -----------
  [SelectionDAG][AMDGPU] Negative offset when selecting scratch sv offsets (#122251)

APInt will fail when given a negative offset. SelectScratchSVAddr
utilizes this function and can be given a negative offset as well, so
this change modifies it to use APSInt instead.


  Commit: 6affc1837537a802531a5394535f1f0b7ca865cb
      https://github.com/llvm/llvm-project/commit/6affc1837537a802531a5394535f1f0b7ca865cb
  Author: Clement Courbet <courbet at google.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    A clang-tools-extra/test/clang-reorder-fields/Comments.cpp

  Log Message:
  -----------
  [clang-reorder-fields] Move trailing comments. (#122918)

Currently, trailing comments get mixed up:

```
struct Foo {
  int a; // This one is the cool field
         // within the struct.
  int b;
};
```

becomes:

```
struct Foo {
  int b; // This one is the cool field
         // within the struct.
  int a;
};
```

This should be:

```
struct Foo {
  int b;
  int a; // This one is the cool field
         // within the struct.
};
```


  Commit: f9350c9325bccb95e94583685bbb9322a15da610
      https://github.com/llvm/llvm-project/commit/f9350c9325bccb95e94583685bbb9322a15da610
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [clang][NFC] Update CODEOWNERS


  Commit: bfedf6460c2cad6e6f966b457d8d27084579dcd8
      https://github.com/llvm/llvm-project/commit/bfedf6460c2cad6e6f966b457d8d27084579dcd8
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll

  Log Message:
  -----------
  [LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop (#96752)

Currently when we encounter a negative step in the induction
variable isDereferenceableAndAlignedInLoop bails out because
the element size is signed greater than the step. This patch
adds support for negative steps in cases where we detect the
start address for the load is of the form base + offset. In
this case the address decrements in each iteration so we need
to calculate the access size differently. I have done this by
caling getStartAndEndForAccess from LoopAccessAnalysis.cpp.

The motivation for this patch comes from PR #88385 where a
reviewer requested reusing isDereferenceableAndAlignedInLoop,
but that PR itself does support reverse loops.

The changed test in LoopVectorize/X86/load-deref-pred.ll now
passes because previously we were calculating the total access
size incorrectly, whereas now it is 412 bytes and fits
perfectly into the alloca.


  Commit: b92e97bdd598f1d4676945c3e87d40404a367327
      https://github.com/llvm/llvm-project/commit/b92e97bdd598f1d4676945c3e87d40404a367327
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/BasicAA/memset-pattern.ll
    M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll

  Log Message:
  -----------
  [test] Pre-commit llvm.experimental.memset.pattern tests prior to MemoryLocation improvements

Reviewed as part of <https://github.com/llvm/llvm-project/pull/120421>.


  Commit: 70ffd62bc962de2b42a5fe88c87c54240da2d0f2
      https://github.com/llvm/llvm-project/commit/70ffd62bc962de2b42a5fe88c87c54240da2d0f2
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-01-15 (Wed, 15 Jan 2025)

  Changed paths:
    M .github/CODEOWNERS
    M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
    M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/clangd/CodeComplete.cpp
    M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-reorder-fields/Comments.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_type.py
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/ExternalASTMerger.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsHexagonDep.def
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Sema/MultiplexExternalSemaSource.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/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ExternalASTMerger.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/Multilib.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
    M clang/test/CXX/module/basic/basic.link/p2.cppm
    M clang/test/CXX/module/module.import/p2.cpp
    M clang/test/CXX/module/module.interface/p7.cpp
    M clang/test/CXX/module/module.reach/p5.cpp
    A clang/test/CodeGenCXX/debug-info-object-pointer.cpp
    A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
    M clang/test/Driver/aarch64-implied-sme-features.c
    M clang/test/Driver/modules-print-library-module-manifest-path.cpp
    M clang/test/Driver/print-supported-extensions-aarch64.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Modules/Reachability-template-default-arg.cpp
    M clang/test/Modules/cxx20-10-1-ex2.cpp
    M clang/test/Modules/deduction-guide3.cppm
    A clang/test/Modules/module-local-with-templates.cppm
    A clang/test/Modules/pr90154.cppm
    A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c
    M clang/test/Sema/uninit-variables.c
    M clang/test/SemaCXX/ptrauth-type-discriminator.cpp
    M clang/test/SemaCXX/uninitialized.cpp
    R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
    A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-destructor-override
    A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
    R clang/test/SemaCXX/warn-suggest-override
    A clang/test/SemaCXX/warn-suggest-override.cpp
    A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
    M clang/tools/libclang/CIndexCXX.cpp
    M clang/tools/libclang/CXType.cpp
    M clang/tools/libclang/libclang.map
    M clang/unittests/AST/ExternalASTSourceTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
    A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
    M flang/include/flang/Common/OpenMP-utils.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Frontend/CompilerInstance.h
    M flang/include/flang/Frontend/CompilerInvocation.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
    A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Semantics/tools.h
    A flang/include/flang/Support/StringOstream.h
    A flang/include/flang/Support/Timing.h
    M flang/lib/CMakeLists.txt
    M flang/lib/Common/OpenMP-utils.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/fold-designator.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Frontend/CompilerInstance.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/ConvertType.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/CMakeLists.txt
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/CMakeLists.txt
    A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
    A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
    M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
    M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/tools.cpp
    A flang/lib/Support/CMakeLists.txt
    A flang/lib/Support/Timing.cpp
    M flang/runtime/file.cpp
    M flang/runtime/io-api.cpp
    M flang/runtime/io-error.cpp
    M flang/runtime/io-error.h
    M flang/test/Driver/intrinsic-module-path.f90
    A flang/test/Driver/time-report.f90
    M flang/test/Driver/use-module.f90
    M flang/test/Fir/CUDA/cuda-data-transfer.fir
    M flang/test/Fir/CUDA/cuda-global-addr.mlir
    M flang/test/Fir/CUDA/cuda-launch.fir
    A flang/test/Fir/OpenACC/openacc-mappable.fir
    M flang/test/HLFIR/associate-codegen.fir
    M flang/test/Integration/OpenMP/target-filtering.f90
    M flang/test/Lower/OpenMP/function-filtering-2.f90
    M flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/function-filtering.f90
    A flang/test/Lower/OpenMP/host-eval.f90
    A flang/test/Lower/OpenMP/target-spmd.f90
    M flang/test/Lower/math-lowering/cosh.f90
    M flang/test/Lower/trigonometric-intrinsics.f90
    M flang/test/Preprocessing/bug129131.F
    A flang/test/Semantics/bug121971.f90
    A flang/test/Semantics/bug121972.f90
    A flang/test/Semantics/bug121973.f90
    A flang/test/Semantics/bug122002a.f90
    A flang/test/Semantics/bug122002b.f90
    A flang/test/Semantics/bug122045.f90
    A flang/test/Semantics/bug122060.f90
    A flang/test/Semantics/generic12.f90
    M flang/test/Semantics/modfile43.f90
    M flang/test/Semantics/modfile63.f90
    M flang/test/Semantics/modfile70.f90
    M flang/test/Semantics/reshape.f90
    M flang/test/Semantics/resolve12.f90
    M flang/test/Semantics/resolve26.f90
    A flang/test/Semantics/self-use.f90
    M flang/test/lib/CMakeLists.txt
    A flang/test/lib/OpenACC/CMakeLists.txt
    A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-lsp-server/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/windows/entrypoints.txt
    M libc/config/windows/headers.txt
    M libc/docs/CMakeLists.txt
    M libc/docs/build_and_test.rst
    R libc/docs/c23.rst
    R libc/docs/fullbuild_mode.rst
    A libc/docs/getting_started.rst
    M libc/docs/headers/index.rst
    M libc/docs/index.rst
    M libc/docs/porting.rst
    R libc/docs/usage_modes.rst
    M libc/include/sys/random.yaml
    M libc/include/unistd.yaml
    M libc/src/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/getentropy.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/getentropy.cpp
    A libc/src/unistd/windows/CMakeLists.txt
    A libc/src/unistd/windows/getentropy.cpp
    M libc/test/include/assert_test.cpp
    M libc/test/include/complex_test.cpp
    M libc/test/include/fpclassify_test.c
    M libc/test/include/fpclassify_test.cpp
    M libc/test/include/fpclassifyf_test.cpp
    M libc/test/include/fpclassifyl_test.cpp
    M libc/test/include/header-test-template.c
    M libc/test/include/iscanonical_test.c
    M libc/test/include/isfinite_test.c
    M libc/test/include/isfinite_test.cpp
    M libc/test/include/isfinitef_test.cpp
    M libc/test/include/isfinitel_test.cpp
    M libc/test/include/isinf_test.c
    M libc/test/include/isinf_test.cpp
    M libc/test/include/isinff_test.cpp
    M libc/test/include/isinfl_test.cpp
    M libc/test/include/isnan_test.c
    M libc/test/include/isnan_test.cpp
    M libc/test/include/isnanf_test.cpp
    M libc/test/include/isnanl_test.cpp
    M libc/test/include/isnormal_test.c
    M libc/test/include/isnormal_test.cpp
    M libc/test/include/isnormalf_test.cpp
    M libc/test/include/isnormall_test.cpp
    M libc/test/include/issignaling_test.c
    M libc/test/include/issubnormal_test.c
    M libc/test/include/issubnormal_test.cpp
    M libc/test/include/issubnormalf_test.cpp
    M libc/test/include/issubnormall_test.cpp
    M libc/test/include/iszero_test.c
    M libc/test/include/iszero_test.cpp
    M libc/test/include/iszerof_test.cpp
    M libc/test/include/iszerol_test.cpp
    M libc/test/include/signbit_test.c
    M libc/test/include/signbit_test.cpp
    M libc/test/include/signbitf_test.cpp
    M libc/test/include/signbitl_test.cpp
    M libc/test/include/stdbit_stub.h
    M libc/test/include/stdbit_test.c
    M libc/test/include/stdbit_test.cpp
    M libc/test/include/stdckdint_test.cpp
    M libc/test/include/sys/queue_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/getentropy_test.cpp
    M libc/test/src/unistd/getopt_test.cpp
    A libc/utils/docgen/pthread.yaml
    A libc/utils/docgen/sys/resource.yaml
    A libclc/clc/include/clc/geometric/floatn.inc
    M libclc/clc/include/clc/integer/gentype.inc
    M libclc/clc/include/clc/math/gentype.inc
    M libclc/clc/include/clc/math/unary_intrin.inc
    M libclc/clc/include/clc/relational/clc_all.h
    M libclc/clc/include/clc/relational/clc_any.h
    M libclc/clc/include/clc/relational/clc_isequal.h
    M libclc/clc/include/clc/relational/clc_isinf.h
    M libclc/clc/include/clc/relational/clc_isnan.h
    M libclc/clc/include/clc/relational/floatn.inc
    M libclc/clc/include/clc/shared/clc_clamp.h
    R libclc/generic/include/clc/geometric/floatn.inc
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/fill_n.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/inplace_merge.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit_reference
    M libcxx/include/__fwd/bit_reference.h
    M libcxx/include/__memory/destruct_n.h
    M libcxx/include/__new/global_new_delete.h
    M libcxx/include/__vector/vector.h
    M libcxx/include/algorithm
    M libcxx/include/barrier
    M libcxx/include/bitset
    M libcxx/include/module.modulemap
    M libcxx/include/tuple
    M libcxx/src/CMakeLists.txt
    M libcxx/src/barrier.cpp
    M libcxx/test/benchmarks/GenerateInput.h
    M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
    M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
    M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
    M libcxxabi/src/CMakeLists.txt
    M lld/COFF/InputFiles.cpp
    A lld/test/COFF/info-sec.s
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/include/lldb/Target/SectionLoadHistory.h
    M lldb/include/lldb/Target/Target.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/API/SBInstructionList.cpp
    M lldb/source/Breakpoint/BreakpointLocationList.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectRegister.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/DumpDataExtractor.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Section.cpp
    M lldb/source/Core/Value.cpp
    M lldb/source/DataFormatters/CXXFunctionPointer.cpp
    M lldb/source/Expression/ObjectFileJIT.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
    M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Target/MemoryRegionInfo.cpp
    M lldb/source/Target/ProcessTrace.cpp
    M lldb/source/Target/SectionLoadHistory.cpp
    M lldb/source/Target/StructuredDataPlugin.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/Target/ThreadPlanTracer.cpp
    M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/main.c
    A lldb/test/API/linux/aarch64/gcs/Makefile
    A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
    A lldb/test/API/linux/aarch64/gcs/main.c
    M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
    M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
    M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
    M lldb/unittests/Target/RegisterFlagsTest.cpp
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/CodeGen/ModuloSchedule.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/include/llvm/IR/CmpPredicate.h
    M llvm/include/llvm/IR/DebugInfoMetadata.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/Support/Path.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/module.modulemap
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/InitUndef.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SplitKit.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
    M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
    M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
    M llvm/lib/Target/DirectX/DXILShaderFlags.h
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
    M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
    M llvm/lib/Target/Hexagon/HexagonSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.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/VectorCombine.cpp
    A llvm/test/Analysis/BasicAA/memset-pattern.ll
    A llvm/test/CodeGen/AArch64/adds_cmn.ll
    M llvm/test/CodeGen/AArch64/eon.ll
    M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
    M llvm/test/CodeGen/AMDGPU/sink-image-sample.ll
    M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
    M llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    A llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll
    M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
    M llvm/test/CodeGen/NVPTX/fma.ll
    M llvm/test/CodeGen/NVPTX/i128.ll
    M llvm/test/CodeGen/NVPTX/shift-parts.ll
    M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
    A llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
    M llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
    M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/trunc-vector-width.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    M llvm/test/CodeGen/X86/x86-interleaved-access.ll
    M llvm/test/DebugInfo/X86/multiple-at-const-val.ll
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/bftmopa.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
    M llvm/test/MC/AArch64/SME2p2/directive-cpu.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ftmopa.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/stmopa.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/sutmopa.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
    M llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
    M llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/ustmopa.s
    M llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p2/utmopa.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
    A llvm/test/MachineVerifier/stack-protector-offset.mir
    M llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
    A llvm/test/Transforms/CorrelatedValuePropagation/ctpop-range.ll
    M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
    M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll
    M llvm/test/Transforms/EarlyCSE/guards.ll
    M llvm/test/Transforms/FunctionAttrs/initializes.ll
    M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
    M llvm/test/Transforms/InstCombine/select-cmp.ll
    M llvm/test/Transforms/InstCombine/str-int-2.ll
    M llvm/test/Transforms/InstCombine/str-int-3.ll
    M llvm/test/Transforms/InstCombine/str-int.ll
    M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
    M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
    M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
    M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
    A llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
    M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
    M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
    M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
    A llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
    M llvm/test/Transforms/LoopVersioning/incorrect-phi.ll
    M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
    M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    M llvm/test/tools/llvm-exegesis/lit.local.cfg
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
    M llvm/tools/spirv-tools/CMakeLists.txt
    M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp
    M mlir/include/mlir-c/Dialect/EmitC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
    M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
    A mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
    M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
    M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/CAPI/Dialect/EmitC.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/IR/BuiltinTypeInterfaces.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/Interfaces/ViewLikeInterface.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
    M mlir/test/Dialect/Tosa/canonicalize.mlir
    M mlir/test/Dialect/Tosa/invalid.mlir
    M mlir/test/Dialect/Tosa/level_check.mlir
    M mlir/test/Dialect/Tosa/ops.mlir
    M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
    M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
    M mlir/test/Target/Cpp/declare_func.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/if.mlir
    A mlir/test/Target/Cpp/no_extra_semicolon.mlir
    M mlir/test/Target/Cpp/switch.mlir
    M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
    M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
    M mlir/test/Target/LLVMIR/omptarget-debug.mlir
    M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
    A mlir/test/Target/LLVMIR/omptarget-if.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
    M mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
    A mlir/test/Target/LLVMIR/openmp-target-launch-host.mlir
    M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Transforms/mem2reg.mlir
    M mlir/test/Transforms/sroa.mlir
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/utils/vim/ftplugin/mlir.vim
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/test/offloading/pgo1.c
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/vhscampos/multilib-flags-processing


Compare: https://github.com/llvm/llvm-project/compare/71dd4c28c6ab...70ffd62bc962

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