[all-commits] [llvm/llvm-project] d4182f: [InstCombine] move foldAndOrOfICmpsOfAndWithPow2 i...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Fri Jan 10 07:40:36 PST 2025


  Branch: refs/heads/users/kparzysz/spr/m02-selectors
  Home:   https://github.com/llvm/llvm-project
  Commit: d4182f1b5649da34e39c6dd22502c7995c406a5e
      https://github.com/llvm/llvm-project/commit/d4182f1b5649da34e39c6dd22502c7995c406a5e
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/test/Transforms/InstCombine/onehot_merge.ll

  Log Message:
  -----------
  [InstCombine] move foldAndOrOfICmpsOfAndWithPow2 into foldLogOpOfMaskedICmps (#121970)


  Commit: 570f03096a195be6302747cefda0af13ac70d2eb
      https://github.com/llvm/llvm-project/commit/570f03096a195be6302747cefda0af13ac70d2eb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  Revert "Reapply "[libc++] Explicitly convert to masks in SIMD code (#107983)"" (#122022)

Reverts llvm/llvm-project#121352

Triggers "vector type should not be a bool!" on:
```
  bool a[100];
  bool b[100];
  auto t = std::mismatch(std::begin(a), std::end(a), std::begin(b), std::end(b));
```

https://godbolt.org/z/Y73s3sdef


  Commit: 3972ed57088f6515b787d7d38dec03dc74e51827
      https://github.com/llvm/llvm-project/commit/3972ed57088f6515b787d7d38dec03dc74e51827
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  Revert "[Clang] Implement CWG2369 "Ordering between constraints and substitution"" (#122130)

Unfortunately that breaks some code on Windows when lambdas come into
play, as reported in
https://github.com/llvm/llvm-project/pull/102857#issuecomment-2577861178

This reverts commit 96eced624e0f120155256033fdcb8342e7e58d6e.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Use GenericTable PrimaryKey to remove one of the SearchIndexes for SysRegs. NFC (#122001)

Use PrimaryKeyReturnRange to get all of the registers with the same
encoding. This allows AltName to be removed.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h

  Log Message:
  -----------
  [AArch64] Simplify ExactFPImm GenericTable. NFC (#121827)

lookupExactFPImmByRepr is never called. The Name field in the table is
unused. The Name is only used by the GenericEnum.


  Commit: b3ce6dc7232c566c21b84ac5d5795341a355ff79
      https://github.com/llvm/llvm-project/commit/b3ce6dc7232c566c21b84ac5d5795341a355ff79
  Author: Arda Unal <3157490+ardaunal at users.noreply.github.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/test/Transforms/loop-invariant-code-motion.mlir

  Log Message:
  -----------
  [mlir][licm] Make scf.if recursively speculatable (#122031)

This change:

-  makes **scf.if** recursively speculatable like **affine.if** is. 

- also introduces related LICM tests for both **scf.if** and
**affine.if**


  Commit: ae6a7809b74741a4227c45a88cbfb6735c58c70a
      https://github.com/llvm/llvm-project/commit/ae6a7809b74741a4227c45a88cbfb6735c58c70a
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    A llvm/test/tools/dxil-dis/fastmath.ll

  Log Message:
  -----------
  [HLSL] [DirectX] translate llvm fast math flags to llvm 3.7 fast math flags (#122025)

Translate modern LLVM fast math flags to LLVM 3.7 equivalent in DXIL
bitcode. Mostly use patch from #120630
Closes #120630


  Commit: 911880e8a7afdb6dc1fcb436af4e7eadfcacd30b
      https://github.com/llvm/llvm-project/commit/911880e8a7afdb6dc1fcb436af4e7eadfcacd30b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn] port 71ddde8ba52a (LLVMExegesisRISCVTests)


  Commit: d6ae3d3070a2d0578ccb5cd072007cca922cba36
      https://github.com/llvm/llvm-project/commit/d6ae3d3070a2d0578ccb5cd072007cca922cba36
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/RISCV/BUILD.gn

  Log Message:
  -----------
  [gn] port afa8aeeeec (RISCVGenExegesis.inc)


  Commit: e93181bf13b289823810d3b43bcc3c2df1eda70b
      https://github.com/llvm/llvm-project/commit/e93181bf13b289823810d3b43bcc3c2df1eda70b
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector fp-conversion instruction to isSupportedInstr (#122033)

When these instructions are marked nofpexcept, we can optimize them.
There are some added toggles in the output, likley because other
noexcept fp instructions are not part of isSupportedInstr yet. We may
want to avoid marking an instruction as isSupported in the future if any
of its FP users are missing nofpexcept to avoid added toggles. However,
we seem to get some GPRs back as a result of this change, which may
outweigh the cost of avoiding extra toggles.

The plan is to follow this patch up with added support for more FP
instructions in the same way. The instructions in this patch are a
natural starting point because they allow us to test with integer
instructions which have good support already.


  Commit: 0b722de4a57f6dfc032bb7ab6b101b4e05bf8e72
      https://github.com/llvm/llvm-project/commit/0b722de4a57f6dfc032bb7ab6b101b4e05bf8e72
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 30ba8be22eb0


  Commit: 983a957768c56d71ca710ff43eab4515e47f7d2c
      https://github.com/llvm/llvm-project/commit/983a957768c56d71ca710ff43eab4515e47f7d2c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOpt] Consolidate EMUL=SEW/EEW*LMUL logic [NFC] (#122021)

All but one of the cases in tree today have EMUL=SEW/EEW*LMUL. Repeating
this each time is verbose and introduces oppurtunity for error. (For
instance, the comment associated with vwmul.vv was out of sync with the
code for same.)

Introduce getOperandLog2EEW and move most complexity to it. Then
introduce getOperandInfo as a wrapper around previous, and special case
the one case which requires it.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 8e65940161cd5a7dea5896fe4ae057d4cc07c703
      https://github.com/llvm/llvm-project/commit/8e65940161cd5a7dea5896fe4ae057d4cc07c703
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    A clang/test/CodeGen/AArch64/fmv-priority.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    A llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp

  Log Message:
  -----------
  [FMV][AArch64] Simplify version selection according to ACLE. (#121921)

Currently, the more features a version has, the higher its priority is.
We are changing ACLE https://github.com/ARM-software/acle/pull/370 as
follows:

"Among any two versions, the higher priority version is determined by
 identifying the highest priority feature that is specified in exactly
 one of the versions, and selecting that version."


  Commit: cdbba15c6cd53291358bf95a9a9057042fcbf163
      https://github.com/llvm/llvm-project/commit/cdbba15c6cd53291358bf95a9a9057042fcbf163
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/utils/hdrgen/main.py

  Log Message:
  -----------
  [libc] Add --write-if-changed switch to hdrgen/main.py (#122037)

This avoids touching the output file when it hasn't changed.  The
cmake build integration now uses this so that touching a .yaml or
.h.def file in ways that don't affect the generated header output
won't cause unnecessary recompilations.


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

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_type_info.f90
    A flang/test/Lower/CUDA/cuda-cdevloc.cuf

  Log Message:
  -----------
  [flang][cuda] Add c_devloc as intrinsic and inline it during lowering (#120648)

Add `c_devloc` as intrinsic and inline it during lowering. `c_devloc` is
used in CUDA Fortran to get the address of device variables.

For the moment, we borrow almost all semantic checks from `c_loc` except
for the pointer or target restriction. The specifications of `c_devloc`
are are pretty vague and we will relax/enforce the restrictions based on
library and apps usage comparing them to the reference compiler.


  Commit: bb9785a2acf7012fb2a9ae6a86e5cc1b64b11e74
      https://github.com/llvm/llvm-project/commit/bb9785a2acf7012fb2a9ae6a86e5cc1b64b11e74
  Author: Prabhuk <prabhukr at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/uefi-constructed-args.c

  Log Message:
  -----------
  [Driver][UEFI] Enable Microsoft extensions (#121875)

Set "-fms-extensions" for UEFI targets.


  Commit: 75781fa3c77f14640459a97d4265dda76d80e453
      https://github.com/llvm/llvm-project/commit/75781fa3c77f14640459a97d4265dda76d80e453
  Author: swalk-qualcomm <quic_walk at qualcomm.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    A llvm/test/CodeGen/Hexagon/loopIdiom.ll

  Log Message:
  -----------
  Hexagon loop idiom pass segfaults when -debug present (#121828)

There was an unprotected use of a function that could return the null
pointer.

---------

Co-authored-by: Steve Walk <walk at qti.qualcomm.com>


  Commit: f9c2377fb68e5051b3061186c507f7b87db2a8b2
      https://github.com/llvm/llvm-project/commit/f9c2377fb68e5051b3061186c507f7b87db2a8b2
  Author: Michael Jones <michaelrj at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_tm.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/time/CMakeLists.txt
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/ctime.cpp
    M libc/src/time/ctime_r.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.h
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/time.cpp
    A libc/src/time/time_constants.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/test/src/time/asctime_r_test.cpp
    M libc/test/src/time/clock_gettime_test.cpp
    M libc/test/src/time/clock_test.cpp
    M libc/test/src/time/ctime_r_test.cpp
    M libc/test/src/time/difftime_test.cpp
    M libc/test/src/time/gettimeofday_test.cpp
    M libc/test/src/time/gmtime_r_test.cpp
    M libc/test/src/time/gmtime_test.cpp
    M libc/test/src/time/mktime_test.cpp
    M libc/test/src/time/nanosleep_test.cpp

  Log Message:
  -----------
  [libc][NFC] Cleanup time.h (#122027)

While working on strftime I noticed some constants were being defined in
unexpected places. One thing led to another, and I ended up doing a
major cleanup of the time functions.

What's included:
All uses of <time.h> in /src and /test removed (except for LibcTest.cpp)
The various time constants have been moved to time_constants.h, and the
`time_constants` namespace.
struct tm gets its own type indirection header now.


  Commit: 0b4fca5b75b6965e630d4c94f573ba5184f75f67
      https://github.com/llvm/llvm-project/commit/0b4fca5b75b6965e630d4c94f573ba5184f75f67
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOpt] Remove State field from OperandInfo [nfc] (#122160)

We can just use a std::optional to wrap the operand info instead. The
state field is confusing as we have a "partially known" state where EEW
is known and EMUL is nullopt, but it's still "Known".


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

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

  Log Message:
  -----------
  [VectorCombine] Use getInstructionCost to cost Shuffle. (#122068)

This allows it to produce a more accurate cost for the shuffle, using
the more accurate calls to getShuffleCost in getInstructionCost. It
helps fix some of the regressions from vector combine a little while
ago, now that we have better subvector extract costs.


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

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    M clang/test/Driver/lto.c

  Log Message:
  -----------
  [clang] Propagate -ftime-report to offload lto (#122143)


  Commit: 508398021d094ecfe6cea937d619c77121990e0d
      https://github.com/llvm/llvm-project/commit/508398021d094ecfe6cea937d619c77121990e0d
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/fixedvector.h
    M libc/src/stdlib/exit_handler.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add hardening for FixedVector data structure and fix exposed bug. (#122159)

Add LIBC_ASSERT statements to FixedVector implementation, and zero out
the memory when the elements are removed to flag out-of-bound access and
dangling pointer/reference access.

This change unmasks the bug in one of FixedVector uses for atexit
handlers: dangling reference use, which was actually led to crashes in
the wild (with prod blockstore implementation). Fix it in this CL.


  Commit: 7453d7645c366e3b6b141789b49f10dc603a6abd
      https://github.com/llvm/llvm-project/commit/7453d7645c366e3b6b141789b49f10dc603a6abd
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Silence inappropriate error message (#120614)

A recent patch added better compatibility checking for actual procedure
arguments, but it has led to a few failures in the Fujitsu Fortran test
suite in cases of NULL() actual arguments being associated with dummy
procedure pointers. As is the case with dummy data pointers, these must
always be accepted.

Fixes Fujitsu Fortran test cases 0249_0023 through 0028 and 0387_0047.


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

  Changed paths:
    M flang/lib/Semantics/pointer-assignment.cpp
    A flang/test/Semantics/assign16.f90

  Log Message:
  -----------
  [flang] Better handling of weird pointer assignment case (#120628)

F'2023 C1017 permits the assignment of an unlimited polymorphic data
target to a monomorphic LHS pointer when the LHS pointer has a sequence
derived type (BIND(C) or SEQUENCE attribute). We allowed for this in
pointer assignments that don't have a function reference as their RHS.
Extend this support to function references, and also ensure that rank
compatibility is still checked.


  Commit: 7463b46a34efedbc3a72d05721886284e80b5cce
      https://github.com/llvm/llvm-project/commit/7463b46a34efedbc3a72d05721886284e80b5cce
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/runtime/edit-input.cpp

  Log Message:
  -----------
  [flang][runtime] Fix use of empty optional in BOZ input (#120789)

Slava reported a valgrind result showing the use of uninitialized data
due to an unconditional dereference of an optional in BOZ formatted
input editing; fix.


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

  Changed paths:
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/Integration/debug-local-var-2.f90
    M flang/test/Parser/at-process.f
    A flang/test/Parser/unparseable.f90

  Log Message:
  -----------
  [flang] Detect and report parsing failure (#121349)

The flang-new driver doesn't check for the case of the parser failing to
consume the entire input file. This is of course never an ideal outcome,
and usually signals a need to improve error recovery, but it is better
for the compiler to admit failure rather than to silently proceed with
compilation of what may well be an incomplete parse tree.


  Commit: 94963919011d77c2f3f9d867cb73067a4f50e87c
      https://github.com/llvm/llvm-project/commit/94963919011d77c2f3f9d867cb73067a4f50e87c
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/shape.h
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/test/Semantics/lcobound.f90
    M flang/test/Semantics/ucobound.f90

  Log Message:
  -----------
  [flang] Fold LCOBOUND & UCOBOUND (#121411)

Implement constant folding for LCOBOUND and UCOBOUND intrinsic
functions. Moves some error detection code from intrinsics.cpp to
fold-integer.cpp so that erroneous calls get properly flagged and
converted into known errors.


  Commit: 07b3bba901e7d51b3173631d6af811eae9d84cda
      https://github.com/llvm/llvm-project/commit/07b3bba901e7d51b3173631d6af811eae9d84cda
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/test/Semantics/definable01.f90

  Log Message:
  -----------
  [flang] Allow LOCK_TYPE & al. to associate with INTENT(IN OUT) (#121413)

We're emitting a bogus semantic error message about an actual argument
being undefinable when associating LOCK_TYPE, EVENT_TYPE, and someday
NOTIFY_TYPE with an INTENT(IN OUT) dummy argument. These types indeed
make many definition contexts invalid, and the actual argument
associated with an INTENT(IN OUT) dummy argument must indeed be
definable, but the argument association itself is not a problem.


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

  Changed paths:
    M flang/module/__fortran_builtins.f90
    M flang/test/Semantics/get_team.f90

  Log Message:
  -----------
  [flang] Add default component initialization to some built-in types (#121416)

The standard requires EVENT_TYPE, LOCK_TYPE, NOTIFY_TYPE, and TEAM_TYPE
to have full default initialization for their nonallocatable private
components.


  Commit: 510285cd67a7f7626ba6d6733207480ca5b2b469
      https://github.com/llvm/llvm-project/commit/510285cd67a7f7626ba6d6733207480ca5b2b469
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/call04.f90

  Log Message:
  -----------
  [flang] Fix allocatable coarray INTENT(OUT) check (#121528)

An allocatable coarray being argument associated with a non-allocatable
INTENT(OUT) dummy argument is not an error.


  Commit: 9462ce885b2a067fdd20568ba9105489f3b34c53
      https://github.com/llvm/llvm-project/commit/9462ce885b2a067fdd20568ba9105489f3b34c53
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [flang] Fix crash when handling benign USE conflict (#121977)

When the same name is used for distinct derived types in two modules,
and at least one of those modules also defines a generic interface of
the same name, name resolution crashes when both modules are USE'd into
the same scope. The crash is due to some pointers into the symbol table
becoming invalid when a symbol is replaced with a UseErrorDetails; set
them to null. Also allow for extending a UseErrorDetails in place rather
than emitting a spurious error message.

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


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

  Changed paths:
    M flang/docs/Extensions.md
    M flang/include/flang/Common/format.h
    M flang/test/Semantics/io07.f90
    M flang/test/Semantics/io08.f90
    M flang/unittests/Runtime/LogicalFormatTest.cpp

  Log Message:
  -----------
  [flang] Accept L0 (#121998)

Accept a zero field width for formatted logical output (L0),
interpreting it as if it had been L1.


  Commit: 3a8a52f4a52e0c301a5f3d6acce684c7fd4a6d57
      https://github.com/llvm/llvm-project/commit/3a8a52f4a52e0c301a5f3d6acce684c7fd4a6d57
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/test/Semantics/resolve94.f90
    M flang/test/Semantics/this_image01.f90

  Log Message:
  -----------
  [flang] Make IsCoarray() more accurate (#121415)

A designator without cosubscripts can have subscripts, component
references, substrings, &c. and still have corank. The current
IsCoarray() predicate only seems to work for whole variable/component
references. This was breaking some cases of THIS_IMAGE().


  Commit: 3c2fc7a45ae230a32e473e093b4583079050a969
      https://github.com/llvm/llvm-project/commit/3c2fc7a45ae230a32e473e093b4583079050a969
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [flang] Refine tokenization trick that hid macro name (#121990)

In order to properly expose the Hollerith editing item in something like
FORMAT(3I9HHOLLERITH) as its own token, the tokenization routine in the
prescanner has special handling for digit strings followed by letters
("3I" above). This handler's effects are too broad, and prevent a macro
name from being recognized as such in a reported bug; make the test for
a hidden Hollerith more precise.

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


  Commit: 647e8d8dee8c2b68f0b9da7956e4af272b52149b
      https://github.com/llvm/llvm-project/commit/647e8d8dee8c2b68f0b9da7956e4af272b52149b
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M lldb/source/Host/openbsd/Host.cpp

  Log Message:
  -----------
  [lldb][OpenBSD] Make use of Environment class (#122040)


  Commit: ac08f0dfef27b7627bd975b7d096a6dfb43c0fe2
      https://github.com/llvm/llvm-project/commit/ac08f0dfef27b7627bd975b7d096a6dfb43c0fe2
  Author: Alina Sbirlea <asbirlea at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port 8e65940161cd5a7dea5896fe4ae057d4cc07c703


  Commit: 2c2accbcc6b0f132182a35b65ac76c038912cd1e
      https://github.com/llvm/llvm-project/commit/2c2accbcc6b0f132182a35b65ac76c038912cd1e
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-self-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    M clang/tools/libclang/CIndex.cpp

  Log Message:
  -----------
  [OpenACC] Enable 'self' sema for 'update' construct

The 'self' clause is an unfortunately difficult one, as it has a
significantly different meaning between 'update' and the other
constructs.  This patch introduces a way for the 'self' clause to work
as both.  I considered making this two separate AST nodes (one for
'self' on 'update' and one for the others), however this makes the
automated macros/etc for supporting a clause break.

Instead, 'self' has the ability to act as either a condition or as a
var-list clause.  As this is the only one of its kind, it is implemented
all within it.  If in the future we have more that work like this, we
should consider rewriting a lot of the macros that we use to make
clauses work, and make them separate ast nodes.


  Commit: 3b92cf281a20a90717e481f80cc010da8096c249
      https://github.com/llvm/llvm-project/commit/3b92cf281a20a90717e481f80cc010da8096c249
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libcxx/include/__type_traits/unwrap_ref.h

  Log Message:
  -----------
  [libc++] Add _LIBCPP_NODEBUG to __unwrap_ref_decay_t

`__unwrap_ref_decay_t` should be marked `_LIBCPP_NODEBUG`, since it's
and internal type alias and this causes our CI to fail currently, since
we started enforcing this policy via clang-tidy.


  Commit: 5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767
      https://github.com/llvm/llvm-project/commit/5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [clang] Infer capture_by for insert_or_assign (#122109)

Useful for maps:
https://en.cppreference.com/w/cpp/container/map/insert_or_assign


  Commit: 891481ed82b8d17b9013b332754df171910fb115
      https://github.com/llvm/llvm-project/commit/891481ed82b8d17b9013b332754df171910fb115
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/test/SemaOpenACC/update-construct-ast.cpp

  Log Message:
  -----------
  [OpenACC] Add missing 'check' line to update-construct-ast test.

I must have deleted this by accident, and my local run's address managed
to have a '1' in the address, so it didn't catch it!  This corrects the
test.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll

  Log Message:
  -----------
  [AArch64] Add additional div and rem test coverage. NFC


  Commit: 560b72c0408a8f7e4340a1d4197b164a14cd30b0
      https://github.com/llvm/llvm-project/commit/560b72c0408a8f7e4340a1d4197b164a14cd30b0
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    A llvm/test/CodeGen/NVPTX/disjoint-or-addr.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll

  Log Message:
  -----------
  [NVPTX] Support address offsets added with disjoint or (#122042)

Sometime DAGCombiner gets a little too clever and converts an add of a
small constant offset to a highly aligned pointer into a 'disjoint or'.
When looking for address operands handle this case as well.


  Commit: 0d921f96d48c796837fc6d83f28a33b42220f5c2
      https://github.com/llvm/llvm-project/commit/0d921f96d48c796837fc6d83f28a33b42220f5c2
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Introduce and use createInsertVector helper function, NFC


  Commit: 2b26ee6e790574e05c3c9a562bc37897daf0f384
      https://github.com/llvm/llvm-project/commit/2b26ee6e790574e05c3c9a562bc37897daf0f384
  Author: James Y Knight <jyknight at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/print.cpp
    M libcxx/src/system_error.cpp
    A libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libcxx] Handle windows system error code mapping in std::error_code. (#93101)

The `std::error_code`/`std::error_category` functionality is designed to
support multiple error domains. On Unix, both system calls and libc
functions return the same error codes, and thus, libc++ today treats
`generic_category()` and `system_category()` as being equivalent.

However, on Windows, libc functions return `errno.h` error codes in the
`errno` global, but system calls return the very different `winerror.h`
error codes via `GetLastError()`.

As such, there is a need to map the winerror.h error codes into generic
errno codes. In libc++, however, the system_error facility does not
implement this mapping; instead the mapping is hidden inside libc++,
used directly by the std::filesystem implementation.

That has a few problems:

1. For std::filesystem APIs, the concrete windows error number is lost,
before users can see it. The intent of the distinction between
std::error_code and std::error_condition is that the error_code return
has the original (potentially more detailed) error code.

2. User-written code which calls Windows system APIs requires this same
mapping, so it also can also return error_code objects that other
(cross-platform) code can understand.

After this commit, an `error_code` with `generic_category()` is used to
report an error from `errno`, and, on Windows only, an `error_code` with
`system_category()` is used to report an error from `GetLastError()`. On
Unix, system_category remains identity-mapped to generic_category, but
is never used by libc++ itself.

The windows error code mapping is moved into system_error, so that
conversion of an `error_code` to `error_condition` correctly translates
the `system_category()` code into a `generic_category()` code, when
appropriate.

This allows code like:
`error_code(GetLastError(), system_category()) == errc::invalid_argument`
to work as expected -- as it does with MSVC STL.

(Continued from old phabricator review [D151493](https://reviews.llvm.org/D151493))


  Commit: b9c932e5d6269fb0233ad5e70084e99e36ed4472
      https://github.com/llvm/llvm-project/commit/b9c932e5d6269fb0233ad5e70084e99e36ed4472
  Author: Ian Anderson <iana at apple.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    A clang/test/Driver/darwin-embedded-search-paths-libcxx.c
    M clang/test/Driver/darwin-embedded-search-paths.c

  Log Message:
  -----------
  [test][Driver][clang] Fix darwin-embedded-search-paths.c when CLANG_DEFAULT_CXX_STDLIB is libc++ (#122145)

Split darwin-embedded-search-paths.c into two tests for the different
values of CLANG_DEFAULT_CXX_STDLIB.


  Commit: 5b76a2e51bd2765ad702cc1b249b9aacac9ea44e
      https://github.com/llvm/llvm-project/commit/5b76a2e51bd2765ad702cc1b249b9aacac9ea44e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

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

  Log Message:
  -----------
  [SLP]Correctly calculate mask for the inserted vector


  Commit: b48b99f6253c917a15b698a68c1bf41d15ea6dc6
      https://github.com/llvm/llvm-project/commit/b48b99f6253c917a15b698a68c1bf41d15ea6dc6
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll

  Log Message:
  -----------
  [hwasan] Add test case for null pointer dereference (#122186)

This shows that HWASan will emit a memaccess intrinsic for null pointer
dereferences, with or without a fixed shadow.

This is a simplification of an internal bug report by dvyukov.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/kcfi-isel-mir.ll
    M llvm/test/CodeGen/RISCV/kcfi-mir.ll

  Log Message:
  -----------
  [RISCV] Add call preserved regmask to tail calls. (#122181)

Every call should have regmask operand to indicate what registers are
preserved or clobbered by the call. VirtRegRewriter uses this to tell
MachineRegisterInfo what registers are clobbered by a function. If the
mask isn't present the registers potentially clobbered by a tail called
function aren't counted. I have checked ARM, AArch64, and X86 and they
all have a regmask operand on their tail calls.

I believe this fixes an issue I'm seeing with IPRA.


  Commit: 3cb9648420fde52a4bcd429f5c1d174cd06051e7
      https://github.com/llvm/llvm-project/commit/3cb9648420fde52a4bcd429f5c1d174cd06051e7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [llvm-jitlink] Shut down the session on an error return path.

Ensures cleanup of task dispatcher threads. This may address some of the
nondeterministic failures seen in llvm-jitlink regression tests recently.


  Commit: 831287620567559e7078cb7f4cd1962d35c49893
      https://github.com/llvm/llvm-project/commit/831287620567559e7078cb7f4cd1962d35c49893
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp

  Log Message:
  -----------
  [ORC] Fix Task cleanup during DynamicThreadPoolTaskDispatcher::shutdown.

Threads created by DynamicThreadPoolTaskDispatcher::dispatch had been holding a
unique_ptr to the most recent Task, meaning that the Task would be destroyed
when the thread object was destroyed, but this would happen *after* the thread
signaled the Dispatcher that it was finished. This could cause
DynamicThreadPoolTaskDispatcher::shutdown to return (and consequently
ExecutionSession to be destroyed) before all Tasks were destroyed, with Task
destructors accessing ExecutionSession and related objects after they were
freed.

The fix is to reset the Task pointer immediately after it is run to trigger
cleanup, *then* (if there are no other tasks to run) signal the Dispatcher that
the thread is finished.

This patch also updates DynamicThreadPoolTaskDispatcher::dispatch to reject any
new Tasks dispatched after DynamicThreadPoolTaskDispatcher::shutdown is called.


  Commit: cba9bd5cb07717daabcddd9850957b3a1cfe3e47
      https://github.com/llvm/llvm-project/commit/cba9bd5cb07717daabcddd9850957b3a1cfe3e47
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/BufferLoad-sm61.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad-error64.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Implement the resource.load.rawbuffer intrinsic (#121012)

This introduces `@llvm.dx.resource.load.rawbuffer` and generalizes the
buffer load docs under DirectX/DXILResources.

This resolves the "load" parts of #106188


  Commit: 160a408a870b6a7a46cebfd58f8e2a0893e21632
      https://github.com/llvm/llvm-project/commit/160a408a870b6a7a46cebfd58f8e2a0893e21632
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp

  Log Message:
  -----------
  [ORC] Remove an unused typedef.


  Commit: fce0314c384f72cacbfcce148c9d110687c78261
      https://github.com/llvm/llvm-project/commit/fce0314c384f72cacbfcce148c9d110687c78261
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    A llvm/test/DebugInfo/X86/dwarf5-debug-names-addr-tu-to-non-tu.ll

  Log Message:
  -----------
  [LLVM][DWARF] Create debug names entry for non-tu top level DIE (#121856)

When creating a Type Unit (TU), LLVM attempts to do so optimistically.
However, if this fails, it discards the TU state and creates the TU
within the Compilation Unit (CU). In such cases, an entry for the
top-level DIE is not created in the debug names table.
This can cause issues when running llvm-dwarfdump --debug-names
--verify, as the missing entry will result in verification failure.
To address this issue, this patch adds a call to the
updateAcceleratorTables when TU creation fails. This ensures that the
debug names table is updated correctly, even in cases where TU creation
fails.


  Commit: 5ae44bf718a460a2d5fd3636c8182093e1e27e7a
      https://github.com/llvm/llvm-project/commit/5ae44bf718a460a2d5fd3636c8182093e1e27e7a
  Author: wanglei <wanglei at loongson.cn>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp

  Log Message:
  -----------
  [LoongArch] Add debug location for register reload

Although the automatically inserted reload instruction in the `Epilogue`
is unrelated to the original code, in order to improve debugger
functionality, we have re-added debugging location information in the
reload instruction. When using an empty debugging location, the
following issue occurs:
```
loongson at linux:~$ cat -n test.c
 1  int printf(const char *, ...);
 2  int main(int argc, char **argv) {
 3    printf("%d\n", argc);
 4    return 0;
 5  }
 clang -g -O0 test.c -o test
```
Without this patch, the debugger is unable to correctly access the
current stack information when a breakpoint is set on line 4:

```
loongson at linux:~$ gdb -q ./test
Reading symbols from ./test...
(gdb) break 4
Breakpoint 1 at 0x7c0: file test.c, line 4.
(gdb) run
Starting program: /home/wanglei/test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/loongarch64-linux-gnu/libthread_db.so.1".
1

Breakpoint 1, main (argc=<error reading variable: Cannot access memory at address 0xffffffffffffffe8>,
    argv=<error reading variable: Cannot access memory at address 0xffffffffffffffe0>) at test.c:4
4         return 0;
```

Reviewed By: heiher, xen0n

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


  Commit: 91ab10e8d6c256d841da1a1a1b47c334e08d95b9
      https://github.com/llvm/llvm-project/commit/91ab10e8d6c256d841da1a1a1b47c334e08d95b9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Add sudo to CI container (#122036)

This patch adds sudo to the CI container and also adds the gha user as a
member of the sudo group along with making any member of the sudo group
able to run commands as root without a password. This is primarily
intended to enable installing new software through apt-get without
having to rebuild the container.


  Commit: 783dc59b3ba16a785f48d0b58bf8c9f26a744aac
      https://github.com/llvm/llvm-project/commit/783dc59b3ba16a785f48d0b58bf8c9f26a744aac
  Author: Tristan Ross <tristan.ross at midstall.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake

  Log Message:
  -----------
  [compiler-rt] Check codesign in path before using (#99837)

Fixes an issue discovered with Nix where codesign is executed but Nix
cannot use codesign without faults. Use `find_program` in CMake to
ensure it is in `$PATH`.

Can be tested on macOS and change your path in such a way that
`codesign` isn't in it.

Related: https://github.com/NixOS/nixpkgs/pull/329058


  Commit: c6b7bd42d58c166ed37cdd51bd46eaf2564b1f96
      https://github.com/llvm/llvm-project/commit/c6b7bd42d58c166ed37cdd51bd46eaf2564b1f96
  Author: Jack Huang <jackhuang1205 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h

  Log Message:
  -----------
  [libc] Support _IONBF buffering for read_unlocked (#120677)

Support _IONBF buffering for read_unlocked. Add the functions
read_unlocked_nbf() and read_unlocked_fbf().

Fixes: #120155


  Commit: e438513f2e2ff7a19c671983ff22a14909c96859
      https://github.com/llvm/llvm-project/commit/e438513f2e2ff7a19c671983ff22a14909c96859
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/global-merge-aix-zero-size-struct.ll

  Log Message:
  -----------
  [AIX][AsmPrinter] Fix unsigned subtraction wrap-around (#122214)

Unsigned subtraction wrap-around occurs in `emitGlobalConstantImpl` on
an AIX-specific code path from 8e4423eb0888 when a structure type has
zero elements.

With assertions enabled, this manifests as:
```
TypeSize llvm::StructLayout::getElementOffset(unsigned int) const: Assertion `Idx < NumElements && "Invalid element idx!"' failed.
```


  Commit: 18de1db0cfbfbbf12d16338923b43077a87dce18
      https://github.com/llvm/llvm-project/commit/18de1db0cfbfbbf12d16338923b43077a87dce18
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp

  Log Message:
  -----------
  [lldb][AIX] Some base #if _AIX changes of a minimal lldb build (#120979)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

Added some base #if _AIX changes for minimal lldb build.
Added a PR for clang-format changes separately, to rebase this on later:

- https://github.com/llvm/llvm-project/pull/120978

Review Request: @labath @DavidSpickett


  Commit: f6c76d51801317543de1ace129996ae4dc1f72f7
      https://github.com/llvm/llvm-project/commit/f6c76d51801317543de1ace129996ae4dc1f72f7
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [PM] Remove is_analysis label for LoopSimplify (#121433)

This reverts part of the changes in #118779


  Commit: 5fdcea2d258befca3925d02d1b37f93174ac0153
      https://github.com/llvm/llvm-project/commit/5fdcea2d258befca3925d02d1b37f93174ac0153
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [clang] Simplify BackendConsumer. NFC


  Commit: 929b90be30c3a3063e29a94db2079ee4c4f44f0d
      https://github.com/llvm/llvm-project/commit/929b90be30c3a3063e29a94db2079ee4c4f44f0d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile

  Log Message:
  -----------
  [Github] Add sccache to CI container (#122063)

This patch adds sccache to the CI container so that the
llvm-project-tests workflow does not fail due to missing sccache.


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

  Changed paths:
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVProcessors.td

  Log Message:
  -----------
  [RISCV] Add -mcpu=sifive-p550. (#122164)

This is the CPU in SiFive's HiFive Premier P550 development board.

Scheduler model will come in a later patch.


  Commit: 459d413b74b7f41e820328fefc38ff93b2e42b00
      https://github.com/llvm/llvm-project/commit/459d413b74b7f41e820328fefc38ff93b2e42b00
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M .github/workflows/premerge.yaml

  Log Message:
  -----------
  [CI][Github] Do not fail premerge job

The postcommit job is currently sending emails on failures. A lot of these
emails are useless noise as there are still some problems with the new
infrastructure that need to be fixed before the results are reliable.


  Commit: b30f9d74d6a0f735ef597b1acae73daac2d7df39
      https://github.com/llvm/llvm-project/commit/b30f9d74d6a0f735ef597b1acae73daac2d7df39
  Author: Alexey Samsonov <vonosmas at gmail.com>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M libc/src/__support/threads/thread.cpp

  Log Message:
  -----------
  [libc] Fix return value of __cxa_thread_atexit_impl function. (#122171)

This has been added in 0071a79532e8d664b734956a431d8c8c942cc25e to
support TLS destructors. Return value of __cxa_thread_atexit is supposed
to be the same as std::atexit - zero on success, non-zero on failure.
Update the code to do just that (also be consistent with llvm-libc's
existing atexit / at_quick_exit implementations).


  Commit: 6dd1315cf0cfa87c2ace2e7263ba505c4b38df3d
      https://github.com/llvm/llvm-project/commit/6dd1315cf0cfa87c2ace2e7263ba505c4b38df3d
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp

  Log Message:
  -----------
  [clang] Simplify BackendConsumer after #69371


  Commit: 1a7e7ef2435763a4ba9171303340daacf7bbb0b6
      https://github.com/llvm/llvm-project/commit/1a7e7ef2435763a4ba9171303340daacf7bbb0b6
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-08 (Wed, 08 Jan 2025)

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h

  Log Message:
  -----------
  Format BackendUtil.h. NFC

Prepare for a -ftime-report change that adds a forward declaration and
changes the signature of EmitBackendOutput.


  Commit: 9ba6e8dc91920b6db40ee76f4fb22c71e9b9cd97
      https://github.com/llvm/llvm-project/commit/9ba6e8dc91920b6db40ee76f4fb22c71e9b9cd97
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][ASTMatcher] Extend `hasDependentName` to match DependentNameType name (#121975)

Extend `hasDependentName` to be a polymorphic matcher that
matches the name of either `DependentNameType` or
`DependentScopeDeclRefExpr`


  Commit: b8337dc4b20bfd7cde8cf37df6c12df4f751201b
      https://github.com/llvm/llvm-project/commit/b8337dc4b20bfd7cde8cf37df6c12df4f751201b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/and-xor-or.ll

  Log Message:
  -----------
  [InstCombine] Handle commuted patterns in `foldBinOpShiftWithShift` (#122126)

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


  Commit: d80bdf7261e7d785b98f827eeed950b2147f70e6
      https://github.com/llvm/llvm-project/commit/d80bdf7261e7d785b98f827eeed950b2147f70e6
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [IRBuilder] Add a helper function to intersect FMFs from two instructions (#122059)

Address review comment in
https://github.com/llvm/llvm-project/pull/121899#discussion_r1905765776


  Commit: 42b23257c5519b63a0516bac9f7986367e15e794
      https://github.com/llvm/llvm-project/commit/42b23257c5519b63a0516bac9f7986367e15e794
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/lib/ExecutionEngine/Orc/Core.cpp

  Log Message:
  -----------
  [ORC] Fail materialization in tasks that are destroyed before running.

If a MaterialiaztionTask is destroyed before running then we need to call
failMaterialization on the MaterializationResponsibility member.


  Commit: 24a92f509a4e9ebaf5ae431409520d30055ea6fc
      https://github.com/llvm/llvm-project/commit/24a92f509a4e9ebaf5ae431409520d30055ea6fc
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h

  Log Message:
  -----------
  DependencyScanningTool.h: Use more robust `std::function` (fixup for #120699)


  Commit: 61b294aa15e9e2149398a641121fc3e977284a17
      https://github.com/llvm/llvm-project/commit/61b294aa15e9e2149398a641121fc3e977284a17
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  Introduce CounterExpressionBuilder::subst(C, Map) (#112698)

This return a counter for each term in the expression replaced by
ReplaceMap.

At the moment, this doesn't update the Map, so Map is marked as `const`.


  Commit: f5cd181ffbb7cb61d582fe130d46580d5969d47a
      https://github.com/llvm/llvm-project/commit/f5cd181ffbb7cb61d582fe130d46580d5969d47a
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [Coverage] Introduce `getBranchCounterPair()`. NFC. (#112702)

This aggregates the generation of branch counter pair as `ExecCnt` and
`SkipCnt`, to aggregate `CounterExpr::subtract`. At the moment:

- This change preserves the behavior of
`llvm::EnableSingleByteCoverage`. Almost of SingleByteCoverage will be
cleaned up by coming commits.

- `IsCounterEqual(Out, Par)` is introduced instead of
`Counter::operator==`. Tweaks would be required for the comparison for
additional counters.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
      https://github.com/llvm/llvm-project/commit/d30a5fc5a2f88dee1198bd2285ddf1c55da51bb6
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td

  Log Message:
  -----------
  [NFC][AArch64] Explicitly define undefined bits for instructions (#122129)

Explicitly define bits for the following instructions:
  * Bit 21 for stltxr/ldatxr (defaults to zero) wasn't defined.
  * Bits 16-20 for ldaxpx/ldxpx (unpredictable) weren't defined.
  * Bits 10-14 for smulh/umulh (unpredictable) weren't defined.


  Commit: 397ac44f623f891d8f05d6673a95984ac0a26671
      https://github.com/llvm/llvm-project/commit/397ac44f623f891d8f05d6673a95984ac0a26671
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h

  Log Message:
  -----------
  [Coverage] Introduce the type `CounterPair` for RegionCounterMap. NFC. (#112724)

`CounterPair` can hold `<uint32_t, uint32_t>` instead of current
`unsigned`, to hold also the counter number of SkipPath. For now, this
change provides the skeleton and only `CounterPair::Executed` is used.

Each counter number can have `None` to suppress emitting counter
increment. 2nd element `Skipped` is initialized as `None` by default,
since most `Stmt*` don't have a pair of counters.

This change also provides stubs for the verifier. I'll provide the impl
of verifier for `+Asserts` later.

`markStmtAsUsed(bool, Stmt*)` may be used to inform that other side
counter may not emitted.

`markStmtMaybeUsed(S)` may be used for the `Stmt` and its inner will be
excluded for emission in the case of skipping by constant folding. I put
it into places where I found.

`verifyCounterMap()` will check the coverage map and the counter map,
and can be used to report inconsistency.

These verifier methods shall be eliminated in `-Asserts`.


https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492


  Commit: 4847395c5459f9c476808f9337abdae7fbd78a23
      https://github.com/llvm/llvm-project/commit/4847395c5459f9c476808f9337abdae7fbd78a23
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-variable.cpp
    M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c

  Log Message:
  -----------
  [Clang] Adjust pointer-overflow sanitizer for N3322 (#120719)

N3322 makes NULL + 0 well-defined in C, matching the C++ semantics.
Adjust the pointer-overflow sanitizer to no longer report NULL + 0 as a
pointer overflow in any language mode. NULL + nonzero will of course
continue to be reported.

As N3322 is part of
https://www.open-std.org/jtc1/sc22/wg14/www/previous.html, and we never
performed any optimizations based on NULL + 0 being undefined in the
first place, I'm applying this change to all C versions.


  Commit: 1b2943534fa20a61c07592a9bd90203e682ae0f4
      https://github.com/llvm/llvm-project/commit/1b2943534fa20a61c07592a9bd90203e682ae0f4
  Author: Nicholas Guy <nicholas.guy at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll

  Log Message:
  -----------
  [llvm] Fix crash caused by reprocessing complex reductions (#122077)

If a complex pattern had the shape of both a complex->complex reduction
and a complex->single reduction, the matching would recognise both and
deem the graph a valid transformation. Preventing this reprocessing
results in only one of these matching, meaning that in the case of an
invalid graph, we don't try to transform it anyway.


  Commit: 71f7b972c3a28269ae045c4d87b1ccb5a2860852
      https://github.com/llvm/llvm-project/commit/71f7b972c3a28269ae045c4d87b1ccb5a2860852
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp

  Log Message:
  -----------
  [Local] Make combineAAMetadata() more principled (#122091)

This moves combineAAMetadata() into Local and implements it via a new
AAOnly flag, which will intersect only AA metadata and keep other known
metadata.

The existing KnownIDs list is dropped, because it is redundant with the
switch in combineMetadata(), which already drops unknown metadata.

I tried a few variants of this, and ultimately went with the AAOnly flag
because this way we make an explicit choice for each metadata kind
supported by combineMetadata(), and ignoring the flag gives you
conservatively correct behavior.

I checked that the memcpy tests still pass if we adjust the logic for
MD_memprof/MD_callsite to drop the metadata instead of arbitrarily
picking one.

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


  Commit: 38565da5259729898c2a552d54b72f3314241734
      https://github.com/llvm/llvm-project/commit/38565da5259729898c2a552d54b72f3314241734
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Add some documentation for ABI / call-site attributes (#121930)

Explicitly mention that attributes can be applied to call-sites, and
explain that ABI attributes between the call-site and called function
should match.

Companion lint change: https://github.com/llvm/llvm-project/pull/121929

Inspired by:
https://discourse.llvm.org/t/difference-between-call-site-attributes-and-declaration-attributes/83902


  Commit: f22441c14d844d2baedaaca02fe5382d300d7e46
      https://github.com/llvm/llvm-project/commit/f22441c14d844d2baedaaca02fe5382d300d7e46
  Author: David Green <david.green at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-rem.ll

  Log Message:
  -----------
  [AArch64] Add sve div and rem tests. NFC


  Commit: f07b10b7c4706735c1e206b64da4c43aaf88b6af
      https://github.com/llvm/llvm-project/commit/f07b10b7c4706735c1e206b64da4c43aaf88b6af
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Recycler.h
    M llvm/unittests/Support/RecyclerTest.cpp

  Log Message:
  -----------
  [Support] Recycler: Match dealloc size and enforce min size (#121889)

Address sanitizer found mismatching deallocation size in Recycler.


  Commit: f88ef1bd1bd6ea27237d2abd03b8955e550f97c1
      https://github.com/llvm/llvm-project/commit/f88ef1bd1bd6ea27237d2abd03b8955e550f97c1
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
    A llvm/test/Transforms/LoopVectorize/struct-return.ll

  Log Message:
  -----------
  [LV] Teach LoopVectorizationLegality about struct vector calls (#119221)

This is a split-off from #109833 and only adds code relating to checking
if a struct-returning call can be vectorized.

This initial patch only allows the case where all users of the struct
return are `extractvalue` operations that can be widened.

```
%call = tail call { float, float } @foo(float %in_val)
%extract_a = extractvalue { float, float } %call, 0
%extract_b = extractvalue { float, float } %call, 1
```

Note: The tests require the VFABI changes from #119000 to pass.


  Commit: 06673a9e9b186a65f5eb60a59a4ee9afba6637d4
      https://github.com/llvm/llvm-project/commit/06673a9e9b186a65f5eb60a59a4ee9afba6637d4
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/bitset
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp

  Log Message:
  -----------
  [libc++] Uglify non-standard member typedef const_reference in bitset (#121620)

According to
[[template.bitset.general]](https://eel.is/c++draft/template.bitset.general),
`std::bitset` is supposed to have only
one (public) member typedef, `reference`. However, libc++'s
implementation of `std::bitset` offers more that that. Specifically, it
offers a public typedef `const_reference` and two private typedefs
`size_type` and `difference_type`. These non-standard member typedefs,
despite being private, can cause potential ambiguities in name lookup in
user-defined classes, as demonstrated in issue #121618.

Fixing the public member typedef `const_reference` is straightforward:
we can simply replace it with an `__ugly_name` such as
`__const_reference`. However, fixing the private member typedefs
`size_type` and `difference_type` is not so straightforward as they are
required by the `__bit_iterator` class and the corresponding algorithms
optimized for `__bit_iterator`s (e.g., `ranges::fill`).
 
This PR fixes the member typedef `const_reference` by using uglified
name for it. Further work will be undertaken to address `size_type` and
`difference_type`.

Follows up #80706, #111127, and #112843,


  Commit: 6c06253b8557102c52e252f9025ea3d393603324
      https://github.com/llvm/llvm-project/commit/6c06253b8557102c52e252f9025ea3d393603324
  Author: Peng Liu <winner245 at hotmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/include/__vector/vector_bool.h
    M libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp

  Log Message:
  -----------
  [libc++] Fix erroneous internal capacity evaluation in vector<bool> (#120577)

This PR fixes the erroneous internal capacity evaluation in
`vector<bool>`, which caused a subsequent SIGSEGV error when calling
`flip()` on `vector<bool>`. By fixing the internal capacity evaluation,
the SIGSEGV is automatically resolved.


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

  Changed paths:
    M lldb/include/lldb/Symbol/Block.h
    M lldb/unittests/Utility/RangeMapTest.cpp

  Log Message:
  -----------
  [lldb] Store *signed* ranges in lldb_private::Block (#120224)

This is to support functions whose entry points aren't their lowest
address

(https://discourse.llvm.org/t/rfcish-support-for-discontinuous-functions/83244).
The alternative is to keep blocks relative to the lowest address, but
then introduce a separate concept for the function entry point, which I
think would be more confusing.

This patch just changes the type signedness, it doesn't create any
negative offsets yet. Since combining values with different signs can
sometimes produce unexpected results, and since this is the first use of
RangeVector with a signed type, I'm adding a test to verify that at
least the core functionality works correctly.


  Commit: 659cd2a48a25ec4deabf4c7937acbaec588a2724
      https://github.com/llvm/llvm-project/commit/659cd2a48a25ec4deabf4c7937acbaec588a2724
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  [NFC][AMDGPU] Pre-commit tests for IR variant - isFMAFasterThanFMulAdd (#121925)


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

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Handle non-failing calls properly (#115863)

The preprocessor definition used to enable asserts and the one that
`llvm::Error` and `llvm::Expected` use to ensure all created instances are
checked are not the same. By making these checks inside of an `assert` in cases
where errors are not expected, certain build configurations would trigger
runtime failures (e.g. `-DLLVM_ENABLE_ASSERTIONS=OFF
-DLLVM_UNREACHABLE_OPTIMIZE=ON`).

The `llvm::cantFail()` function, which was intended for this use case, is used
by this patch in place of `assert` to prevent these runtime failures. In tests,
new preprocessor definitions based on `ASSERT_THAT_EXPECTED` and
`EXPECT_THAT_EXPECTED` are used instead, to avoid silent failures in release
builds.


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp

  Log Message:
  -----------
  [clang][ExprConst] Add diagnostics for invalid binary arithmetic (#118475)

... between unrelated declarations or literals.

Leaving this small (I haven't run the whole test suite locally) to get
some feedback on the wording and implementation first.

The output of the sample in
https://github.com/llvm/llvm-project/issues/117409 is now:
```console
./array.cpp:57:6: warning: expression result unused [-Wunused-value]
   57 |   am - aj.af();
      |   ~~ ^ ~~~~~~~
./array.cpp:70:8: error: call to consteval function 'L::L<bx>' is not a constant expression
   70 |   q(0, [] {
      |        ^
./array.cpp:57:6: note: arithmetic on addresses of literals has unspecified value
   57 |   am - aj.af();
      |      ^
./array.cpp:62:5: note: in call to 'al(&""[0], {&""[0]})'
   62 |     al(bp.af(), k);
      |     ^~~~~~~~~~~~~~
./array.cpp:70:8: note: in call to 'L<bx>({})'
   70 |   q(0, [] {
      |        ^~~~
   71 |     struct bx {
      |     ~~~~~~~~~~~
   72 |       constexpr operator ab<g<l<decltype(""[0])>::e>::e>() { return t(""); }
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |     };
      |     ~~
   74 |     return bx();
      |     ~~~~~~~~~~~~
   75 |   }());
      |   ~~~
```

The output for 
```c++
int a, b;
constexpr int n = &b - &a
```

is now:
```console
./array.cpp:80:15: error: constexpr variable 'n' must be initialized by a constant expression
   80 | constexpr int n = &b - &a;
      |               ^   ~~~~~~~
./array.cpp:80:22: note: arithmetic involving '&b' and '&a' has unspecified value
   80 | constexpr int n = &b - &a;
      |                      ^
1 error generated.

```


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

  Changed paths:
    M lldb/include/lldb/Target/MemoryRegionInfo.h

  Log Message:
  -----------
  [lldb][NFC] clang-format MemoryRegionInfo.h

To clean up future changes for shadow stack regions.


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

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll

  Log Message:
  -----------
  [X86] Add test coverage for #116815


  Commit: aedb30fdc7cf83290b0f0d4246cf94fd62be749b
      https://github.com/llvm/llvm-project/commit/aedb30fdc7cf83290b0f0d4246cf94fd62be749b
  Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    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_codegen.c

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

Added codegen support for combined masked constructs Parallel masked
taskloop.
Added implementation for EmitOMPParallelMaskedTaskLoopDirective.

---------

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


  Commit: f1d5efe37ea7891b3fc9f78b6fdbbe1dc207bbd6
      https://github.com/llvm/llvm-project/commit/f1d5efe37ea7891b3fc9f78b6fdbbe1dc207bbd6
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll

  Log Message:
  -----------
  [AArch64] Combine and lsl into ubfiz (#118974)

Fixes #118132.


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

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

  Log Message:
  -----------
  [InstCombine] Remove foldSelectICmpEq() fold (#122098)

This fold matches complex patterns, for which we have no proof of
real-world relevance, and which does not actually handle the originally
motivating cases from https://github.com/llvm/llvm-project/issues/71792
either.

In https://github.com/llvm/llvm-project/pull/121708 and
https://github.com/llvm/llvm-project/pull/121753 we have handled some
simpler variants by extending existing folds.

I propose to remove this code until we have evidence that it is useful
for something.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    A llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir

  Log Message:
  -----------
  [RISCV] Fix masked->unmasked peephole handling masked pseudos with no passthru (#122253)

Some masked pseudos like PseudoVCPOP_M_B8_MASK don't have a passthru,
but in the masked->unmasked peephole we assumed the masked pseudo always
had one.

This checks for a passthru first and fixes #122245.


  Commit: b0697dc1de1f6fbc0f3c192e5420203c8afe3f99
      https://github.com/llvm/llvm-project/commit/b0697dc1de1f6fbc0f3c192e5420203c8afe3f99
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll

  Log Message:
  -----------
  [LV] Only check isVectorizableEarlyExitLoop with multiple exits. (#121994)

Currently we emit early-exit related debug messages/remarks even when
there is a single exit. Update to only check isVectorizableEarlyExitLoop
if there isn't a single exit block.

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


  Commit: c05fc9b6d5559cc37e389f20a6c0c7b6f291b70e
      https://github.com/llvm/llvm-project/commit/c05fc9b6d5559cc37e389f20a6c0c7b6f291b70e
  Author: David Green <david.green at arm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [AArch64] Fix sebvector -> subvector typo. NFC


  Commit: cdd652eb28d1dcec28fec289674940d11a92c4fa
      https://github.com/llvm/llvm-project/commit/cdd652eb28d1dcec28fec289674940d11a92c4fa
  Author: Pietro Ghiglio <pietro.ghiglio at codeplay.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [MLIR][GPU] Support bf16 and i1 gpu::shuffles to LLVMSPIRV conversion (#119675)

This PR adds support to the `bf16` and `i1` data types when converting
`gpu::shuffle` to the `LLVMSPV` dialect, by inserting `bitcast` to/from
`i16` (for `bf16`) and extending/truncating to `i8` (for `i1`).


  Commit: 86440cbc742e42f7ee9d4656fe7c231a477e447b
      https://github.com/llvm/llvm-project/commit/86440cbc742e42f7ee9d4656fe7c231a477e447b
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll

  Log Message:
  -----------
  [SPIR-V] Prefer SPV_INTEL_optnone over SPV_EXT_optnone when both extensions are available (#122082)

This PR fixes https://github.com/llvm/llvm-project/issues/122075. We
prefer SPV_INTEL_optnone over SPV_EXT_optnone when both extensions are
available, otherwise, when a target specifies a required extension
explicitly rather than allowing any of those (e.g., by providing
--spirv-ext=all command line argument), the Backend's behavior remains
unchanged. An existing test case is updated to check the case of 2
alternative extensions available at the same time.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] clean `LangOpts` parameter in `explicitMarkUnused` matcher (#122170)

https://github.com/llvm/llvm-project/pull/121783#discussion_r1907847579


  Commit: c3d1a50d6a36ce19606226a352bf921cec02e265
      https://github.com/llvm/llvm-project/commit/c3d1a50d6a36ce19606226a352bf921cec02e265
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for b79ed8729b3d6d5482481c41a7de2cd75b0f61df


  Commit: 52c338daece1ea5556865373c777bdad79a05fd8
      https://github.com/llvm/llvm-project/commit/52c338daece1ea5556865373c777bdad79a05fd8
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Driver/OffloadBundler.cpp
    M llvm/include/llvm/Support/Timer.h
    M llvm/lib/Support/Timer.cpp

  Log Message:
  -----------
  [llvm][NFC] Rework Timer.cpp globals to ensure valid lifetimes (#121663)

This is intended to help with flang `-ftime-report` support:
- #107270.

With this change, I was able to cherry-pick #107270, uncomment
`llvm::TimePassesIsEnabled = true;` and compile with `-ftime-report`.

I also noticed that `clang/lib/Driver/OffloadBundler.cpp` was statically
constructing a `TimerGroup` and changed it to lazily construct via
ManagedStatic.


  Commit: e3e26dc41a6ad78c35a1a723cd77f5db8599797d
      https://github.com/llvm/llvm-project/commit/e3e26dc41a6ad78c35a1a723cd77f5db8599797d
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [llvm] Remove extra ';' outside of a function (NFC)

/llvm-project/llvm/lib/Support/Timer.cpp:565:74:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
static bool mtg::TrackSpace() { return ManagedTimerGlobals->TrackSpace; };
                                                                         ^
1 error generated.


  Commit: b4e17d4a314ed87ff6b40b4b05397d4b25b6636a
      https://github.com/llvm/llvm-project/commit/b4e17d4a314ed87ff6b40b4b05397d4b25b6636a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  [MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#119826)

`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.

It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.

Separate from https://github.com/llvm/llvm-project/pull/118787


  Commit: 5ff7f479a1f30d9c5393e4f94df6178a63cc2236
      https://github.com/llvm/llvm-project/commit/5ff7f479a1f30d9c5393e4f94df6178a63cc2236
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/DeclCXX.h
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/CXX/expr/expr.unary/expr.delete/p10.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/noexcept-destroying-delete.cpp

  Log Message:
  -----------
  [C++20] Destroying delete and deleted destructors (#118800)

When a destroying delete overload is selected, the destructor is not
automatically called. Therefore, the destructor can be deleted without
causing the program to be ill-formed.

Fixes #46818


  Commit: a0d77492110cce44d563166ed7ce21fdb3670f64
      https://github.com/llvm/llvm-project/commit/a0d77492110cce44d563166ed7ce21fdb3670f64
  Author: Janis Heims <janis.heims at rohde-schwarz.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    A llvm/test/MC/M68k/Data/Classes/MxMoveSR.s

  Log Message:
  -----------
  [M68k] implement move to and from sr (#111145)

This PR enables the use of the status register in inline assembly.
This is necessary to, for example, set and retrieve the current
interrupt mask.

---------

Co-authored-by: kirk <knickish at gmail.com>


  Commit: 81ae6686ab026c820f2f23d3c18cdd65ecb2ae7c
      https://github.com/llvm/llvm-project/commit/81ae6686ab026c820f2f23d3c18cdd65ecb2ae7c
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/src/locale.cpp

  Log Message:
  -----------
  [libc++] Add __iswctype to the locale base API since it's required by <locale> (#122168)


  Commit: c85d5163b1d204d5886010e6640654721925a84e
      https://github.com/llvm/llvm-project/commit/c85d5163b1d204d5886010e6640654721925a84e
  Author: CatherineMoore <catmoore at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  [Clang][OpenMP][Doc] Update OpenMPSupport.rst (#122174)

This patch adds a section for OpenMP 6.0 features.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: f77a7dd875c7f20572fba9a86c7ff04a94206a07
      https://github.com/llvm/llvm-project/commit/f77a7dd875c7f20572fba9a86c7ff04a94206a07
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add getOperandInfo for integer and floating point widening reductions (#122176)


  Commit: d2b78c646b9b7b63f1029ad1de954044ee6ebc32
      https://github.com/llvm/llvm-project/commit/d2b78c646b9b7b63f1029ad1de954044ee6ebc32
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll

  Log Message:
  -----------
  AMDGPU: Custom lower bf16 shuffles (#122252)

We already custom lower the other 16-bit element type shuffles.


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

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/test/Driver/dxc_spirv.hlsl
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [HLSL] Explicitly set the SPIR-V version with spv-target-env (#121961)

In DXC, setting the vulkan version automatically sets the target spir-v
version to the maximum spir-v version that the vulkan version must
support. So for Vulkan 1.2, we set the spir-v version to spirv 1.5
because every implementation of Vulkan 1.2 must support spirv 1.5, but
not spir-v 1.6.


  Commit: c57810a00a24141391566b23319b61362ba62736
      https://github.com/llvm/llvm-project/commit/c57810a00a24141391566b23319b61362ba62736
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/baserel-sort.yaml

  Log Message:
  -----------
  [LLD][COFF] Sort base relocations (#121699)

This change ensures that base relocations are sorted in the output,
aligning with MSVC linker behavior. While input files typically provide
sorted relocations, this update guarantees correct sorting even if the
input relocations are unordered.


  Commit: cb04bc05ebab5f44b13639c0e3613506180bdbac
      https://github.com/llvm/llvm-project/commit/cb04bc05ebab5f44b13639c0e3613506180bdbac
  Author: Brad Smith <brad at comstyle.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp

  Log Message:
  -----------
  [lldb] Move GetEnvironment function into common code (#122173)


  Commit: 550841f839bf88d8021b98844746c95df3aecff1
      https://github.com/llvm/llvm-project/commit/550841f839bf88d8021b98844746c95df3aecff1
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add fp-reductions to getOperandInfo (#122151)


  Commit: aa0191e3feccf8253f16594922ee924b38e7760d
      https://github.com/llvm/llvm-project/commit/aa0191e3feccf8253f16594922ee924b38e7760d
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/Analysis/z3/crosscheck-statistics.c

  Log Message:
  -----------
  [analyzer][NFC] Update stale test after #97265 (#122272)

In my patch there, I left a test expectation stale. Tests with
`REQUIRES: Z3` never run because no bots check such configurations.

Here I'm adjusting the test expectations to meet reality.


  Commit: 1a73654b3212b623ac21b9deb3aeaadc6906b7e4
      https://github.com/llvm/llvm-project/commit/1a73654b3212b623ac21b9deb3aeaadc6906b7e4
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/Parser/namespace-attributes.cpp

  Log Message:
  -----------
  [Clang] disallow attributes after namespace identifier (#121614)

Fixes #121407


  Commit: de12836f28a5c6b1a5464efcd15f28d3cfaabdaf
      https://github.com/llvm/llvm-project/commit/de12836f28a5c6b1a5464efcd15f28d3cfaabdaf
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU] Rework getDivNumBits API (#119768)

Rework involves below:
- Return unsigned value, the number of div/rem bits actually needed.
- Change from AtLeast(SignBits) to MaxDivBits hint.
- Use MaxDivBits hint for unsigned case.
- Remove unnecessary second early exit.

Mostly NFC changes.


  Commit: 6f9e688203097b1fbeeb1ad498a9bae6c78231ab
      https://github.com/llvm/llvm-project/commit/6f9e688203097b1fbeeb1ad498a9bae6c78231ab
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-parallel-reduction-init.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir

  Log Message:
  -----------
  [flang][OpenMP] Fix reduction init region block management (#122079)

Replaces https://github.com/llvm/llvm-project/pull/121886
Fixes https://github.com/llvm/llvm-project/issues/120254 (hopefully 🤞)

## Problem

Consider the following example:
```fortran
program test
  real :: x(1)
  integer :: i
  !$omp parallel do reduction(+:x)
    do i = 1,1
      x = 1
    end do
  !$omp end parallel do
end program
```

The HLFIR+OMP IR for this example looks like this:
```mlir
  func.func @_QQmain() {
    ...
    omp.parallel {
      %5 = fir.embox %4#0(%3) : (!fir.ref<!fir.array<1xf32>>, !fir.shape<1>) -> !fir.box<!fir.array<1xf32>>
      %6 = fir.alloca !fir.box<!fir.array<1xf32>>
      ...
      omp.wsloop private(@_QFEi_private_ref_i32 %1#0 -> %arg0 : !fir.ref<i32>) reduction(byref @add_reduction_byref_box_1xf32 %6 -> %arg1 : !fir.ref<!fir.box<!fir.array<1xf32>>>) {
        omp.loop_nest (%arg2) : i32 = (%c1_i32) to (%c1_i32_0) inclusive step (%c1_i32_1) {
          ...
          omp.yield
        }
      }
      omp.terminator
    }
    return
  }
```

The problem addressed by this PR is related to: the `alloca` in the
`omp.parallel` region + the related `reduction` clause on the
`omp.wsloop` op. When we try translate the reduction from MLIR to LLVM,
we have to choose an `alloca` insertion point. This happens in
`convertOmpWsloop` where at entry to that function, this is what the
LLVM module looks like:

```llvm
define void @_QQmain() {
  %tid.addr = alloca i32, align 4
  ...

entry:
  %omp_global_thread_num = call i32 @__kmpc_global_thread_num(ptr @1)
  br label %omp.par.entry

omp.par.entry:
  %tid.addr.local = alloca i32, align 4
  ...
  br label %omp.par.region

omp.par.region:
  br label %omp.par.region1

omp.par.region1:
  ...
  %5 = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, align 8
```

Now, when we choose an `alloca` insertion point for the reduction, this
is the chosen block `omp.par.entry` (without the changes in this PR).
The problem is that the allocation needed for the reduction needs to
reference the `%5` SSA value. This results in inserting allocations in
`omp.par.entry` that reference allocations in a later block
`omp.par.region1` which causes the `Instruction does not dominate all
uses!` error.

## Possible solution - take 2:

This PR contains a more localized solution than
https://github.com/llvm/llvm-project/pull/121886. It makes sure that on
entry to `initReductionVars`, the IR builder is at a point where we can
starting inserting initialization region; to make things cleaner, we
still split the builder insertion point to a dedicated
`omp.reduction.init`. This way we avoid splitting after the latest
allocation block; which is what causing the issue.


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

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

  Log Message:
  -----------
  [mlir][vector][nfc] Update `alignedConversionPrecondition` (#122136)

Adds some comments and re-name variables to clarify the usage.


  Commit: 644de6ad1c758d3bf754d7d50b98c555df5231b1
      https://github.com/llvm/llvm-project/commit/644de6ad1c758d3bf754d7d50b98c555df5231b1
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    R llvm/test/CodeGen/NVPTX/fabs-fneg-free.ll

  Log Message:
  -----------
  Revert "[NVPTX] designate fabs and fneg as free (#121513)"

This reverts commit 45d46983bf7bda53bd7ee8e36a47571b3980fbd7.

NVPTX fabs & fneg are incompatible with LLVM's semantics as LLVM
guarantees the payload of NaNs to stay the same while PTX mangles NaNs.

The bad patterns are still in the NVPTX backend and should probably be
removed, since this change only exposed the bad behavior.


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

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

  Log Message:
  -----------
  [clang-tidy][doc] reorder release note


  Commit: 1374aa35a3f62c774548361276a87eb472893262
      https://github.com/llvm/llvm-project/commit/1374aa35a3f62c774548361276a87eb472893262
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaAttr.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp

  Log Message:
  -----------
  [clang] Don't infer lifetime_capture-by for reference of raw pointer types. (#122240)

When a vector is instantiated with a pointer type (`T` being `const
Foo*`), the inferred annotation becomes `push_back(const Foo*& value
[[clang::lifetime_capture_by(this)]])`.

For reference parameters, the `lifetime_capture_by` attribute treats the
lifetime as referring to the referenced object -- in this case, the
**pointer** itself, not the pointee object. In the `push_back`, we copy
the pointer's value, which does not establish a reference to the
pointer. This behavior is safe and does not capture the pointer's
lifetime.

The annotation should not be inferred for cases where `T` is a pointer
type, as the intended semantics do not align with the annotation.

Fixes #121391


  Commit: 24203613a2d83028ea3bbb782fd390e36d1f344f
      https://github.com/llvm/llvm-project/commit/24203613a2d83028ea3bbb782fd390e36d1f344f
  Author: George Burgess IV <george.burgess.iv at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  [llvm][Docs] add discord bot calendar capability notes (#122140)

The LLVM Discord bot now has the ability to scrape the LLVM calendar &
send reminders about upcoming office hours events and sync-ups. Document
that here.

While I'm in the area, add a note about the bot's ability to @mention
people when they're on buildbot blamelists.

Related to llvm/Community.o#19


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

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir

  Log Message:
  -----------
  [mlir][tensor] Add e2e test for tensor.unpack with dynamic tile sizes (#121557)

Adds an end-to-end test for `tensor.unpack` with dynamic inner tile sizes.
While relatively simple (e.g., no vectorization), this example required a few
fixes in handling `tensor.unpack` (and similar fixes for `tensor.pack` before
that):

* #119379, #121393, #121400.

The end goal for this test is to incrementally increase its complexity
and to work towards scalable tile sizes.

Note, this PR complements #115698 in which similar test for
`tensor.pack` was added.


  Commit: 465a3ce9fac1fcf49d5772f70564973a73748d57
      https://github.com/llvm/llvm-project/commit/465a3ce9fac1fcf49d5772f70564973a73748d57
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Headers/cuda_wrappers/cmath

  Log Message:
  -----------
  [CUDA][HIP] improve error message for missing cmath (#122155)

One common error seen in CUDA/HIP compilation is:

fatal error: 'cmath' file not found

which is due to inproper installation of standard C++ libraries.

Since it happens with #include_next, users may feel confusing which
cmath is not found and how to fix it.

Add an error directive to help users resolve this issue.


  Commit: a75917679549109fcbf92cb63ef61638517713d6
      https://github.com/llvm/llvm-project/commit/a75917679549109fcbf92cb63ef61638517713d6
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  [Github] Fix LLVM Project Tests Workflow on Linux (#122221)

This patch fixes the LLVM project tests workflow on Linux. Two changes
were needed. Firstly, some commands need to be performed with sudo now
that the container executes as a non-root user. Second, we needed to
change from `ubuntu-latest` to `ubuntu-22.04` as `ubuntu-latest` not
defaults to `ubuntu-24.04` which causes `setup-python` to install a
python executable linked against a newer version of glibc that is not
found on ubuntu 22.04, which causes failures when CMake cannot execute
the python interpreter that it finds.


  Commit: a429dfc167258cf023b2e4c20874a228298372e6
      https://github.com/llvm/llvm-project/commit/a429dfc167258cf023b2e4c20874a228298372e6
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/test/Driver/spirv-toolchain.cl

  Log Message:
  -----------
  [Driver][SPIR-V] Use consistent tools to convert between text and binary form (#120266)

Currently we produce SPIR-V text with `spirv-dis` but assemble it with
`llvm-spirv`. The SPIR-V text format is different between the tools so
the assemble fails. Use `spirv-as` for assembly as it uses the same
format.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 762f1b17b2815ccdfb4e5cb5412cb6210db92f73
      https://github.com/llvm/llvm-project/commit/762f1b17b2815ccdfb4e5cb5412cb6210db92f73
  Author: Sarah Spall <sarahspall at microsoft.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/saturate.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/float3.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl

  Log Message:
  -----------
  [HLSL] Make fast math the default for HLSL (#119820)

Make fast math the default for HLSL
Repair test cases broken by this change.
Closes #108597


  Commit: 17912f336bd3d3db09b367c155fb44148ea4de24
      https://github.com/llvm/llvm-project/commit/17912f336bd3d3db09b367c155fb44148ea4de24
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  LAA: refactor dependence class to prep for scaled strides (NFC) (#122113)

Rearrange the DepDistanceAndSizeInfo struct in preparation to scale
strides. getDependenceDistanceStrideAndSize now returns the data of
CommonStride, MaxStride, and clarifies when to retry with runtime
checks, in place of (unscaled) strides.


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

  Changed paths:
    M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp

  Log Message:
  -----------
  [libc++] Fix test for vector data_const.pass.cpp (#122085)

The test contained some non-const accesses when we're really trying to test
that the method is const.


  Commit: d056c756aea3fc709cf7d6bc8acabe9a8c7218db
      https://github.com/llvm/llvm-project/commit/d056c756aea3fc709cf7d6bc8acabe9a8c7218db
  Author: Alexander Belyaev <32522095+pifon2a at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/SCF/loop-unroll.mlir

  Log Message:
  -----------
  [mlir][scf] Fix unrolling when the yielded value is defined above the loop. (#122177)


  Commit: 5e6c74d086848d8525b2bdd3b3e717c64b576193
      https://github.com/llvm/llvm-project/commit/5e6c74d086848d8525b2bdd3b3e717c64b576193
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/Driver/spirv-openmp-toolchain.c

  Log Message:
  -----------
  [clang] Fix SPIR-V OpenMP test assembler check (#122310)

Testing is failing in HEAD, Integration issue with the SPIR-V OpenMP
change and the SPIR-V change adding the assembler job.

I notice there is a consistency issue in the binding name "SPIRV" vs
"SPIR-V", I will fix that in a separate commit so we unbreak build ASAP.

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 473510abf5c6a2f9d74a0c19f0f5d8b483596e05
      https://github.com/llvm/llvm-project/commit/473510abf5c6a2f9d74a0c19f0f5d8b483596e05
  Author: Sv. Lockal <AngryLoki at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [libc++] Fix mi-mode in GDB pretty printers (#120951)

GDB/MI requires unique names for each child, otherwise fails with
"Duplicate variable object name". Also wrapped containers printers
were flattened for cleaner visualization in IDEs and CLI.

Fixes #62340


  Commit: 7724be972858477d9d4552f5fa2edb5222bff9e0
      https://github.com/llvm/llvm-project/commit/7724be972858477d9d4552f5fa2edb5222bff9e0
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
    A mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/test/mlir-vulkan-runner/addui_extended.mlir
    M mlir/test/mlir-vulkan-runner/smul_extended.mlir
    M mlir/test/mlir-vulkan-runner/umul_extended.mlir

  Log Message:
  -----------
  [mlir][spirv] Do SPIR-V serialization in -test-vulkan-runner-pipeline (#121494)

This commit is a further incremental step toward moving the whole
mlir-vulkan-runner MLIR pass pipeline into mlir-opt (see #73457). The
previous step was b225b3adf7b78387c9fcb97a3ff0e0a1e26eafe2, which moved
all device passes prior to SPIR-V serialization into a new mlir-opt test
pass, `-test-vulkan-runner-pipeline`.

This commit changes how SPIR-V serialization is accomplished for Vulkan
runner tests. Until now, this was done by the Vulkan-specific
ConvertGpuLaunchFuncToVulkanLaunchFunc pass. With this commit, this
responsibility is removed from that pass, and is instead done with the
existing generic GpuModuleToBinaryPass. In addition, the SPIR-V
serialization step is no longer done inside mlir-vulkan-runner, but
rather inside mlir-opt (in the `-test-vulkan-runner-pipeline` pass).
Both of these changes represent a greater alignment between
mlir-vulkan-runner and the other GPU integration tests. Notably, the IR
shapes produced by the mlir-opt pipelines for the Vulkan and SYCL
runners are now much more similar, with both using a gpu.binary op for
the serialized SPIR-V kernel.

In order to enable this, this commit includes these supporting changes:

- ConvertToSPIRVPass is enhanced to support producing the IR shape where
a spirv.module is nested inside a gpu.module, since this is what
GpuModuleToBinaryPass expects.
- ConvertGPULaunchFuncToVulkanLaunchFunc is changed to remove its SPIR-V
serialization functionality, and instead now extracts the SPIR-V from a
gpu.binary operation (as produced by ConvertToSPIRVPass).
- `-test-vulkan-runner-pipeline` now attaches SPIR-V target information
required by GpuModuleToBinaryPass.
- The WebGPU pass option, which had been removed from mlir-vulkan-runner
in the previous commit in this series, is restored as an option to
`-test-vulkan-runner-pipeline` instead, so that the WebGPU pass
continues being inserted into the pipeline just before SPIR-V
serialization.


  Commit: 89499c666819d88c8abe85b58005fc8e5eb5f03f
      https://github.com/llvm/llvm-project/commit/89499c666819d88c8abe85b58005fc8e5eb5f03f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking][test] Reorder RUN lines (#122229)

To match output order of update_test_checks.py.


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

  Changed paths:
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll

  Log Message:
  -----------
  [BoundsChecking][test] Remove duplicate RUNS

Fixing failed conflict resolution in #122229.


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

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

  Log Message:
  -----------
  [SelectionDAG] Use SDNode::op_iterator instead of SDNodeIterator. NFC (#122147)

I think SDNodeIterator primarily exists because GraphTraits requires an
iterator that dereferences to SDNode*. op_iterator dereferences to
SDUse* which is implicitly convertible to SDValue.

This piece of code can use SDValue instead of SDNode* so we should
prefer to use the the more common op_iterator.


  Commit: c87ef146e1ceea3ebfcd0f59266043d53affced0
      https://github.com/llvm/llvm-project/commit/c87ef146e1ceea3ebfcd0f59266043d53affced0
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Transforms/InstCombine/fold-binop-of-reductions.ll

  Log Message:
  -----------
  [InstCombine][NFC] Precommit a test for folding a binary op of reductions. (#121568)


  Commit: f8f8598fd886cddfd374fa43eb6d7d37d301b576
      https://github.com/llvm/llvm-project/commit/f8f8598fd886cddfd374fa43eb6d7d37d301b576
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    A llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    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:
  -----------
  [Exegesis] Add the ability to dry-run the measurement phase (#121991)

With the new benchmark phase, `dry-run-measurement`, llvm-exegesis can
run everything except the actual snippet execution. It is useful when we
want to test some parts of the code between the `assemble-measured-code`
and `measure` phase without actually running on native platforms.


  Commit: be32621ce8cbffe674c62e87c0c51c9fc4a21e5f
      https://github.com/llvm/llvm-project/commit/be32621ce8cbffe674c62e87c0c51c9fc4a21e5f
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [OpenACC] Implement 'device' and 'host' clauses for 'update'

These two clauses just take a 'var-list' and specify where the variables
should be copied from/to.  This patch implements the AST nodes for them
and ensures they properly take a var-list.


  Commit: 553fa204ed5ab4c48bc6080451df24310c00e69c
      https://github.com/llvm/llvm-project/commit/553fa204ed5ab4c48bc6080451df24310c00e69c
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp

  Log Message:
  -----------
  [OpenACC] Implement 'at least one of' restriction for 'update'

This completes the implementation of 'update' by implementing its last
restriction. This restriction requires at least 1 of the 'self', 'host',
  or 'device' clauses.


  Commit: 8ac6a6b81629840d2456e32ec4651440523718dc
      https://github.com/llvm/llvm-project/commit/8ac6a6b81629840d2456e32ec4651440523718dc
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  Reorder fields so InitDeferredFlag is destroyed last

TimerGroup's dtor accesses this field.

once_flag has a trivial destructor so it doesn't really matter, but msan
checks that it's not accessed after destruction.


  Commit: 43e663d0fd82e226203b051d31fd3ce5388ca984
      https://github.com/llvm/llvm-project/commit/43e663d0fd82e226203b051d31fd3ce5388ca984
  Author: fahadnayyar <30953967+fahadnayyar at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/swift-return-ownership.m

  Log Message:
  -----------
  [APINotes] [NFC] Add tests for SWIFT_RETURNS_(UN)RETAINED for ObjC APIs (#122167)

Adding test case to verify that SwiftReturnOwnership works correctly for
ObjC functions and methods as well.

rdar://142504115


  Commit: 50ca2eff5fb2c239a373790bcbe384f629eb077a
      https://github.com/llvm/llvm-project/commit/50ca2eff5fb2c239a373790bcbe384f629eb077a
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  Drop emitQuaternaryBuiltin from clang (#122169)

It was superceeded by the emitBuiltinWithOneOverloadedType() some
time ago.


  Commit: 69b54c1a05c0c63ee28de1279b3a689b7f026e94
      https://github.com/llvm/llvm-project/commit/69b54c1a05c0c63ee28de1279b3a689b7f026e94
  Author: Дмитрий Изволов <dmitriy at izvolov.ru>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/module.modulemap
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp

  Log Message:
  -----------
  [libcxx][algorithm] Optimize std::stable_sort via radix sort algorithm (#104683)

The radix sort (LSD) algorithm allows to speed up std::stable_sort
dramatically in case we sort integers.
The speed up varies from a relatively small to x10 times, depending on
type of sorted elements and the initial state of the sorted array.

```
Running ./libcxx/test/benchmarks/stable_sort.bench.out
Run on (12 X 2600 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB
  L1 Instruction 32 KiB
  L2 Unified 256 KiB (x6)
  L3 Unified 12288 KiB
Load Average: 3.48, 3.38, 3.08
---------------------------------------------------------------------------
Benchmark                                               After        Before 
---------------------------------------------------------------------------
BM_StableSort_int8_Random_1                           3.39 ns       3.58 ns 
BM_StableSort_int8_Random_4                           21.1 ns       21.9 ns 
BM_StableSort_int8_Random_16                           142 ns        147 ns 
BM_StableSort_int8_Random_64                           893 ns        903 ns 
BM_StableSort_int8_Random_256                          409 ns       5810 ns 
BM_StableSort_int8_Random_1024                        1235 ns      29973 ns 
BM_StableSort_int8_Random_4096                        4410 ns     141880 ns 
BM_StableSort_int8_Random_16384                      18044 ns     620540 ns 
BM_StableSort_int8_Random_65536                     144030 ns    2592013 ns 
BM_StableSort_int8_Random_262144                    858350 ns   10935814 ns 
BM_StableSort_int8_Random_524288                   2929988 ns   27060729 ns 
BM_StableSort_int8_Random_1048576                  6058292 ns   49622720 ns 
BM_StableSort_int8_Ascending_1                        3.42 ns       3.92 ns 
BM_StableSort_int8_Ascending_4                        5.86 ns       8.08 ns 
BM_StableSort_int8_Ascending_16                       10.6 ns       12.0 ns 
BM_StableSort_int8_Ascending_64                       28.9 ns       30.6 ns 
BM_StableSort_int8_Ascending_256                       415 ns        391 ns 
BM_StableSort_int8_Ascending_1024                     1666 ns       2309 ns 
BM_StableSort_int8_Ascending_4096                     7748 ns      12269 ns 
BM_StableSort_int8_Ascending_16384                   40588 ns      60181 ns 
BM_StableSort_int8_Ascending_65536                  178843 ns     298221 ns 
BM_StableSort_int8_Ascending_262144                 919959 ns    1402692 ns 
BM_StableSort_int8_Ascending_524288                2397397 ns    3036984 ns 
BM_StableSort_int8_Ascending_1048576               5080043 ns    7218581 ns 
BM_StableSort_int8_Descending_1                       3.44 ns       3.53 ns 
BM_StableSort_int8_Descending_4                       7.94 ns       8.29 ns 
BM_StableSort_int8_Descending_16                      59.6 ns       57.7 ns 
BM_StableSort_int8_Descending_64                      1051 ns       1027 ns 
BM_StableSort_int8_Descending_256                      422 ns       4718 ns 
BM_StableSort_int8_Descending_1024                    1676 ns      21044 ns 
BM_StableSort_int8_Descending_4096                    7766 ns      64827 ns 
BM_StableSort_int8_Descending_16384                  40230 ns      93981 ns 
BM_StableSort_int8_Descending_65536                 190978 ns     421151 ns 
BM_StableSort_int8_Descending_262144               1055141 ns    1918927 ns 
BM_StableSort_int8_Descending_524288               2875115 ns    3809153 ns 
BM_StableSort_int8_Descending_1048576              5854135 ns    8713690 ns 
BM_StableSort_int8_SingleElement_1                    3.52 ns       3.46 ns 
BM_StableSort_int8_SingleElement_4                    6.25 ns       5.79 ns 
BM_StableSort_int8_SingleElement_16                   10.7 ns       11.4 ns 
BM_StableSort_int8_SingleElement_64                   29.3 ns       30.3 ns 
BM_StableSort_int8_SingleElement_256                   858 ns        380 ns 
BM_StableSort_int8_SingleElement_1024                 3036 ns       2231 ns 
BM_StableSort_int8_SingleElement_4096                11580 ns      11866 ns 
BM_StableSort_int8_SingleElement_16384               44956 ns      59621 ns 
BM_StableSort_int8_SingleElement_65536              182006 ns     297853 ns 
BM_StableSort_int8_SingleElement_262144             962181 ns    1432857 ns 
BM_StableSort_int8_SingleElement_524288            2256687 ns    2975707 ns 
BM_StableSort_int8_SingleElement_1048576           4522556 ns    6949948 ns 
BM_StableSort_int8_PipeOrgan_1                        3.26 ns       3.64 ns 
BM_StableSort_int8_PipeOrgan_4                        6.21 ns       6.58 ns 
BM_StableSort_int8_PipeOrgan_16                       23.7 ns       25.4 ns 
BM_StableSort_int8_PipeOrgan_64                        250 ns        248 ns 
BM_StableSort_int8_PipeOrgan_256                       414 ns       2498 ns 
BM_StableSort_int8_PipeOrgan_1024                     1697 ns      10946 ns 
BM_StableSort_int8_PipeOrgan_4096                     7840 ns      37238 ns 
BM_StableSort_int8_PipeOrgan_16384                   41402 ns      74805 ns 
BM_StableSort_int8_PipeOrgan_65536                  180107 ns     357891 ns 
BM_StableSort_int8_PipeOrgan_262144                 988273 ns    1647296 ns 
BM_StableSort_int8_PipeOrgan_524288                2547374 ns    3245991 ns 
BM_StableSort_int8_PipeOrgan_1048576               5128783 ns    7342444 ns 
BM_StableSort_int8_QuickSortAdversary_1               3.14 ns       4.01 ns 
BM_StableSort_int8_QuickSortAdversary_4               6.05 ns       7.02 ns 
BM_StableSort_int8_QuickSortAdversary_16              10.5 ns       11.9 ns 
BM_StableSort_int8_QuickSortAdversary_64               520 ns        516 ns 
BM_StableSort_int8_QuickSortAdversary_256              920 ns        386 ns 
BM_StableSort_int8_QuickSortAdversary_1024            3083 ns       2299 ns 
BM_StableSort_int8_QuickSortAdversary_4096           11659 ns      12295 ns 
BM_StableSort_int8_QuickSortAdversary_16384          45721 ns      60931 ns 
BM_StableSort_int8_QuickSortAdversary_65536         186334 ns     295423 ns 
BM_StableSort_int8_QuickSortAdversary_262144        946262 ns    1399973 ns 
BM_StableSort_int8_QuickSortAdversary_524288       2282004 ns    2832266 ns 
BM_StableSort_int8_QuickSortAdversary_1048576      4691123 ns    6963253 ns 
BM_StableSort_uint8_Random_1                          3.11 ns       3.44 ns 
BM_StableSort_uint8_Random_4                          21.9 ns       23.1 ns 
BM_StableSort_uint8_Random_16                          154 ns        171 ns 
BM_StableSort_uint8_Random_64                         1000 ns       1051 ns 
BM_StableSort_uint8_Random_256                         402 ns       6498 ns 
BM_StableSort_uint8_Random_1024                       1176 ns      35310 ns 
BM_StableSort_uint8_Random_4096                       4415 ns     164087 ns 
BM_StableSort_uint8_Random_16384                     17849 ns     686769 ns 
BM_StableSort_uint8_Random_65536                    146109 ns    2932051 ns 
BM_StableSort_uint8_Random_262144                   876710 ns   12163988 ns 
BM_StableSort_uint8_Random_524288                  2858089 ns   26458830 ns 
BM_StableSort_uint8_Random_1048576                 5766942 ns   54836214 ns 
BM_StableSort_uint8_Ascending_1                       3.11 ns       3.43 ns 
BM_StableSort_uint8_Ascending_4                       6.18 ns       7.24 ns 
BM_StableSort_uint8_Ascending_16                      14.5 ns       17.0 ns 
BM_StableSort_uint8_Ascending_64                      50.7 ns       59.2 ns 
BM_StableSort_uint8_Ascending_256                      395 ns        536 ns 
BM_StableSort_uint8_Ascending_1024                    1752 ns       2956 ns 
BM_StableSort_uint8_Ascending_4096                    7785 ns      15146 ns 
BM_StableSort_uint8_Ascending_16384                  41442 ns      74136 ns 
BM_StableSort_uint8_Ascending_65536                 180879 ns     354261 ns 
BM_StableSort_uint8_Ascending_262144                945880 ns    1674256 ns 
BM_StableSort_uint8_Ascending_524288               2287832 ns    3138581 ns 
BM_StableSort_uint8_Ascending_1048576              4630290 ns    7296278 ns 
BM_StableSort_uint8_Descending_1                      3.19 ns       3.63 ns 
BM_StableSort_uint8_Descending_4                      9.60 ns       11.5 ns 
BM_StableSort_uint8_Descending_16                     78.3 ns       86.0 ns 
BM_StableSort_uint8_Descending_64                     1265 ns       1308 ns 
BM_StableSort_uint8_Descending_256                     395 ns       6556 ns 
BM_StableSort_uint8_Descending_1024                   1712 ns      24669 ns 
BM_StableSort_uint8_Descending_4096                   7748 ns      83407 ns 
BM_StableSort_uint8_Descending_16384                 40779 ns     104043 ns 
BM_StableSort_uint8_Descending_65536                181560 ns     467680 ns 
BM_StableSort_uint8_Descending_262144              1146627 ns    2102769 ns 
BM_StableSort_uint8_Descending_524288              2874096 ns    4572229 ns 
BM_StableSort_uint8_Descending_1048576             5873195 ns   10170663 ns 
BM_StableSort_uint8_SingleElement_1                   3.28 ns       3.58 ns 
BM_StableSort_uint8_SingleElement_4                   6.44 ns       7.40 ns 
BM_StableSort_uint8_SingleElement_16                  14.9 ns       16.4 ns 
BM_StableSort_uint8_SingleElement_64                  51.2 ns       52.9 ns 
BM_StableSort_uint8_SingleElement_256                  876 ns        490 ns 
BM_StableSort_uint8_SingleElement_1024                3041 ns       2750 ns 
BM_StableSort_uint8_SingleElement_4096               11947 ns      14326 ns 
BM_StableSort_uint8_SingleElement_16384              46669 ns      69984 ns 
BM_StableSort_uint8_SingleElement_65536             197903 ns     328961 ns 
BM_StableSort_uint8_SingleElement_262144           1031466 ns    1551436 ns 
BM_StableSort_uint8_SingleElement_524288           2447672 ns    3049553 ns 
BM_StableSort_uint8_SingleElement_1048576          4793087 ns    7615245 ns 
BM_StableSort_uint8_PipeOrgan_1                       3.38 ns       3.56 ns 
BM_StableSort_uint8_PipeOrgan_4                       7.16 ns       8.70 ns 
BM_StableSort_uint8_PipeOrgan_16                      31.7 ns       35.3 ns 
BM_StableSort_uint8_PipeOrgan_64                       326 ns        366 ns 
BM_StableSort_uint8_PipeOrgan_256                      409 ns       2942 ns 
BM_StableSort_uint8_PipeOrgan_1024                    1994 ns      12571 ns 
BM_StableSort_uint8_PipeOrgan_4096                    8086 ns      46278 ns 
BM_StableSort_uint8_PipeOrgan_16384                  41749 ns      79813 ns 
BM_StableSort_uint8_PipeOrgan_65536                 180697 ns     375120 ns 
BM_StableSort_uint8_PipeOrgan_262144               1004899 ns    1676143 ns 
BM_StableSort_uint8_PipeOrgan_524288               2456081 ns    3333949 ns 
BM_StableSort_uint8_PipeOrgan_1048576              5030857 ns    7591303 ns 
BM_StableSort_uint8_QuickSortAdversary_1              3.12 ns       3.46 ns 
BM_StableSort_uint8_QuickSortAdversary_4              7.25 ns       6.83 ns 
BM_StableSort_uint8_QuickSortAdversary_16             14.6 ns       16.2 ns 
BM_StableSort_uint8_QuickSortAdversary_64              650 ns        665 ns 
BM_StableSort_uint8_QuickSortAdversary_256             395 ns       2982 ns 
BM_StableSort_uint8_QuickSortAdversary_1024           3125 ns       2583 ns 
BM_StableSort_uint8_QuickSortAdversary_4096          11797 ns      13929 ns 
BM_StableSort_uint8_QuickSortAdversary_16384         45803 ns      66513 ns 
BM_StableSort_uint8_QuickSortAdversary_65536        190745 ns     313467 ns 
BM_StableSort_uint8_QuickSortAdversary_262144       974646 ns    1469014 ns 
BM_StableSort_uint8_QuickSortAdversary_524288      2317553 ns    3022065 ns 
BM_StableSort_uint8_QuickSortAdversary_1048576     4898703 ns    6854079 ns 
BM_StableSort_int16_Random_1                          3.94 ns       3.49 ns 
BM_StableSort_int16_Random_4                          20.8 ns       23.2 ns 
BM_StableSort_int16_Random_16                          133 ns        163 ns 
BM_StableSort_int16_Random_64                          903 ns        953 ns 
BM_StableSort_int16_Random_256                        5638 ns       6258 ns 
BM_StableSort_int16_Random_1024                       3056 ns      34587 ns 
BM_StableSort_int16_Random_4096                      10596 ns     168397 ns 
BM_StableSort_int16_Random_16384                     49908 ns     753031 ns 
BM_StableSort_int16_Random_65536                    444605 ns    3838368 ns 
BM_StableSort_int16_Random_262144                  2419345 ns   15657285 ns 
BM_StableSort_int16_Random_524288                  7984040 ns   32726933 ns 
BM_StableSort_int16_Random_1048576                16092424 ns   67999766 ns 
BM_StableSort_int16_Ascending_1                       3.40 ns       3.43 ns 
BM_StableSort_int16_Ascending_4                       5.45 ns       5.79 ns 
BM_StableSort_int16_Ascending_16                      12.0 ns       15.3 ns 
BM_StableSort_int16_Ascending_64                      39.6 ns       52.6 ns 
BM_StableSort_int16_Ascending_256                      470 ns        550 ns 
BM_StableSort_int16_Ascending_1024                    1686 ns       2707 ns 
BM_StableSort_int16_Ascending_4096                    5676 ns      14165 ns 
BM_StableSort_int16_Ascending_16384                  21413 ns      69483 ns 
BM_StableSort_int16_Ascending_65536                  88010 ns     334466 ns 
BM_StableSort_int16_Ascending_262144                567239 ns    1570620 ns 
BM_StableSort_int16_Ascending_524288               1553063 ns    3424666 ns 
BM_StableSort_int16_Ascending_1048576              3145577 ns    8499649 ns 
BM_StableSort_int16_Descending_1                      3.22 ns       3.54 ns 
BM_StableSort_int16_Descending_4                      6.85 ns       10.2 ns 
BM_StableSort_int16_Descending_16                     62.7 ns       62.2 ns 
BM_StableSort_int16_Descending_64                     1138 ns       1036 ns 
BM_StableSort_int16_Descending_256                    5541 ns       4696 ns 
BM_StableSort_int16_Descending_1024                   3046 ns      19577 ns 
BM_StableSort_int16_Descending_4096                  10962 ns      79149 ns 
BM_StableSort_int16_Descending_16384                 58182 ns     327709 ns 
BM_StableSort_int16_Descending_65536                447025 ns    1424896 ns 
BM_StableSort_int16_Descending_262144              1104973 ns    5921903 ns 
BM_StableSort_int16_Descending_524288              2547840 ns   17956789 ns 
BM_StableSort_int16_Descending_1048576             5093555 ns   17044318 ns 
BM_StableSort_int16_SingleElement_1                   3.56 ns       3.96 ns 
BM_StableSort_int16_SingleElement_4                   5.75 ns       6.72 ns 
BM_StableSort_int16_SingleElement_16                  12.4 ns       16.1 ns 
BM_StableSort_int16_SingleElement_64                  36.9 ns       54.4 ns 
BM_StableSort_int16_SingleElement_256                  473 ns        557 ns 
BM_StableSort_int16_SingleElement_1024                1828 ns       2826 ns 
BM_StableSort_int16_SingleElement_4096                6239 ns      14252 ns 
BM_StableSort_int16_SingleElement_16384              23695 ns      70369 ns 
BM_StableSort_int16_SingleElement_65536              93281 ns     361641 ns 
BM_StableSort_int16_SingleElement_262144            599078 ns    1640216 ns 
BM_StableSort_int16_SingleElement_524288           1659678 ns    3343087 ns 
BM_StableSort_int16_SingleElement_1048576          3184033 ns    7770271 ns 
BM_StableSort_int16_PipeOrgan_1                       3.75 ns       3.76 ns 
BM_StableSort_int16_PipeOrgan_4                       5.94 ns       7.74 ns 
BM_StableSort_int16_PipeOrgan_16                      26.7 ns       25.9 ns 
BM_StableSort_int16_PipeOrgan_64                       300 ns        263 ns 
BM_StableSort_int16_PipeOrgan_256                     2769 ns       2760 ns 
BM_StableSort_int16_PipeOrgan_1024                    2996 ns      10544 ns 
BM_StableSort_int16_PipeOrgan_4096                   11641 ns      44750 ns 
BM_StableSort_int16_PipeOrgan_16384                  57224 ns     200464 ns 
BM_StableSort_int16_PipeOrgan_65536                 416873 ns     887631 ns 
BM_StableSort_int16_PipeOrgan_262144                843264 ns    3588669 ns 
BM_StableSort_int16_PipeOrgan_524288               2027741 ns   11056924 ns 
BM_StableSort_int16_PipeOrgan_1048576              4223773 ns   13261276 ns 
BM_StableSort_int16_QuickSortAdversary_1              3.83 ns       3.68 ns 
BM_StableSort_int16_QuickSortAdversary_4              5.55 ns       6.93 ns 
BM_StableSort_int16_QuickSortAdversary_16             12.3 ns       15.2 ns 
BM_StableSort_int16_QuickSortAdversary_64              646 ns        632 ns 
BM_StableSort_int16_QuickSortAdversary_256            2751 ns       2542 ns 
BM_StableSort_int16_QuickSortAdversary_1024           3028 ns      16901 ns 
BM_StableSort_int16_QuickSortAdversary_4096          10862 ns      80222 ns 
BM_StableSort_int16_QuickSortAdversary_16384         57753 ns     317281 ns 
BM_StableSort_int16_QuickSortAdversary_65536         94064 ns     328502 ns 
BM_StableSort_int16_QuickSortAdversary_262144       557796 ns    1613208 ns 
BM_StableSort_int16_QuickSortAdversary_524288      1518451 ns    3479740 ns 
BM_StableSort_int16_QuickSortAdversary_1048576     3165129 ns    7655880 ns 
BM_StableSort_uint16_Random_1                         3.26 ns       3.44 ns 
BM_StableSort_uint16_Random_4                         21.1 ns       22.2 ns 
BM_StableSort_uint16_Random_16                         157 ns        156 ns 
BM_StableSort_uint16_Random_64                         955 ns        947 ns 
BM_StableSort_uint16_Random_256                       5886 ns       6097 ns 
BM_StableSort_uint16_Random_1024                      2787 ns      30776 ns 
BM_StableSort_uint16_Random_4096                      9973 ns     155652 ns 
BM_StableSort_uint16_Random_16384                    48628 ns     741072 ns 
BM_StableSort_uint16_Random_65536                   439609 ns    3478966 ns 
BM_StableSort_uint16_Random_262144                 2336983 ns   15197642 ns 
BM_StableSort_uint16_Random_524288                 7888701 ns   34234254 ns 
BM_StableSort_uint16_Random_1048576               14865180 ns   68516386 ns 
BM_StableSort_uint16_Ascending_1                      3.33 ns       4.00 ns 
BM_StableSort_uint16_Ascending_4                      5.79 ns       6.64 ns 
BM_StableSort_uint16_Ascending_16                     14.9 ns       15.5 ns 
BM_StableSort_uint16_Ascending_64                     50.2 ns       52.5 ns 
BM_StableSort_uint16_Ascending_256                     538 ns        546 ns 
BM_StableSort_uint16_Ascending_1024                   1645 ns       2652 ns 
BM_StableSort_uint16_Ascending_4096                   5559 ns      14517 ns 
BM_StableSort_uint16_Ascending_16384                 22803 ns      70275 ns 
BM_StableSort_uint16_Ascending_65536                 83109 ns     333446 ns 
BM_StableSort_uint16_Ascending_262144               562667 ns    1568670 ns 
BM_StableSort_uint16_Ascending_524288              1564646 ns    3059839 ns 
BM_StableSort_uint16_Ascending_1048576             3178826 ns    7048327 ns 
BM_StableSort_uint16_Descending_1                     3.34 ns       3.93 ns 
BM_StableSort_uint16_Descending_4                     8.75 ns       9.73 ns 
BM_StableSort_uint16_Descending_16                    55.9 ns       55.5 ns 
BM_StableSort_uint16_Descending_64                    1021 ns       1035 ns 
BM_StableSort_uint16_Descending_256                   4752 ns       4931 ns 
BM_StableSort_uint16_Descending_1024                  2982 ns      19727 ns 
BM_StableSort_uint16_Descending_4096                 10432 ns      83165 ns 
BM_StableSort_uint16_Descending_16384                56593 ns     326131 ns 
BM_StableSort_uint16_Descending_65536               439134 ns    1371346 ns 
BM_StableSort_uint16_Descending_262144             1220925 ns    5735665 ns 
BM_StableSort_uint16_Descending_524288             2767234 ns   16758330 ns 
BM_StableSort_uint16_Descending_1048576            5673769 ns   17541715 ns 
BM_StableSort_uint16_SingleElement_1                  3.53 ns       3.73 ns 
BM_StableSort_uint16_SingleElement_4                  6.27 ns       5.81 ns 
BM_StableSort_uint16_SingleElement_16                 14.8 ns       15.1 ns 
BM_StableSort_uint16_SingleElement_64                 51.5 ns       50.9 ns 
BM_StableSort_uint16_SingleElement_256                 536 ns        540 ns 
BM_StableSort_uint16_SingleElement_1024               1669 ns       2690 ns 
BM_StableSort_uint16_SingleElement_4096               5840 ns      14230 ns 
BM_StableSort_uint16_SingleElement_16384             22468 ns      68524 ns 
BM_StableSort_uint16_SingleElement_65536             89845 ns     332187 ns 
BM_StableSort_uint16_SingleElement_262144           590736 ns    1550868 ns 
BM_StableSort_uint16_SingleElement_524288          1573677 ns    3095703 ns 
BM_StableSort_uint16_SingleElement_1048576         3183421 ns    8251180 ns 
BM_StableSort_uint16_PipeOrgan_1                      3.70 ns       3.64 ns 
BM_StableSort_uint16_PipeOrgan_4                      7.01 ns       6.81 ns 
BM_StableSort_uint16_PipeOrgan_16                     25.7 ns       26.4 ns 
BM_StableSort_uint16_PipeOrgan_64                      283 ns        277 ns 
BM_StableSort_uint16_PipeOrgan_256                    2562 ns       2852 ns 
BM_StableSort_uint16_PipeOrgan_1024                   2863 ns      10892 ns 
BM_StableSort_uint16_PipeOrgan_4096                  10585 ns      45668 ns 
BM_StableSort_uint16_PipeOrgan_16384                 59151 ns     194358 ns 
BM_StableSort_uint16_PipeOrgan_65536                508579 ns     854692 ns 
BM_StableSort_uint16_PipeOrgan_262144               901294 ns    3606346 ns 
BM_StableSort_uint16_PipeOrgan_524288              2192498 ns   10449279 ns 
BM_StableSort_uint16_PipeOrgan_1048576             4204368 ns   11956606 ns 
BM_StableSort_uint16_QuickSortAdversary_1             3.20 ns       3.63 ns 
BM_StableSort_uint16_QuickSortAdversary_4             5.30 ns       6.38 ns 
BM_StableSort_uint16_QuickSortAdversary_16            14.5 ns       15.3 ns 
BM_StableSort_uint16_QuickSortAdversary_64             575 ns        611 ns 
BM_StableSort_uint16_QuickSortAdversary_256           2423 ns       2577 ns 
BM_StableSort_uint16_QuickSortAdversary_1024          2794 ns      16854 ns 
BM_StableSort_uint16_QuickSortAdversary_4096         10511 ns      75952 ns 
BM_StableSort_uint16_QuickSortAdversary_16384        56214 ns     333824 ns 
BM_StableSort_uint16_QuickSortAdversary_65536       422512 ns    1354867 ns 
BM_StableSort_uint16_QuickSortAdversary_262144      583301 ns    1564443 ns 
BM_StableSort_uint16_QuickSortAdversary_524288     1584319 ns    3265575 ns 
BM_StableSort_uint16_QuickSortAdversary_1048576    3197732 ns    7945245 ns 
BM_StableSort_int32_Random_1                          3.81 ns       3.70 ns 
BM_StableSort_int32_Random_4                          20.8 ns       23.4 ns 
BM_StableSort_int32_Random_16                          134 ns        161 ns 
BM_StableSort_int32_Random_64                          895 ns        984 ns 
BM_StableSort_int32_Random_256                        5640 ns       5897 ns 
BM_StableSort_int32_Random_1024                       6994 ns      32118 ns 
BM_StableSort_int32_Random_4096                      27367 ns     168960 ns 
BM_StableSort_int32_Random_16384                    183261 ns     843240 ns 
BM_StableSort_int32_Random_65536                    950914 ns    3953588 ns 
BM_StableSort_int32_Random_262144                  3673311 ns   16790171 ns 
BM_StableSort_int32_Random_524288                 11515700 ns   36023098 ns 
BM_StableSort_int32_Random_1048576                24492515 ns   78116028 ns 
BM_StableSort_int32_Ascending_1                       3.31 ns       4.48 ns 
BM_StableSort_int32_Ascending_4                       5.96 ns       6.99 ns 
BM_StableSort_int32_Ascending_16                      13.0 ns       16.0 ns 
BM_StableSort_int32_Ascending_64                      36.7 ns       53.0 ns 
BM_StableSort_int32_Ascending_256                      391 ns        471 ns 
BM_StableSort_int32_Ascending_1024                    2705 ns       2682 ns 
BM_StableSort_int32_Ascending_4096                    8773 ns      14231 ns 
BM_StableSort_int32_Ascending_16384                  34709 ns      70625 ns 
BM_StableSort_int32_Ascending_65536                 142907 ns     344482 ns 
BM_StableSort_int32_Ascending_262144                745483 ns    1591418 ns 
BM_StableSort_int32_Ascending_524288               1873701 ns    3190305 ns 
BM_StableSort_int32_Ascending_1048576              3851590 ns    7570095 ns 
BM_StableSort_int32_Descending_1                      3.22 ns       4.23 ns 
BM_StableSort_int32_Descending_4                      7.58 ns       11.2 ns 
BM_StableSort_int32_Descending_16                     63.9 ns       58.6 ns 
BM_StableSort_int32_Descending_64                     1133 ns       1017 ns 
BM_StableSort_int32_Descending_256                    4850 ns       4464 ns 
BM_StableSort_int32_Descending_1024                   7023 ns      18954 ns 
BM_StableSort_int32_Descending_4096                  28550 ns      75163 ns 
BM_StableSort_int32_Descending_16384                200880 ns     341104 ns 
BM_StableSort_int32_Descending_65536               1095910 ns    1398021 ns 
BM_StableSort_int32_Descending_262144              3818864 ns    5695486 ns 
BM_StableSort_int32_Descending_524288              5606779 ns   17593982 ns 
BM_StableSort_int32_Descending_1048576            16416366 ns   26649503 ns 
BM_StableSort_int32_SingleElement_1                   3.81 ns       3.71 ns 
BM_StableSort_int32_SingleElement_4                   6.57 ns       6.61 ns 
BM_StableSort_int32_SingleElement_16                  14.0 ns       15.8 ns 
BM_StableSort_int32_SingleElement_64                  38.7 ns       53.5 ns 
BM_StableSort_int32_SingleElement_256                  386 ns        554 ns 
BM_StableSort_int32_SingleElement_1024                2761 ns       3046 ns 
BM_StableSort_int32_SingleElement_4096                9179 ns      15188 ns 
BM_StableSort_int32_SingleElement_16384              34794 ns      70119 ns 
BM_StableSort_int32_SingleElement_65536             135190 ns     354755 ns 
BM_StableSort_int32_SingleElement_262144            760995 ns    1644072 ns 
BM_StableSort_int32_SingleElement_524288           1969575 ns    3343419 ns 
BM_StableSort_int32_SingleElement_1048576          4423816 ns    8346971 ns 
BM_StableSort_int32_PipeOrgan_1                       3.79 ns       3.63 ns 
BM_StableSort_int32_PipeOrgan_4                       6.21 ns       6.73 ns 
BM_StableSort_int32_PipeOrgan_16                      27.5 ns       26.0 ns 
BM_StableSort_int32_PipeOrgan_64                       291 ns        265 ns 
BM_StableSort_int32_PipeOrgan_256                     2557 ns       2518 ns 
BM_StableSort_int32_PipeOrgan_1024                    6765 ns      10976 ns 
BM_StableSort_int32_PipeOrgan_4096                   26373 ns      44537 ns 
BM_StableSort_int32_PipeOrgan_16384                 201466 ns     188582 ns 
BM_StableSort_int32_PipeOrgan_65536                1148533 ns     802368 ns 
BM_StableSort_int32_PipeOrgan_262144               2255177 ns    3477829 ns 
BM_StableSort_int32_PipeOrgan_524288               3947015 ns   10356637 ns 
BM_StableSort_int32_PipeOrgan_1048576             10274312 ns   16405366 ns 
BM_StableSort_int32_QuickSortAdversary_1              3.32 ns       4.36 ns 
BM_StableSort_int32_QuickSortAdversary_4              5.98 ns       7.44 ns 
BM_StableSort_int32_QuickSortAdversary_16             13.0 ns       16.3 ns 
BM_StableSort_int32_QuickSortAdversary_64              657 ns        616 ns 
BM_StableSort_int32_QuickSortAdversary_256            2569 ns       2483 ns 
BM_StableSort_int32_QuickSortAdversary_1024           6898 ns      19635 ns 
BM_StableSort_int32_QuickSortAdversary_4096          27092 ns      75108 ns 
BM_StableSort_int32_QuickSortAdversary_16384        190379 ns     316463 ns 
BM_StableSort_int32_QuickSortAdversary_65536       1109040 ns    1319018 ns 
BM_StableSort_int32_QuickSortAdversary_262144      4361925 ns    5472779 ns 
BM_StableSort_int32_QuickSortAdversary_524288      6528215 ns   17538983 ns 
BM_StableSort_int32_QuickSortAdversary_1048576    18345325 ns   27223926 ns 
BM_StableSort_uint32_Random_1                         3.67 ns       3.82 ns 
BM_StableSort_uint32_Random_4                         22.3 ns       21.8 ns 
BM_StableSort_uint32_Random_16                         155 ns        153 ns 
BM_StableSort_uint32_Random_64                         946 ns        976 ns 
BM_StableSort_uint32_Random_256                       5824 ns       6019 ns 
BM_StableSort_uint32_Random_1024                      4525 ns      32764 ns 
BM_StableSort_uint32_Random_4096                     17223 ns     158608 ns 
BM_StableSort_uint32_Random_16384                   134821 ns     748525 ns 
BM_StableSort_uint32_Random_65536                   716644 ns    3453325 ns 
BM_StableSort_uint32_Random_262144                 3628062 ns   16065414 ns 
BM_StableSort_uint32_Random_524288                10971334 ns   36567712 ns 
BM_StableSort_uint32_Random_1048576               22688377 ns   77533497 ns 
BM_StableSort_uint32_Ascending_1                      3.57 ns       3.44 ns 
BM_StableSort_uint32_Ascending_4                      5.73 ns       5.33 ns 
BM_StableSort_uint32_Ascending_16                     14.5 ns       14.0 ns 
BM_StableSort_uint32_Ascending_64                     50.3 ns       51.3 ns 
BM_StableSort_uint32_Ascending_256                     465 ns        467 ns 
BM_StableSort_uint32_Ascending_1024                   3042 ns       2530 ns 
BM_StableSort_uint32_Ascending_4096                   9842 ns      12207 ns 
BM_StableSort_uint32_Ascending_16384                 37994 ns      61726 ns 
BM_StableSort_uint32_Ascending_65536                148890 ns     294385 ns 
BM_StableSort_uint32_Ascending_262144               855080 ns    1422167 ns 
BM_StableSort_uint32_Ascending_524288              2154903 ns    3203018 ns 
BM_StableSort_uint32_Ascending_1048576             5002518 ns    7563817 ns 
BM_StableSort_uint32_Descending_1                     3.51 ns       3.40 ns 
BM_StableSort_uint32_Descending_4                     9.09 ns       7.95 ns 
BM_StableSort_uint32_Descending_16                    54.8 ns       74.4 ns 
BM_StableSort_uint32_Descending_64                    1003 ns       1305 ns 
BM_StableSort_uint32_Descending_256                   4545 ns       5300 ns 
BM_StableSort_uint32_Descending_1024                  4361 ns      21884 ns 
BM_StableSort_uint32_Descending_4096                 16018 ns      90534 ns 
BM_StableSort_uint32_Descending_16384               146274 ns     381943 ns 
BM_StableSort_uint32_Descending_65536               938248 ns    1536806 ns 
BM_StableSort_uint32_Descending_262144             3899300 ns    6387843 ns 
BM_StableSort_uint32_Descending_524288             5808157 ns   21959858 ns 
BM_StableSort_uint32_Descending_1048576           17520047 ns   26351912 ns 
BM_StableSort_uint32_SingleElement_1                  4.03 ns       3.97 ns 
BM_StableSort_uint32_SingleElement_4                  6.55 ns       6.41 ns 
BM_StableSort_uint32_SingleElement_16                 15.6 ns       15.8 ns 
BM_StableSort_uint32_SingleElement_64                 52.3 ns       58.7 ns 
BM_StableSort_uint32_SingleElement_256                 473 ns        485 ns 
BM_StableSort_uint32_SingleElement_1024               3020 ns       2407 ns 
BM_StableSort_uint32_SingleElement_4096               9998 ns      12527 ns 
BM_StableSort_uint32_SingleElement_16384             38072 ns      62228 ns 
BM_StableSort_uint32_SingleElement_65536            153706 ns     295662 ns 
BM_StableSort_uint32_SingleElement_262144           836532 ns    1477099 ns 
BM_StableSort_uint32_SingleElement_524288          2144900 ns    3157204 ns 
BM_StableSort_uint32_SingleElement_1048576         4995525 ns    7617233 ns 
BM_StableSort_uint32_PipeOrgan_1                      4.02 ns       3.99 ns 
BM_StableSort_uint32_PipeOrgan_4                      6.97 ns       6.84 ns 
BM_StableSort_uint32_PipeOrgan_16                     26.1 ns       29.7 ns 
BM_StableSort_uint32_PipeOrgan_64                      266 ns        333 ns 
BM_StableSort_uint32_PipeOrgan_256                    2462 ns       2892 ns 
BM_StableSort_uint32_PipeOrgan_1024                   4291 ns      12431 ns 
BM_StableSort_uint32_PipeOrgan_4096                  15638 ns      51449 ns 
BM_StableSort_uint32_PipeOrgan_16384                154563 ns     217460 ns 
BM_StableSort_uint32_PipeOrgan_65536                907724 ns     925873 ns 
BM_StableSort_uint32_PipeOrgan_262144              2394580 ns    4103575 ns 
BM_StableSort_uint32_PipeOrgan_524288              4177145 ns   13947158 ns 
BM_StableSort_uint32_PipeOrgan_1048576            11848224 ns   18807297 ns 
BM_StableSort_uint32_QuickSortAdversary_1             3.50 ns       3.43 ns 
BM_StableSort_uint32_QuickSortAdversary_4             5.88 ns       4.96 ns 
BM_StableSort_uint32_QuickSortAdversary_16            14.6 ns       14.0 ns 
BM_StableSort_uint32_QuickSortAdversary_64             576 ns        715 ns 
BM_StableSort_uint32_QuickSortAdversary_256           2353 ns       2797 ns 
BM_StableSort_uint32_QuickSortAdversary_1024          4176 ns      21775 ns 
BM_StableSort_uint32_QuickSortAdversary_4096         15565 ns      96188 ns 
BM_StableSort_uint32_QuickSortAdversary_16384       149092 ns     398332 ns 
BM_StableSort_uint32_QuickSortAdversary_65536       902488 ns    1552393 ns 
BM_StableSort_uint32_QuickSortAdversary_262144     3946517 ns    6560414 ns 
BM_StableSort_uint32_QuickSortAdversary_524288     6247114 ns   22420977 ns 
BM_StableSort_uint32_QuickSortAdversary_1048576   19892446 ns   26529576 ns 
BM_StableSort_int64_Random_1                          3.83 ns       3.98 ns 
BM_StableSort_int64_Random_4                          21.1 ns       24.0 ns 
BM_StableSort_int64_Random_16                          129 ns        136 ns 
BM_StableSort_int64_Random_64                          890 ns        906 ns 
BM_StableSort_int64_Random_256                        5542 ns       5901 ns 
BM_StableSort_int64_Random_1024                      16085 ns      33112 ns 
BM_StableSort_int64_Random_4096                      63895 ns     162181 ns 
BM_StableSort_int64_Random_16384                    348827 ns     790045 ns 
BM_StableSort_int64_Random_65536                   1488237 ns    3557506 ns 
BM_StableSort_int64_Random_262144                  8195713 ns   16315808 ns 
BM_StableSort_int64_Random_524288                 16586833 ns   38274075 ns 
BM_StableSort_int64_Random_1048576                40346644 ns   79182089 ns 
BM_StableSort_int64_Ascending_1                       3.76 ns       3.55 ns 
BM_StableSort_int64_Ascending_4                       5.82 ns       6.19 ns 
BM_StableSort_int64_Ascending_16                      11.7 ns       11.8 ns 
BM_StableSort_int64_Ascending_64                      32.9 ns       36.8 ns 
BM_StableSort_int64_Ascending_256                      415 ns        550 ns 
BM_StableSort_int64_Ascending_1024                    5352 ns       3347 ns 
BM_StableSort_int64_Ascending_4096                   17516 ns      19134 ns 
BM_StableSort_int64_Ascending_16384                  64147 ns      91099 ns 
BM_StableSort_int64_Ascending_65536                 322126 ns     434009 ns 
BM_StableSort_int64_Ascending_262144               1554669 ns    2057056 ns 
BM_StableSort_int64_Ascending_524288               3656527 ns    5016650 ns 
BM_StableSort_int64_Ascending_1048576             10469979 ns   12908613 ns 
BM_StableSort_int64_Descending_1                      4.09 ns       3.35 ns 
BM_StableSort_int64_Descending_4                      9.13 ns       8.01 ns 
BM_StableSort_int64_Descending_16                     76.8 ns       92.9 ns 
BM_StableSort_int64_Descending_64                     1336 ns       1417 ns 
BM_StableSort_int64_Descending_256                    5525 ns       5674 ns 
BM_StableSort_int64_Descending_1024                  17461 ns      22558 ns 
BM_StableSort_int64_Descending_4096                  64285 ns     102360 ns 
BM_StableSort_int64_Descending_16384                336946 ns     388940 ns 
BM_StableSort_int64_Descending_65536                837912 ns    1662169 ns 
BM_StableSort_int64_Descending_262144              3680806 ns    7494323 ns 
BM_StableSort_int64_Descending_524288             11023784 ns   24935033 ns 
BM_StableSort_int64_Descending_1048576            20023568 ns   33220712 ns 
BM_StableSort_int64_SingleElement_1                   3.37 ns       3.98 ns 
BM_StableSort_int64_SingleElement_4                   5.32 ns       6.92 ns 
BM_StableSort_int64_SingleElement_16                  10.9 ns       13.3 ns 
BM_StableSort_int64_SingleElement_64                  32.1 ns       43.8 ns 
BM_StableSort_int64_SingleElement_256                  420 ns        541 ns 
BM_StableSort_int64_SingleElement_1024                5689 ns       3381 ns 
BM_StableSort_int64_SingleElement_4096               19199 ns      17989 ns 
BM_StableSort_int64_SingleElement_16384              75754 ns      91963 ns 
BM_StableSort_int64_SingleElement_65536             357106 ns     500326 ns 
BM_StableSort_int64_SingleElement_262144           1672975 ns    2417734 ns 
BM_StableSort_int64_SingleElement_524288           3642891 ns    5200878 ns 
BM_StableSort_int64_SingleElement_1048576         11172007 ns   13729511 ns 
BM_StableSort_int64_PipeOrgan_1                       3.38 ns       3.94 ns 
BM_StableSort_int64_PipeOrgan_4                       5.73 ns       6.44 ns 
BM_StableSort_int64_PipeOrgan_16                      27.5 ns       29.0 ns 
BM_StableSort_int64_PipeOrgan_64                       310 ns        321 ns 
BM_StableSort_int64_PipeOrgan_256                     2761 ns       2918 ns 
BM_StableSort_int64_PipeOrgan_1024                   16105 ns      12525 ns 
BM_StableSort_int64_PipeOrgan_4096                   65289 ns      59990 ns 
BM_StableSort_int64_PipeOrgan_16384                 341757 ns     270636 ns 
BM_StableSort_int64_PipeOrgan_65536                 587452 ns    1126132 ns 
BM_StableSort_int64_PipeOrgan_262144               2837955 ns    5034180 ns 
BM_StableSort_int64_PipeOrgan_524288               6617313 ns   15267354 ns 
BM_StableSort_int64_PipeOrgan_1048576             15208796 ns   23162989 ns 
BM_StableSort_int64_QuickSortAdversary_1              3.77 ns       3.45 ns 
BM_StableSort_int64_QuickSortAdversary_4              5.55 ns       5.20 ns 
BM_StableSort_int64_QuickSortAdversary_16             12.5 ns       11.5 ns 
BM_StableSort_int64_QuickSortAdversary_64              646 ns        750 ns 
BM_StableSort_int64_QuickSortAdversary_256            2655 ns       3539 ns 
BM_StableSort_int64_QuickSortAdversary_1024          16373 ns      22349 ns 
BM_StableSort_int64_QuickSortAdversary_4096          62306 ns      97248 ns 
BM_StableSort_int64_QuickSortAdversary_16384        321755 ns     388084 ns 
BM_StableSort_int64_QuickSortAdversary_65536       1374694 ns    1596091 ns 
BM_StableSort_int64_QuickSortAdversary_262144      4374661 ns    6894139 ns 
BM_StableSort_int64_QuickSortAdversary_524288     12736074 ns   23932229 ns 
BM_StableSort_int64_QuickSortAdversary_1048576    22615219 ns   33355629 ns 
BM_StableSort_uint64_Random_1                         3.82 ns       3.49 ns 
BM_StableSort_uint64_Random_4                         22.4 ns       23.4 ns 
BM_StableSort_uint64_Random_16                         154 ns        146 ns 
BM_StableSort_uint64_Random_64                         924 ns        926 ns 
BM_StableSort_uint64_Random_256                       5864 ns       5913 ns 
BM_StableSort_uint64_Random_1024                      7168 ns      31746 ns 
BM_StableSort_uint64_Random_4096                     27668 ns     154224 ns 
BM_StableSort_uint64_Random_16384                   219526 ns     755205 ns 
BM_StableSort_uint64_Random_65536                   965251 ns    3490165 ns 
BM_StableSort_uint64_Random_262144                 6262162 ns   15889589 ns 
BM_StableSort_uint64_Random_524288                12530078 ns   36458581 ns 
BM_StableSort_uint64_Random_1048576               38462191 ns   75168445 ns 
BM_StableSort_uint64_Ascending_1                      3.30 ns       3.35 ns 
BM_StableSort_uint64_Ascending_4                      5.65 ns       5.84 ns 
BM_StableSort_uint64_Ascending_16                     14.7 ns       12.6 ns 
BM_StableSort_uint64_Ascending_64                     55.3 ns       34.6 ns 
BM_StableSort_uint64_Ascending_256                     513 ns        533 ns 
BM_StableSort_uint64_Ascending_1024                   5541 ns       3189 ns 
BM_StableSort_uint64_Ascending_4096                  17706 ns      20326 ns 
BM_StableSort_uint64_Ascending_16384                 66420 ns      93757 ns 
BM_StableSort_uint64_Ascending_65536                341425 ns     435016 ns 
BM_StableSort_uint64_Ascending_262144              1595691 ns    2088317 ns 
BM_StableSort_uint64_Ascending_524288              3808703 ns    5092832 ns 
BM_StableSort_uint64_Ascending_1048576            11060417 ns   13023250 ns 
BM_StableSort_uint64_Descending_1                     3.29 ns       3.35 ns 
BM_StableSort_uint64_Descending_4                     8.65 ns       7.92 ns 
BM_StableSort_uint64_Descending_16                    54.7 ns       80.2 ns 
BM_StableSort_uint64_Descending_64                    1028 ns       1307 ns 
BM_StableSort_uint64_Descending_256                   4521 ns       5635 ns 
BM_StableSort_uint64_Descending_1024                  7122 ns      23323 ns 
BM_StableSort_uint64_Descending_4096                 30538 ns      95892 ns 
BM_StableSort_uint64_Descending_16384               195565 ns     392721 ns 
BM_StableSort_uint64_Descending_65536               852002 ns    1720358 ns 
BM_StableSort_uint64_Descending_262144             3737884 ns    7484130 ns 
BM_StableSort_uint64_Descending_524288            11159345 ns   25690770 ns 
BM_StableSort_uint64_Descending_1048576           20648864 ns   33057383 ns 
BM_StableSort_uint64_SingleElement_1                  3.62 ns       4.10 ns 
BM_StableSort_uint64_SingleElement_4                  6.73 ns       6.64 ns 
BM_StableSort_uint64_SingleElement_16                 14.9 ns       11.3 ns 
BM_StableSort_uint64_SingleElement_64                 52.0 ns       33.0 ns 
BM_StableSort_uint64_SingleElement_256                 511 ns        582 ns 
BM_StableSort_uint64_SingleElement_1024               6499 ns       3287 ns 
BM_StableSort_uint64_SingleElement_4096              22190 ns      17616 ns 
BM_StableSort_uint64_SingleElement_16384             84378 ns      86885 ns 
BM_StableSort_uint64_SingleElement_65536            466257 ns     457144 ns 
BM_StableSort_uint64_SingleElement_262144          1993687 ns    2361999 ns 
BM_StableSort_uint64_SingleElement_524288          4759565 ns    5096771 ns 
BM_StableSort_uint64_SingleElement_1048576        12426111 ns   13468453 ns 
BM_StableSort_uint64_PipeOrgan_1                      3.73 ns       3.94 ns 
BM_StableSort_uint64_PipeOrgan_4                      7.18 ns       7.54 ns 
BM_StableSort_uint64_PipeOrgan_16                     25.2 ns       29.1 ns 
BM_StableSort_uint64_PipeOrgan_64                      260 ns        321 ns 
BM_StableSort_uint64_PipeOrgan_256                    2468 ns       2970 ns 
BM_StableSort_uint64_PipeOrgan_1024                   7025 ns      12912 ns 
BM_StableSort_uint64_PipeOrgan_4096                  28968 ns      53379 ns 
BM_StableSort_uint64_PipeOrgan_16384                194156 ns     239790 ns 
BM_StableSort_uint64_PipeOrgan_65536                599491 ns     993800 ns 
BM_StableSort_uint64_PipeOrgan_262144              2648585 ns    4689680 ns 
BM_StableSort_uint64_PipeOrgan_524288              7621109 ns   15401808 ns 
BM_StableSort_uint64_PipeOrgan_1048576            15608814 ns   23484821 ns 
BM_StableSort_uint64_QuickSortAdversary_1             3.38 ns       3.54 ns 
BM_StableSort_uint64_QuickSortAdversary_4             5.50 ns       6.03 ns 
BM_StableSort_uint64_QuickSortAdversary_16            14.2 ns       11.0 ns 
BM_StableSort_uint64_QuickSortAdversary_64             597 ns        688 ns 
BM_StableSort_uint64_QuickSortAdversary_256           2446 ns       2818 ns 
BM_StableSort_uint64_QuickSortAdversary_1024          7266 ns      20319 ns 
BM_StableSort_uint64_QuickSortAdversary_4096         31155 ns      89112 ns 
BM_StableSort_uint64_QuickSortAdversary_16384       201033 ns     390574 ns 
BM_StableSort_uint64_QuickSortAdversary_65536       871014 ns    1685639 ns 
BM_StableSort_uint64_QuickSortAdversary_262144     3978535 ns    7265830 ns 
BM_StableSort_uint64_QuickSortAdversary_524288    10279721 ns   25350004 ns 
BM_StableSort_uint64_QuickSortAdversary_1048576   20256585 ns   33054393 ns 
```


  Commit: 0e1c5bfac8574bc8419968279069c76b55e5f270
      https://github.com/llvm/llvm-project/commit/0e1c5bfac8574bc8419968279069c76b55e5f270
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [gn build] Port 69b54c1a05c0


  Commit: a6b7181733c83523a39d4f4e788c6b7a227d477d
      https://github.com/llvm/llvm-project/commit/a6b7181733c83523a39d4f4e788c6b7a227d477d
  Author: Farzon Lotfi <farzonlotfi at microsoft.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    R llvm/test/CodeGen/DirectX/length.ll
    R llvm/test/CodeGen/DirectX/length_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    R llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  [HLSL] Move length support out of the DirectX Backend  (#121611)

## Changes
- Delete DirectX length intrinsic
- Delete HLSL length lang builtin
- Implement length algorithm entirely in the header.

## History
- In the past if an HLSL intrinsic lowered to either a spirv op code or
a DXIL opcode we represented it with intrinsics

## Why we are moving away?
- To make HLSL apis more portable the team decided that it makes sense
for some intrinsics to be defined only in the header.
- Since there tends to be more SPIRV opcodes than DXIL opcodes the plan
is to support SPIRV opcodes either with target specific builtins or via
pattern matching.


  Commit: b6cda338ab7bd18265a3e3fd494856620aec5210
      https://github.com/llvm/llvm-project/commit/b6cda338ab7bd18265a3e3fd494856620aec5210
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Analysis/Loads.cpp
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll

  Log Message:
  -----------
  [Loads] Also consider getPointerAlignment when checking assumptions. (#120916)

Also use getPointerAlignment when trying to use alignment and
dereferenceable assumptions. This catches cases where dereferencable is
known via the assumption but alignment is known via getPointerAlignment
(e.g. via argument attribute or align of 1)

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


  Commit: 6beaa4552686685e93e31dcb6275e18c4c17acd9
      https://github.com/llvm/llvm-project/commit/6beaa4552686685e93e31dcb6275e18c4c17acd9
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Fix VCFCT incompatible EEW test (#122327)

https://github.com/llvm/llvm-project/pull/122151 added this test with an
invalid SEW. Use a valid SEW here.


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

  Changed paths:
    M mlir/docs/Dialects/OpenACCDialect.md
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Introduce MappableType interface (#122146)

OpenACC data clause operations previously required that the variable
operand implemented PointerLikeType interface. This was a reasonable
constraint because the dialects currently mixed with `acc` do use
pointers to represent variables. However, this forces the "pointer"
abstraction to be exposed too early and some cases are not cleanly
representable through this approach (more specifically FIR's `fix.box`
abstraction).

Thus, relax this by allowing a variable to be a type which implements
either `PointerLikeType` interface or `MappableType` interface.


  Commit: d5145715f7e0866fe6526f9f09558dd698344d52
      https://github.com/llvm/llvm-project/commit/d5145715f7e0866fe6526f9f09558dd698344d52
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir

  Log Message:
  -----------
  [RISCV][VLOPT] Add vfirst and vcpop to getOperandInfo (#122295)


  Commit: 8e12037d38e2a9a1cfc6402be2b33283e3220bcc
      https://github.com/llvm/llvm-project/commit/8e12037d38e2a9a1cfc6402be2b33283e3220bcc
  Author: Michał Górny <mgorny at gentoo.org>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M flang/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix finding system install of LLVM/Clang/MLIR in standalone builds (#120914)

The changes in #87822 introduced a regression where Flang could no
longer be built standalone without explicitly specifying all of
LLVM_DIR, CLANG_DIR and MLIR_DIR. Restore the earlier logic that used
these paths as hints, and supported finding system-wide LLVM install via
default paths. Instead, make paths absolute after locating the packages,
using the paths CMake determined.

-----

@vzakhari, could you confirm that this doesn't break your use case?


  Commit: 3ba46ddb7994c4fa63d3d34166b6f3dedb07a184
      https://github.com/llvm/llvm-project/commit/3ba46ddb7994c4fa63d3d34166b6f3dedb07a184
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s

  Log Message:
  -----------
  [AMDGPU][True16][MC][NFC] add true16/fake16 test for gfx12 vop3c/3cx (#122316)

This is a NFC. Duplicate mc test file for gfx12 vop3c/vop3cx to
true16/fake16 mode and update it with +real-true16/-real-true16 flag.

This is for the upcoming true16 changes


  Commit: 222ff186087f0f1d9976ac2512dca52d90e13472
      https://github.com/llvm/llvm-project/commit/222ff186087f0f1d9976ac2512dca52d90e13472
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/fmed3.ll

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Update codegen pattern for v_med3_f16 (#121992)

true16 codegen pattern for v_med3_f16


  Commit: 031f33cca3c953dd09ac439fdb503fb3cb36af5e
      https://github.com/llvm/llvm-project/commit/031f33cca3c953dd09ac439fdb503fb3cb36af5e
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll

  Log Message:
  -----------
  [RISCV] Add tests for legalization of <N x i128> and <N x i256> shuffles


  Commit: c036a9a2c2130f6e80e2969d4a8fad96265e4a11
      https://github.com/llvm/llvm-project/commit/c036a9a2c2130f6e80e2969d4a8fad96265e4a11
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector single width floating point add subtract instructions to isSupportedInstr


  Commit: 8beb9d393deaafde5ce7323a71cd0b0b1553444d
      https://github.com/llvm/llvm-project/commit/8beb9d393deaafde5ce7323a71cd0b0b1553444d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vector widening floating point add subtract instructions to isSupportedInstr


  Commit: a484fa1d0a974680d609d3f08ee6d57c9e3d21f8
      https://github.com/llvm/llvm-project/commit/a484fa1d0a974680d609d3f08ee6d57c9e3d21f8
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add floating point multiply divide instructions to getSupportedInstr


  Commit: b419edeec34844cfc31665248d670d777499340d
      https://github.com/llvm/llvm-project/commit/b419edeec34844cfc31665248d670d777499340d
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add widening floating point multiply to isSupportedInstr


  Commit: 5f70fea79fdb947ab7820aa47e5a1885691ef73a
      https://github.com/llvm/llvm-project/commit/5f70fea79fdb947ab7820aa47e5a1885691ef73a
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector Floating-Point Compare Instructions to getSupportedInstr


  Commit: ca10deaa72c37fb5eee8bf1c95466b12a8773e95
      https://github.com/llvm/llvm-project/commit/ca10deaa72c37fb5eee8bf1c95466b12a8773e95
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [z/OS] Add backtrace support for z/OS. (#121826)

The system call `__CELQTBCK()` is used to build a backtrace like
on other systems. The collected information are the address of the PC,
the address of the entry point (EP), the difference between both
addresses (+EP), the dynamic storage area (DSA aka the stack
pointer), and the function name.
The system call is described here:

https://www.ibm.com/docs/en/zos/3.1.0?topic=cwicsa6a-celqtbck-also-known-as-celqtbck-64-bit-traceback-service


  Commit: c123d0c1df3363f309a2c0b7837297d3790d6ea5
      https://github.com/llvm/llvm-project/commit/c123d0c1df3363f309a2c0b7837297d3790d6ea5
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Sema/SemaHLSL.cpp

  Log Message:
  -----------
  [HLSL][NFC] Move packoffset validation to separate function and calculate offsets in bytes (#121989)

There will be more changes coming in to `SemaHLSL::ActOnFinishBuffer` so
it would be good to move the packoffset validation out to a separate
function. This change also unifies the units for cbuffer offset
calculations to bytes.


  Commit: 1c999072221371c9008cd0aec80e387777378de0
      https://github.com/llvm/llvm-project/commit/1c999072221371c9008cd0aec80e387777378de0
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCUDA/constexpr-virtual-func.cu

  Log Message:
  -----------
  [CUDA][HIP] Fix overriding of constexpr virtual function (#121986)

In C++20 constexpr virtual function is allowed. In C++17 although
non-pure virtual function is not allowed to be constexpr, pure virtual
function is allowed to be constexpr and is allowed to be overriden by
non-constexpr virtual function in the derived class.

The following code compiles as C++:

```
class A
{
public:
    constexpr virtual int f() = 0;
};

class B : public A
{
public:
    int f() override
    {
        return 42;
    }
};
```

However, it fails to compile as CUDA or HIP code. The reason: A::f() is
implicitly host device function whereas B::f() is a host function. Since
they have different targets, clang does not treat B::f() as an override
of A::f(). Instead, it treats B::f() as a name-hiding non-virtual
function for A::f(), and diagnoses it.

This causes any CUDA/HIP program using C++ standard header file
`<format>` from g++-13 to fail to compile since such usage patten show
up there:

```
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/format:3564:34: error: non-virtual member function marked 'override' hides virtual member function
 3564 |       _M_format_arg(size_t __id) override
      |                                  ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/format:3538:30: note: hidden overloaded virtual function 'std::__format::_Scanner<char>::_M_format_arg' declared here
 3538 |       constexpr virtual void _M_format_arg(size_t __id) = 0;
      |                              ^
```

This is a serious issue and there is no workaround.

This patch allows non-constexpr function to override constexpr virtual
function for CUDA and HIP. This should be OK since non-constexpr
function without explicit host or device attribute can only be called in
host functions.

Fixes: SWDEV-507350


  Commit: 9ec92873ecc1c268a1d05e36b7b52e378860ea5b
      https://github.com/llvm/llvm-project/commit/9ec92873ecc1c268a1d05e36b7b52e378860ea5b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_detail.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/length.ll
    A llvm/test/CodeGen/DirectX/length_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error.ll
    A llvm/test/CodeGen/DirectX/length_invalid_intrinsic_error_scalar.ll

  Log Message:
  -----------
  Revert "[HLSL] Move length support out of the DirectX Backend  (#121611)"

This reverts commit a6b7181733c83523a39d4f4e788c6b7a227d477d.
Breaks Clang :: CodeGenHLSL/builtins/length.hlsl, see
https://github.com/llvm/llvm-project/pull/121611#issuecomment-2581004278


  Commit: 26aa20a3dd82e2ff5855bee04b22b35f6b1f026f
      https://github.com/llvm/llvm-project/commit/26aa20a3dd82e2ff5855bee04b22b35f6b1f026f
  Author: Reid Kleckner <rnk at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp

  Log Message:
  -----------
  Use range-based for to iterate over fields in record layout, NFCI (#122029)

Move the common case of FieldDecl::getFieldIndex() inline to mitigate
the cost of removing the extra `FieldNo` induction variable.

Also rename isNoUniqueAddress parameter to isNonVirtualBaseType, which
appears to be more accurate. I think the current name is just a
consequence of autocomplete gone wrong.


  Commit: 5ff36748cfeee1d02da6512ad578e4014724f67e
      https://github.com/llvm/llvm-project/commit/5ff36748cfeee1d02da6512ad578e4014724f67e
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll

  Log Message:
  -----------
  [SLP]Fix mask processing for reused gathered scalars

Need to sync the mask between cost and actual emission to avoid bugs in
mask calculation

Fixes #122324


  Commit: 1842a3d833d934793012c717e98b10d51193fd0d
      https://github.com/llvm/llvm-project/commit/1842a3d833d934793012c717e98b10d51193fd0d
  Author: Paul Bowen-Huggett <paulhuggett at mac.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/cmake/modules/AddClang.cmake

  Log Message:
  -----------
  Fix a cmake error when using the Xcode generator. (#119403)

I’m seeing a series of errors when trying to run the cmake configure
step on macOS when the cmake generator is set to Xcode. All is well if I
use the Ninja or Unix Makefile generators. Messages are all of the form:
~~~
CMake Error at …llvm-project/clang/cmake/modules/AddClang.cmake:120
(target_compile_definitions):
  Cannot specify compile definitions for target "obj.clangBasic" which
  is not built by this project.
Call Stack (most recent call first):
  …llvm-project/clang/lib/Basic/CMakeLists.txt:57 (add_clang_library)
~~~
The remaining errors are similar but mention targets obj.clangAPINotes,
obj.clangLex, obj.clangParse, and so on.

The regression appears to have been introduced by commit 09fa2f012fcc
(Oct 14 2024) which added the code in this area.

My proposed solution is simply to add a test to ensure that the obj.x
target exists before setting its compile definitions. There is precedent
doing just this in both clang/cmake/modules/AddClang.cmake and
clang/lib/support/CMakeLists.txt as well as in the “MSVC AND NOT
CLANG_LINK_CLANG_DYLIB” path immediately above the offending line.

I’ve also made a couple of grammatical tweaks in the comments
surrounding this code.

In case it's relevant, the cmake settings and definitions I've used to
trigger these errors is:
~~~bash
GENERATOR="Xcode"
OUTDIR=build_macos
cmake \
-S "$SCRIPT_DIR/llvm" \
-B "$SCRIPT_DIR/$OUTDIR" \
-G "$GENERATOR" \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_OSX_ARCHITECTURES=arm64 \
-D LLVM_PARALLEL_LINK_JOBS=1 \
-D LLVM_ENABLE_PROJECTS="clang;lld" \
-D LLVM_TARGETS_TO_BUILD=RISCV \
-D LLVM_DEFAULT_TARGET_TRIPLE=riscv32-unknown-elf \
-D LLVM_OPTIMIZED_TABLEGEN=Yes
~~~
(cmake v3.31.1, Xcode 16.1. I know that not all of these variables are
useful for the Xcode generator!)

Co-authored-by: Paul Bowen-Huggett <phuggett at keysom.io>


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst

  Log Message:
  -----------
  [libc++][NFC] Remove trailing whitespace from release notes


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

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

  Log Message:
  -----------
  [RISCV] Return MILog2SEW for mask instructions getOperandLog2EEW. NFC (#122332)

The SEW operand for these instructions should have a value of 0. This
matches what was done for vcpop/vfirst.


  Commit: 876841b0e2aea4ae8dac58842242e311b8aef432
      https://github.com/llvm/llvm-project/commit/876841b0e2aea4ae8dac58842242e311b8aef432
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [WebAssembly] Format WebAssembly ReleaseNote entries (#122203)


  Commit: 1b897f737df2097f8fee1b203676ea7f01dff06d
      https://github.com/llvm/llvm-project/commit/1b897f737df2097f8fee1b203676ea7f01dff06d
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp

  Log Message:
  -----------
  [clang-tidy] Fix misc-unused-parameters on params with attrs (#122286)

Don't suggest to comment-out the parameter name if the parameter has an
attribute that's spelled after the parameter name.

This prevents the parameter's attributes from being wrongly applied to
the parameter's type.

This fixes #122191.


  Commit: 0aa831e0edb1c1deabb96ce2435667cc82bac79b
      https://github.com/llvm/llvm-project/commit/0aa831e0edb1c1deabb96ce2435667cc82bac79b
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A mlir/include/mlir/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    A mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Affine/value-bounds-reification.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Linalg/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/Dialect/Vector/value-bounds-op-interface-impl.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp

  Log Message:
  -----------
  [mlir][GPU] Implement ValueBoundsOpInterface for GPU ID operations (#122190)

The GPU ID operations already implement InferIntRangeInterface, which
gives constant lower and upper bounds on those IDs when appropriate
metadata is prentent on the operations or in the surrounding context.

This commit uses that existing code to implement the
ValueBoundsOpInterface, which is used when analyzing affine operations
(unlike the integer range interface, which is used for arithmetic
optimization).

It also implements the interface for gpu.launch, where we can use it to
express the constraint that block/grid sizes are equal to their value
from outside the launch op and that the corresponding IDs are bounded
above by that size.

As a consequence, the test pass for this inference is updated to work on
a FunctionOpInterface and not a func.func, creating minor churn in other
tests.


  Commit: 6312beef788a209dc7d73c2c10b36197dab1cff3
      https://github.com/llvm/llvm-project/commit/6312beef788a209dc7d73c2c10b36197dab1cff3
  Author: vporpo <vporpodas at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp

  Log Message:
  -----------
  [SandboxVec][BottomUpVec] Use SeedCollector and slice seeds (#120826)

With this patch we switch from the temporary dummy seeds to actual seeds
provided by the seed collector.
The seeds get sliced and each slice is used as the starting point for
vectorization.


  Commit: 1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
      https://github.com/llvm/llvm-project/commit/1739ba9bb5b5e0b2f3c7b381f7852b77a53ef3ba
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/test/sanitizer/kernel_crash_async.c

  Log Message:
  -----------
  [OpenMP][FIX] Adjust test to be non-flaky (#122331)

The test runs asynchronous kernels and depending on the timing the
output is slightly different. We now only check for the common parts of
the output.


  Commit: b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
      https://github.com/llvm/llvm-project/commit/b57c0bac81fe4f5c85c6554ca574cf2d5648e0c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Synchronization.cpp

  Log Message:
  -----------
  [OpenMP] Update atomic helpers to just use headers (#122185)

Summary:
Previously we had some indirection here, this patch updates these
utilities to just be normal template functions. We use SFINAE to manage
the special case handling for floats. Also this strips address spaces so
it can be used more generally.


  Commit: f53cb84df6b80458cb4d5ab7398a590356a3a952
      https://github.com/llvm/llvm-project/commit/f53cb84df6b80458cb4d5ab7398a590356a3a952
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/include/Shared/Utils.h

  Log Message:
  -----------
  [OpenMP] Use __builtin_bit_cast instead of UB type punning (#122325)

Summary:
Use a normal bitcast, remove from the shared utils since it's not
available in
GCC 7.4


  Commit: 3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
      https://github.com/llvm/llvm-project/commit/3055e86c719c6cc72e50bb74a0e3b9cffebb41b5
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll

  Log Message:
  -----------
  [MemProf] Disable cloning of callsites in recursive cycles by default (#122354)

This disables the support added in PR121985 by default while we
investigate a compile time crash.


  Commit: 218f15cd1eee22933e505d7093ec2fe38a36ef3b
      https://github.com/llvm/llvm-project/commit/218f15cd1eee22933e505d7093ec2fe38a36ef3b
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml

  Log Message:
  -----------
  Add pre-merge workflow for HLSL testing (#122184)

This adds a workflow for running HLSL tests on PRs that modify HLSL and
DirectX code.

The tests enabled here are the LLVM & Clang tests and the Offload
execution tests: https://github.com/llvm-beanz/offload-test-suite/


  Commit: 9d5299eb61a64cd4df5fefa0299b0cf8d917978f
      https://github.com/llvm/llvm-project/commit/9d5299eb61a64cd4df5fefa0299b0cf8d917978f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT/test: pre-commit tests to enable samesign optz (#120257)

Pre-commit some tests in preparation to teach ValueTracking's
implied-cond about samesign.


  Commit: f791a4f19f6c99feccfe59e0724d9215bee985cf
      https://github.com/llvm/llvm-project/commit/f791a4f19f6c99feccfe59e0724d9215bee985cf
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Add missing dependency for cbcb7ad32e6faca1f4c0f2f436e6076774104e17


  Commit: d797d94185cfb3eadaef6103b0d2b2f312e4f432
      https://github.com/llvm/llvm-project/commit/d797d94185cfb3eadaef6103b0d2b2f312e4f432
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [bazel] Port 0aa831e0edb1c1deabb96ce2435667cc82bac79b


  Commit: 8ea8e7f52908a831ab44ffca1e0c8fe207a409c8
      https://github.com/llvm/llvm-project/commit/8ea8e7f52908a831ab44ffca1e0c8fe207a409c8
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp

  Log Message:
  -----------
  [SYCL] Basic diagnostics for the sycl_kernel_entry_point attribute. (#120327)

The `sycl_kernel_entry_point` attribute is used to declare a function that
defines a pattern for an offload kernel entry point. The attribute requires
a single type argument that specifies a class type that meets the requirements
for a SYCL kernel name as described in section 5.2, "Naming of kernels", of
the SYCL 2020 specification. A unique kernel name type is required for each
function declared with the attribute. The attribute may not first appear on a
declaration that follows a definition of the function. The function is
required to have a non-deduced `void` return type. The function must not be
a non-static member function, be deleted or defaulted, be declared with the
`constexpr` or `consteval` specifiers, be declared with the `[[noreturn]]`
attribute, be a coroutine, or accept variadic arguments.

Diagnostics are not yet provided for the following:
- Use of a type as a kernel name that does not satisfy the forward
  declarability requirements specified in section 5.2, "Naming of kernels",
  of the SYCL 2020 specification.
- Use of a type as a parameter of the attributed function that does not
  satisfy the kernel parameter requirements specified in section 4.12.4,
  "Rules for parameter passing to kernels", of the SYCL 2020 specification
  (each such function parameter constitutes a kernel parameter).
- Use of language features that are not permitted in device functions as
  specified in section 5.4, "Language restrictions for device functions",
  of the SYCL 2020 specification.

There are several issues noted by various FIXME comments.
- The diagnostic generated for kernel name conflicts needs additional work
  to better detail the relevant source locations; such as the location of
  each declaration as well as the original source of each kernel name.
- A number of the tests illustrate spurious errors being produced due to
  attributes that appertain to function templates being instantiated too
  early (during overload resolution as opposed to after an overload is
  selected).

Included changes allow the `SYCLKernelEntryPointAttr` attribute to be
marked as invalid if a `sycl_kernel_entry_point` attribute is used incorrectly.
This is intended to prevent trying to emit an offload kernel entry point
without having to mark the associated function as invalid since doing so
would affect overload resolution; which this attribute should not do.
Unfortunately, Clang eagerly instantiates attributes that appertain to
functions with the result that errors might be issued for function
declarations that are never selected by overload resolution. Tests have
been added to demonstrate this. Further work will be needed to address
these issues (for this and other attributes).


  Commit: 0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
      https://github.com/llvm/llvm-project/commit/0acdba83ae5098c5c8f09f53aba4df37d97f3cf0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/src/CMakeLists.txt
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h

  Log Message:
  -----------
  [libc] Remove leftover 'gpu/' source directory (#122368)

Summary:
This isn't used anymore, I moved the GPU extensions into `offload/`.


  Commit: 84087226fa38b212325c651f1bc3caa79491bc80
      https://github.com/llvm/llvm-project/commit/84087226fa38b212325c651f1bc3caa79491bc80
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/test/COFF/arm64x-loadconfig.s

  Log Message:
  -----------
  [LLD][COFF] Emit base relocation for native CHPE metadata pointer on ARM64X (#121500)


  Commit: e8c8543a1c728278bf323d34e451bcf9042d9257
      https://github.com/llvm/llvm-project/commit/e8c8543a1c728278bf323d34e451bcf9042d9257
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp

  Log Message:
  -----------
  [TySan] Intercept malloc_size on Apple platforms. (#122133)

After https://github.com/llvm/llvm-project/pull/120563 malloc_size also
needs intercepting on Apple platforms, otherwise all type-sanitized
binaries crash on startup with an objc error:
realized class 0x12345 has corrupt data pointer: malloc_size(0x567) = 0

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


  Commit: d01ae567742c4d83b67483e15eb74c0ecd2e8270
      https://github.com/llvm/llvm-project/commit/d01ae567742c4d83b67483e15eb74c0ecd2e8270
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-exegesis.rst
    R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
    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 "[Exegesis] Add the ability to dry-run the measurement phase (… (#122371)

…#121991)"

This reverts commit f8f8598fd886cddfd374fa43eb6d7d37d301b576.

This breaks ARMv7 and s390x buildbot with the following message:
```
llvm-exegesis error: No available targets are compatible with triple "armv8l-unknown-linux-gnueabihf"
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/tcwg-buildbot/worker/clang-armv7-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-2stage/llvm/llvm/test/tools/llvm-exegesis/dry-run-measurement.test
```


  Commit: f764e71b7017e7264fffc410f5e10ef959e49294
      https://github.com/llvm/llvm-project/commit/f764e71b7017e7264fffc410f5e10ef959e49294
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/TableGen/target-builtins-prototype-parser.td

  Log Message:
  -----------
  [Clang][TableGen] Add missing __bf16 type to the builtins parser (#120662)

The Clang tablegen built-in function prototype parser has the `__bf16`
type missing. This patch adds the missing type to the parser.


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

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

  Log Message:
  -----------
  [libc++] Add missing _LIBCPP_NODEBUG on internal aliases


  Commit: 328c3a843f886f3768e536a508e1e3723d834b3e
      https://github.com/llvm/llvm-project/commit/328c3a843f886f3768e536a508e1e3723d834b3e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vmerge to isSupportedInstr (#122340)


  Commit: 03eb786f75e36e9e203e0092ec3c6c589fd53c4f
      https://github.com/llvm/llvm-project/commit/03eb786f75e36e9e203e0092ec3c6c589fd53c4f
  Author: Tom Honermann <tom.honermann at intel.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp

  Log Message:
  -----------
  [SYCL] Correct misplaced sycl_kernel_entry_point attribute in a namespace declaration of a negative test. (#122375)

Commit 1a73654b3212b623ac21b9deb3aeaadc6906b7e4 added a missing
diagnostic for incorrect placement of an attribute in a namespace
declaration. This change corrects a SYCL test that inadvertently
exercised the `sycl_kernel_entry_point` attribute in the wrong
declaration location.


  Commit: 0efb376c20b220cddbbcf57f0c82ae048170ffd9
      https://github.com/llvm/llvm-project/commit/0efb376c20b220cddbbcf57f0c82ae048170ffd9
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp

  Log Message:
  -----------
  [libc][test] remove C++ stdlib includes (#122369)

These make cross compiling the test suite more difficult, as you need
the
sysroot to contain these headers and libraries cross compiled for your
target.
It's straightforward to stick with the corresponding C headers.


  Commit: 4f42e165164ba2bfca7b87be2a533ef09e8777e0
      https://github.com/llvm/llvm-project/commit/4f42e165164ba2bfca7b87be2a533ef09e8777e0
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll

  Log Message:
  -----------
  [hwasan] Omit tag check for null pointers (#122206)

If the pointer to be checked is statically known to be zero, the tag
check will always pass since:
1) the tag is zero
2) shadow memory for address 0 is initialized to 0 and never updated.
We can therefore elide the tag check.

We perform the elision in two places:
1) the HWASan pass
2) when lowering the CHECK_MEMACCESS intrinsic. Conceivably, the HWASan
pass may encounter a "cannot currently statically prove to be null"
pointer (and is therefore unable to omit the intrinsic) that later
optimization passes convert into a statically known-null pointer. As a
last line of defense, we perform elision here too.

This also updates the tests from
https://github.com/llvm/llvm-project/pull/122186


  Commit: 7ffb691595a3108f72023ae0051487df25a85fc3
      https://github.com/llvm/llvm-project/commit/7ffb691595a3108f72023ae0051487df25a85fc3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [VPlan] Remove dead ToRemove (NFC).


  Commit: 156e6051630d136b48090c0d1cb79a4457564e9d
      https://github.com/llvm/llvm-project/commit/156e6051630d136b48090c0d1cb79a4457564e9d
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp

  Log Message:
  -----------
  [lld-macho] Fix branch extension thunk estimation logic (#120529)

This patch improves the linker’s ability to estimate stub reachability
in the `TextOutputSection::estimateStubsInRangeVA` function. It does so
by including thunks that have already been placed ahead of the current
call site address when calculating the threshold for direct stub calls.

Before this fix, the estimation process overlooked existing forward
thunks. This could result in some thunks not being inserted where
needed. In rare situations, particularly with large and specially
arranged codebases, this might lead to branch instructions being out of
range, causing linking errors.

Although this patch successfully addresses the problem, it is not
feasible to create a test for this issue. The specific layout and order
of thunk creation required to reproduce the corner case are too complex,
making test creation impractical.

Example error messages the issue could generate:
```
ld64.lld: error: banana.o:(symbol OUTLINED_FUNCTION_24949_3875): relocation BRANCH26 is out of range: 134547892 is not in [-134217728, 134217727]; references objc_autoreleaseReturnValue
ld64.lld: error: main.o:(symbol _main+0xc): relocation BRANCH26 is out of range: 134544132 is not in [-134217728, 134217727]; references objc_release
```


  Commit: 3caa68a021c2f795de3df7f6ad7953556e825fab
      https://github.com/llvm/llvm-project/commit/3caa68a021c2f795de3df7f6ad7953556e825fab
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak (#122378)

Looks like the smart pointer I removed was being used to free the underlying
object.

Fixes: #122369


  Commit: e6d061ad49ce11193bddfff8a7920b798fb7d214
      https://github.com/llvm/llvm-project/commit/e6d061ad49ce11193bddfff8a7920b798fb7d214
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [libclang/python] Add python bindings for PrintingPolicy (#120494)

This allows changing the way pretty-printed code is formatted.


  Commit: 9426fdd4cbd6812b69c218b865f184cb25342be4
      https://github.com/llvm/llvm-project/commit/9426fdd4cbd6812b69c218b865f184cb25342be4
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp

  Log Message:
  -----------
  [libc][test] fix memory leak pt.2 (#122384)

These were created with operator new (see `Test::createCallable`), so operator
delete should be used instead of free().

Fixes: #122369
Fixes: #122378


  Commit: ba704d59569151f1b8b6552ed22a7b840f5e6256
      https://github.com/llvm/llvm-project/commit/ba704d59569151f1b8b6552ed22a7b840f5e6256
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml

  Log Message:
  -----------
  [llvm-gsymutil] Address merged-funcs test non-determinism (#122308)

When creating a gSYM, `llvm-gsymutil` operates by default in
multi-threaded mode. If merged functions are present, determinism cannot
be guaranteed if parallel processing is enabled.

So, for our merged functions tests, we disable multi-threading during
gSYM creation.


  Commit: c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
      https://github.com/llvm/llvm-project/commit/c1c50c7a3ef9ced4a9b01e0afd83b83d7060fff9
  Author: Thor Preimesberger <111035711+cheezeburglar at users.noreply.github.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [SDPatternMatch] Add matchers m_ExtractSubvector and m_InsertSubvector (#120212)

Fixes #118846


  Commit: 504f6ce0c25b5cd721622cd444e9c428f400fd73
      https://github.com/llvm/llvm-project/commit/504f6ce0c25b5cd721622cd444e9c428f400fd73
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] clean readability-use-std-min-max (#122288)

1. add `static` for internal linkage functions
2. remove `clang` prefix for `QualType`


  Commit: a6aa9365f75c6f28c3d281c662dcdb6fb5222601
      https://github.com/llvm/llvm-project/commit/a6aa9365f75c6f28c3d281c662dcdb6fb5222601
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

  Log Message:
  -----------
  [NFC][AsmPrinter] Pass MJTI by const reference instead of const pointer (#122365)

The caller `AsmPrinter::emitJumpTableInfo` checks [1] `MJTI` is not a
null pointer before calling `emitJumpTableEntry` or
`emitJumpTableSizesSection`.

This patch updates callee function's signature to accept const
reference, this way it's explicit `MJTI` won't be nullptr inside the
callee.

[1]
https://github.com/llvm/llvm-project/blob/9d5299eb61a64cd4df5fefa0299b0cf8d917978f/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#L2857


  Commit: 5d88a84ecddab3471693e44b57a1c1f21ce14f3f
      https://github.com/llvm/llvm-project/commit/5d88a84ecddab3471693e44b57a1c1f21ce14f3f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td

  Log Message:
  -----------
  [RISCV] Simplify some RISCVInstrInfoC classes by removing arguments that never change. NFC


  Commit: 24bf0e4eb63fe5eebf86f937ff41b66be78cf958
      https://github.com/llvm/llvm-project/commit/24bf0e4eb63fe5eebf86f937ff41b66be78cf958
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/include/__config
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp

  Log Message:
  -----------
  [libc++] Disable _LIBCPP_NODEBUG temporarily (#122393)

This should be reverted once the crash reported in #118710 has been
analyzed.


  Commit: 04e54cc19f13af26e453c06b6a9e2bc3187e52c2
      https://github.com/llvm/llvm-project/commit/04e54cc19f13af26e453c06b6a9e2bc3187e52c2
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add Vector Single-Width Averaging Add and Subtract to isSupportedInstr (#122351)


  Commit: d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
      https://github.com/llvm/llvm-project/commit/d0373dbe7c8ca8e7cd9c84e1d93c43c81a085f0c
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Add vadc to isSupportedInstr (#122345)


  Commit: 6d72bf47606c2a288b911d682fd96129c9c1466d
      https://github.com/llvm/llvm-project/commit/6d72bf47606c2a288b911d682fd96129c9c1466d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  [ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink.

Also adds a new IdleTask type and updates DynamicThreadPoolTaskDispatcher to
schedule IdleTasks whenever the total number of threads running is less than
the maximum number of MaterializationThreads.

A SimpleLazyReexportsSpeculator instance maintains a list of speculation
suggestions ((JITDylib, Function) pairs) and registered lazy reexports. When
speculation opportunities are available (having been added via
addSpeculationSuggestions or when lazy reexports were created) it schedules
an IdleTask that triggers the next speculative lookup as soon as resources
are available. Speculation suggestions are processed first, followed by
lookups for lazy reexport bodies. A callback can be registered at object
construction time to record lazy reexport executions as they happen, and these
executions can be fed back into the speculator as suggestions on subsequent
executions.

The llvm-jitlink tool is updated to support speculation when lazy linking is
used via three new arguments:

 -speculate=[none|simple] : When the 'simple' value is specified a
                            SimpleLazyReexportsSpeculator instances is used
                            for speculation.

 -speculate-order <path> : Specifies a path to a CSV containing
                           (jit dylib name, function name) triples to use
                           as speculative suggestions in the current run.

 -record-lazy-execs <path> : Specifies a path in which to record lazy function
                             executions as a CSV of (jit dylib name, function
                             name) pairs, suitable for use with
                             -speculate-order.

The same path can be passed to -speculate-order and -record-lazy-execs, in
which case the file will be overwritten at the end of the execution.

No testcase yet: Speculative linking is difficult to test (since by definition
execution behavior should be unaffected by speculation) and this is an new
prototype of the concept*. Tests will be added in the future once the interface
and behavior settle down.

* An earlier implementation of the speculation concept can be found in
  llvm/include/llvm/ExecutionEngine/Orc/Speculation.h. Both systems have the
  same goal (hiding compilation latency) but different mechanisms. This patch
  relies entirely on information available in the controller, where the old
  system could receive additional information from the JIT'd runtime via
  callbacks. I aim to combine the two in the future, but want to gain more
  practical experience with speculation first.


  Commit: 760f550de25792db83cd39c88ef57ab6d80a41a0
      https://github.com/llvm/llvm-project/commit/760f550de25792db83cd39c88ef57ab6d80a41a0
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)

Add TreeEntry::hasState.
Add assert for getTreeEntry.
Remove the OpValue parameter from the canReuseExtract function.
Remove the Opcode parameter from the ComputeMaxBitWidth lambda function.


  Commit: 36b423e0f85cb35eb8b211662a0fab70d476f501
      https://github.com/llvm/llvm-project/commit/36b423e0f85cb35eb8b211662a0fab70d476f501
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Refactor getSameOpcode and reduce for loop iterations. (#122241)

Replace Cnt and AltIndex with MainOp and AltOp.
Reduce the number of iterations in the for loop.


  Commit: 57447d3ddfb0b1c44618e97081906d19a387ff00
      https://github.com/llvm/llvm-project/commit/57447d3ddfb0b1c44618e97081906d19a387ff00
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Revert "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator, use in llvm-jitlink."

This reverts commit 6d72bf47606c2a288b911d682fd96129c9c1466d while I fix bot failures.


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

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h

  Log Message:
  -----------
  Reapply "[ORC][llvm-jitlink] Add SimpleLazyReexportsSpeculator..." with fixes.

This reapplies 6d72bf47606, which was reverted in 57447d3ddf to investigate
build failures, e.g. https://lab.llvm.org/buildbot/#/builders/3/builds/10114.

The original patch contained an invalid unused friend declaration of
std::make_shared. This has been removed.


  Commit: 9190e1c0ef628b9cc432b507390dc6eec416f6ab
      https://github.com/llvm/llvm-project/commit/9190e1c0ef628b9cc432b507390dc6eec416f6ab
  Author: Longsheng Mou <longshengmou at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [mlir][linalg] Handle reassociationIndices correctly for 0D tensor (#121683)

This PR fixes a bug where a value is assigned to a 0-sized
reassociationIndices, preventing a crash. Fixes #116043.


  Commit: b1893caeb6b6079a66ba146e73d68d6255d255ce
      https://github.com/llvm/llvm-project/commit/b1893caeb6b6079a66ba146e73d68d6255d255ce
  Author: Lakshmi-Surekha <Lakshmi.Kovvuri at ibm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Host/HostInfo.h

  Log Message:
  -----------
  [lldb][AIX] Added support for AIX in HostInfo section (#122301)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
https://github.com/llvm/llvm-project/issues/101657
2. The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added support for AIX in HostInfo section

Review Request : @DavidSpickett @labath @DhruvSrivastavaX


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

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

  Log Message:
  -----------
  [RISCV] Correct the cost model for the i1 reduce.add and reduce.or. (#122349)

reduce.add uses the same sequence as reduce.xor. reduce.or should use
vmor not vmxor.


  Commit: 41e4018f9c858af15c4fe0ea0d1de8ff4602071e
      https://github.com/llvm/llvm-project/commit/41e4018f9c858af15c4fe0ea0d1de8ff4602071e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [RISCV][VLOPT] Simplify code by removing extra temporary variables. NFC (#122333)

Just do the conditional operator in the return statement.


  Commit: 369c61744a435c52e3564398d9972fa556db022b
      https://github.com/llvm/llvm-project/commit/369c61744a435c52e3564398d9972fa556db022b
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll

  Log Message:
  -----------
  [RISCV] Fix the cost of `llvm.vector.reduce.and` (#119160)

I added some CodeGen test cases related to reduce. To maintain
consistency, I also added cases for instructions like
`vector.reduce.or`.

For cases where `v1i1` type generates `VFIRST`, please refer to:
https://reviews.llvm.org/D139512.


  Commit: 5454ac28b302240ccfd164dfd1e2bce526aee7ca
      https://github.com/llvm/llvm-project/commit/5454ac28b302240ccfd164dfd1e2bce526aee7ca
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  Revert "[SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)"

This reverts commit 760f550de25792db83cd39c88ef57ab6d80a41a0.


  Commit: f926bcf9068c808b643a56322b7ef6910eb36599
      https://github.com/llvm/llvm-project/commit/f926bcf9068c808b643a56322b7ef6910eb36599
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][doc] Fix the description of BreakBinaryOperations


  Commit: 2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
      https://github.com/llvm/llvm-project/commit/2ea34cdf2ba86cd129633f2a01fb695c79c0fe11
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/unittests/Format/FormatTestSelective.cpp

  Log Message:
  -----------
  [clang-format] Stop fixing indentation on namespace closing brace (#122234)

Fixes #119790.


  Commit: 211bcf67aadb1175af382f55403ae759177281c7
      https://github.com/llvm/llvm-project/commit/211bcf67aadb1175af382f55403ae759177281c7
  Author: Chinmay Deshpande <chdeshpa at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll

  Log Message:
  -----------
  [AMDGPU] Implement IR variant of isFMAFasterThanFMulAndFAdd (#121465)


  Commit: 9c2de994a18b8eb50634e620af762ed28ec5dcc2
      https://github.com/llvm/llvm-project/commit/9c2de994a18b8eb50634e620af762ed28ec5dcc2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp

  Log Message:
  -----------
  [nfc][BoundsChecking] Refactor BoundsCheckingOptions (#122346)

Remove ReportingMode and ReportingOpts.


  Commit: 4c8fdc29549f9c7c3c710e3ada2cb00a70af609e
      https://github.com/llvm/llvm-project/commit/4c8fdc29549f9c7c3c710e3ada2cb00a70af609e
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp

  Log Message:
  -----------
  [nfc][BoundsChecking] Rename BoundsCheckingOptions into Options (#122359)


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

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_iovec.h
    M libc/include/CMakeLists.txt
    A libc/include/sys/uio.h.def
    A libc/include/sys/uio.yaml
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/uio/CMakeLists.txt
    A libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/writev.h
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/writev_test.cpp

  Log Message:
  -----------
  [libc] implement sys/uio/writev (#122233)

implement sys/uio/writev according to POSIX standard. This vectorized IO
API is needed by many logging libraries to achieve atomic logging
multiple strings.


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

  Changed paths:
    M clang/test/CodeGen/allow-ubsan-check.c

  Log Message:
  -----------
  [NFC][ubsan] Rename prefixes in test

Looks like update_cc_test_checks is being confused if
it creates vars with the name matching prefix.

Issue triggered with #122415


  Commit: 48d0eb5181065a3d086de2e30f5c619fe407e4ce
      https://github.com/llvm/llvm-project/commit/48d0eb5181065a3d086de2e30f5c619fe407e4ce
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp

  Log Message:
  -----------
  [CodeGen] Simplify EmitAssemblyHelper and emitBackendOutput

Prepare for -ftime-report change (#122225).


  Commit: 186bd8e4cd8d239be67172448c53e92be396359a
      https://github.com/llvm/llvm-project/commit/186bd8e4cd8d239be67172448c53e92be396359a
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [CodeGen] Restore CodeGenerationTime

Fixes 48d0eb5181065a3d086de2e30f5c619fe407e4ce


  Commit: 76fac9c01736b1254e42427f8e0910c0f1d01fba
      https://github.com/llvm/llvm-project/commit/76fac9c01736b1254e42427f8e0910c0f1d01fba
  Author: Thurston Dang <thurston at google.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Sanitizers.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/Basic/Sanitizers.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [sanitizer] Parse weighted sanitizer args and -fsanitize-skip-hot-cutoff (#121619)

This adds a function to parse weighted sanitizer flags (e.g.,
`-fsanitize-blah=undefined=0.5,null=0.3`) and adds the plumbing to apply
that to a new flag, `-fsanitize-skip-hot-cutoff`.

`-fsanitize-skip-hot-cutoff` currently has no effect; future work will
use it to generalize ubsan-guard-checks (originally introduced in
5f9ed2ff8364ff3e4fac410472f421299dafa793).

---------

Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: a4472c7dac7dc69ef6e76ad7f92a1865f199e046
      https://github.com/llvm/llvm-project/commit/a4472c7dac7dc69ef6e76ad7f92a1865f199e046
  Author: ssijaric-nv <ssijaric at nvidia.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/trampoline.ll

  Log Message:
  -----------
  [AArch64] Fix the size passed to __trampoline_setup (#118234)

The trampoline size is 36 bytes on AArch64. The runtime function
__trampoline_setup aborts as it expects the trampoline size of at least 36 
bytes, and the size passed is 20 bytes. Fix the inconsistency in
AArch64TargetLowering::LowerINIT_TRAMPOLINE.


  Commit: 6829f30883fa7e71e3b7af022916003a82f0216d
      https://github.com/llvm/llvm-project/commit/6829f30883fa7e71e3b7af022916003a82f0216d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td

  Log Message:
  -----------
  [RISCV] Add a default common assignment of Inst{6-2} to the RVInst16CI base class. NFC (#122377)

Many instructions assign all or a subset of Inst{6-2} to Imm{4-0}. Make
this the default. Subsets of Inst{6-2} can be overridden as needed by
derived classes/records which we already do with Inst{12} in a few
places.


  Commit: a531800344dc54e9c197a13b22e013f919f3f5e1
      https://github.com/llvm/llvm-project/commit/a531800344dc54e9c197a13b22e013f919f3f5e1
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp

  Log Message:
  -----------
  Spiller: Detach legacy pass and supply analyses instead (#119181)

Makes Inline Spiller amenable to the new PM.


  Commit: a8e1135baa9074f7c088c8e1999561f88699b56e
      https://github.com/llvm/llvm-project/commit/a8e1135baa9074f7c088c8e1999561f88699b56e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll

  Log Message:
  -----------
  [WebAssembly] Add -wasm-use-legacy-eh option (#122158)

This replaces the existing `-wasm-enable-exnref` with
`-wasm-use-legacy-eh` option, in an effort to make the new standardized
exnref proposal the 'default' state and the legacy proposal needs to be
separately enabled an option. But given that most users haven't switched
to the new proposal and major web browsers haven't turned it on by
default, this `-wasm-use-legacy-eh` is turned on by default, so nothing
will change for now for the functionality perspective.

This also removes the restriction that `-wasm-enable-exnref` be only
used with `-wasm-enable-eh` because this option is enabled by default.
This option does not have any effect when `-wasm-enable-eh` is not used.


  Commit: 4c0a0f72418b21161b5c1fb9225462bd039121e3
      https://github.com/llvm/llvm-project/commit/4c0a0f72418b21161b5c1fb9225462bd039121e3
  Author: Tyler Lanphear <tylanphear at gmail.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/lib/SandboxIR/Context.cpp

  Log Message:
  -----------
  [SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (#122201)

The `EraseCallbackID` field is not always initialized in the ctor for
SeedCollector; if not, it will be used uninitialized by its dtor. This
could potentially lead to the erasure of a random callback, leading to a
bug.

Fixed by making `CallbackID` an opaque type, which is always
default-initialized to an invalid ID.


  Commit: 01a7d4e26b9bac27e282b113209f53c4c1d290b2
      https://github.com/llvm/llvm-project/commit/01a7d4e26b9bac27e282b113209f53c4c1d290b2
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/test/CodeGen/AMDGPU/bitop3.ll

  Log Message:
  -----------
  [AMDGPU] Allow selection of BITOP3 for some 2 opcodes and B32 cases (#122267)

This came up in downstream static analysis - as a dead code.

Admittedly, it depends on what the intention was when checking for [`if
(NumOpcodes == 2 &&
IsB32)`](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp#L3792C3-L3792C32)
and I took a guess that for certain cases the selection should take
place.

If that's incorrect, that whole if statement can be removed, as it is
after a check for: [`if (NumOpcodes <
4)`](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp#L3788)


  Commit: 089555095b91d693ab68d039cb5fda4b7b8e45bc
      https://github.com/llvm/llvm-project/commit/089555095b91d693ab68d039cb5fda4b7b8e45bc
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/Spiller.h
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/RegAllocBasic.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocPBQP.cpp

  Log Message:
  -----------
  Revert "Spiller: Detach legacy pass and supply analyses instead (#119… (#122426)

…181)"

This reverts commit a531800344dc54e9c197a13b22e013f919f3f5e1.


  Commit: 99d2ff54abb89b0aabe085c87c8064a7ab0f2872
      https://github.com/llvm/llvm-project/commit/99d2ff54abb89b0aabe085c87c8064a7ab0f2872
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [ORC-RT] Use llvm-jitlink -num-threads=0 for objc-imageinfo.S tests.

These testcases depend on debugging output, which isn't stable under concurrent
linking.


  Commit: e8cc4d24bce8e12023c460ff7f11495cb42d5315
      https://github.com/llvm/llvm-project/commit/e8cc4d24bce8e12023c460ff7f11495cb42d5315
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Fix deferred action handling during MachOPlatform bootstrap.

DeferredAAs should only capture bootstrap actions, but after 30b73ed7bd it was
capturing all actions, including those from other plugins. This is problematic
as other plugins may introduce actions that need to run before the platform
actions (e.g. on arm64e we need pointer signing to run before we access any
global pointers in the graph).

Note that this effectively undoes 30b73ed7bd, which was a buggy attempt to
synchronize writes to the DeferredAAs vector. This patch fixes that issue the
obvious way by locking the bootstrap mutex while accessing the DeferredAAs
vector.

No testcase yet: So far I've only seen this fail during bootstrap of arm64e
JIT'd programs.


  Commit: dd331082e706d833ec3cc897176cd2d3a622ce76
      https://github.com/llvm/llvm-project/commit/dd331082e706d833ec3cc897176cd2d3a622ce76
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp

  Log Message:
  -----------
  [analyzer][NFC] Factor out SymbolManager::get<*> (#121781)

Replace the family of `SymbolManager::get*Symbol(...)` member functions
with a single generic `SymbolManager::get<*>` member function.


  Commit: f3d6cdc5aebafac3961d4fccbd2ca0e302c6082c
      https://github.com/llvm/llvm-project/commit/f3d6cdc5aebafac3961d4fccbd2ca0e302c6082c
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

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

  Log Message:
  -----------
  [SLP] NFC. Replace MainOp and AltOp in TreeEntry with InstructionsState. (#120198)

Add TreeEntry::hasState.
Add assert for getTreeEntry.
Remove the OpValue parameter from the canReuseExtract function.
Remove the Opcode parameter from the ComputeMaxBitWidth lambda function.


  Commit: 5e92e8ca98dba21c9d8131e611f7158fe9ab3968
      https://github.com/llvm/llvm-project/commit/5e92e8ca98dba21c9d8131e611f7158fe9ab3968
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Headers/intrin.h

  Log Message:
  -----------
  [X86] Fix the implementation of __readcr[4,8]/__writecr[4,8] to work in 64-bit mode (#122238)

According to MSVC, __readcr4/__writecr4 return/use `unsigned __int64`,
and are supported on both x86 and x64. While __readcr8/__writecr8 are
only supported on x64. So we use __INTPTR_TYPE__ and __int64
respectively.

Following:
https://github.com/llvm/llvm-project/commit/3cec2a17de744900401c83aedb442e2acc1f23f8

Ref.:
https://learn.microsoft.com/en-us/cpp/intrinsics/readcr3?view=msvc-170
https://learn.microsoft.com/en-us/cpp/intrinsics/readcr8?view=msvc-170


  Commit: e0f14e11c7d1a5e82297b1dc9590d79f84c15163
      https://github.com/llvm/llvm-project/commit/e0f14e11c7d1a5e82297b1dc9590d79f84c15163
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [SLPVectorizer] Refine the scope of RdxOpcode in HorizontalReduction::createOp (NFC) (#122239)

This patch is one part of unifying IAnyOf and FAnyOf reduction. #118393
The related patch is #118777.


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

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/codegen-prepare-addrspacecast-non-null.ll
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system_noprivate.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
    M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
    M llvm/test/CodeGen/LoongArch/jr-without-ra.ll
    M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  Revert "[MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#119826)"

This reverts commit b4e17d4a314ed87ff6b40b4b05397d4b25b6636a.

This causes a large compile-time regression.


  Commit: 75a4563fc164e268d2a7af5735d5e84ceee865e7
      https://github.com/llvm/llvm-project/commit/75a4563fc164e268d2a7af5735d5e84ceee865e7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM] Update windows codegen maintainer (#119576)

I think that nowadays the go-to contact for Windows codegen is rnk.


  Commit: 4adeb6cf556df10da668916b22eb39d3f1313e8a
      https://github.com/llvm/llvm-project/commit/4adeb6cf556df10da668916b22eb39d3f1313e8a
  Author: Lukas Sommer <lukas.sommer at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/test/Conversion/SPIRVToLLVM/non-uniform-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][spirv] Add convergent attribute to builtin (#122131)

Add the `convergent` attribute to builtin functions and builtin function
calls when lowering SPIR-V non-uniform group functions to LLVM dialect.

---------

Signed-off-by: Lukas Sommer <lukas.sommer at codeplay.com>


  Commit: 05dfbc146d87866f0ef22dc88f729b5b9fdfe1a0
      https://github.com/llvm/llvm-project/commit/05dfbc146d87866f0ef22dc88f729b5b9fdfe1a0
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [lldb] Regularize DWARFDIE::Get{TypeLookup,Decl}Context names (#122273)

The functions call GetName for everything except variables, where they
call GetPubname instead. The difference is that the latter prefers to
return the linkage name, if it is available.

This doesn't seem particularly useful given that the linkage name
already kind of contains the context of the variable, and I doubt that
anything depends on it as these functions are currently called on type
and subprogram DIEs -- not variables.

This makes it easier to simplify/deduplicate these functions later.


  Commit: 6504546abcd38159256c3030286b1c02b401c4f8
      https://github.com/llvm/llvm-project/commit/6504546abcd38159256c3030286b1c02b401c4f8
  Author: maflcko <6399679+maflcko at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp

  Log Message:
  -----------
  [clang-tidy][use-internal-linkage] fix false positive for consteval function (#122141)

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

---------

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>


  Commit: 86b1b0671cafd462c0aa681e2d320ce597300f69
      https://github.com/llvm/llvm-project/commit/86b1b0671cafd462c0aa681e2d320ce597300f69
  Author: Guy David <49722543+guy-david at users.noreply.github.com>
  Date:   2025-01-10 (Fri, 10 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 (#121481)

Somewhat paranoid, but mitigates potential bugs in the future that might
place it elsewhere and render the mechanism useless.


  Commit: 66a88f62cd56e55b5fa0ddb1bdffa549f7565f8f
      https://github.com/llvm/llvm-project/commit/66a88f62cd56e55b5fa0ddb1bdffa549f7565f8f
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/Function.h
    M lldb/source/API/SBBlock.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Core/SearchFilter.cpp
    M lldb/source/Expression/DWARFExpressionList.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/ValueObject/ValueObjectVariable.cpp

  Log Message:
  -----------
  [lldb] Add Function::GetAddress and redirect some uses (#115836)

Many calls to Function::GetAddressRange() were not interested in the
range itself. Instead they wanted to find the address of the function
(its entry point) or the base address for relocation of function-scoped
entities (technically, the two don't need to be the same, but there's
isn't good reason for them not to be). This PR creates a separate
function for retrieving this, and changes the existing
(non-controversial) uses to call that instead.


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

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h

  Log Message:
  -----------
  [CodeGen] Add const to getAddrModeArguments argument. NFC. (#122335)


  Commit: 46ca6dfb5f0783d68cd738501a26a1a9455ff74e
      https://github.com/llvm/llvm-project/commit/46ca6dfb5f0783d68cd738501a26a1a9455ff74e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  AMDGPU: Add disjoint to or produced from lowering vector ops (#122424)


  Commit: 98e5962b7c9fee60b81164025dc17ab31f49f5b7
      https://github.com/llvm/llvm-project/commit/98e5962b7c9fee60b81164025dc17ab31f49f5b7
  Author: LiqinWeng <liqin.weng at spacemit.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll

  Log Message:
  -----------
  [RISCV][CostModel] Add cost for fabs/fsqrt of type bf16/f16 (#118608)


  Commit: 66e41a1a20f2190a800669028a0e80bd86e735ce
      https://github.com/llvm/llvm-project/commit/66e41a1a20f2190a800669028a0e80bd86e735ce
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Dialect/LLVMIR/nvvm-test-range.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Declare InferIntRangeInterface for RangeableRegisterOp (#122263)


  Commit: eb63cd62a4a1907dbd58f12660efd8244e7d81e9
      https://github.com/llvm/llvm-project/commit/eb63cd62a4a1907dbd58f12660efd8244e7d81e9
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  [GVN] MemorySSA for GVN: add optional `AllowMemorySSA`

Preparatory work to migrate from MemoryDependenceAnalysis
towards MemorySSA in GVN.

Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>


  Commit: 4c853be6673fd95b4b900a6c0e1804bf33a0629c
      https://github.com/llvm/llvm-project/commit/4c853be6673fd95b4b900a6c0e1804bf33a0629c
  Author: Usha Gupta <usha.gupta at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/parity.ll
    M llvm/test/CodeGen/AArch64/popcount.ll

  Log Message:
  -----------
  [AArch64] Replace uaddlv with addv for popcount operation (#121934)

Replace `uaddlv` with `addv` for popcount operation as it is simpler
operation.

On certain platforms like Cortex-A510, `addv` has a latency of 3 cycles
whereas `uaddlv` has a latency of 4 cycles

GCC generates `addv` as well:
https://godbolt.org/z/MnYG9jcEo


  Commit: 4e32271e8b304eb018c69f74c16edd1668fcdaf3
      https://github.com/llvm/llvm-project/commit/4e32271e8b304eb018c69f74c16edd1668fcdaf3
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/Sema/SemaARM.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp

  Log Message:
  -----------
  [AArch64][SME] Add diagnostics for SME attributes on lambda functions (#121777)

CheckFunctionDeclaration emits diagnostics if any SME attributes are used
by a function definition without the required +sme or +sme2 target features.
This patch moves these diagnostics to a new function in SemaARM and
also adds a call to this from ActOnStartOfLambdaDefinition.


  Commit: 854cbbf4a8e7e98b7461eae2c2a37cfa767f791c
      https://github.com/llvm/llvm-project/commit/854cbbf4a8e7e98b7461eae2c2a37cfa767f791c
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c

  Log Message:
  -----------
  [clang][analyzer] Split NullDereferenceChecker into modeling and reporting (#122139)

The checker currently reports beneath the null dereference dereferences
of undefined value and of label addresses. If we want to add more kinds
of invalid dereferences (or split the existing functionality) it is more
useful to make it separate checkers.
To make this possible the existing checker is split into a
DereferenceModeling part and a NullDereference checker that actually
only switches on the check of null dereference. This is similar
architecture as in MallocChecker and CStringChecker.

The change is almost NFC but a new (modeling) checker is added. If the
NullDereference checker is turned off the found invalid dereferences
will still stop the analysis without emitted warning (this is different
compared to the old behavior).


  Commit: 1ef258097293fb008bdf3a8955feae0f08fdd9ae
      https://github.com/llvm/llvm-project/commit/1ef258097293fb008bdf3a8955feae0f08fdd9ae
  Author: Guray Ozen <gozen at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][NVVM] Add missing cmake dependency

NVVMdialect uses InferIntRangeInterface, but its dependence was missing in cmake. This PR adds that.


  Commit: 3def49cb64ec1298290724081bd37dbdeb2ea5f8
      https://github.com/llvm/llvm-project/commit/3def49cb64ec1298290724081bd37dbdeb2ea5f8
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt

  Log Message:
  -----------
  [AMDGPU] Remove s_wakeup_barrier instruction (#122277)


  Commit: 2e6030ef6a1792bea40aa6b0421f9a5fc9243214
      https://github.com/llvm/llvm-project/commit/2e6030ef6a1792bea40aa6b0421f9a5fc9243214
  Author: Guray Ozen <gozen at nvidia.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][NVVM] Add missing cmake dependency

Another fix


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

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

  Log Message:
  -----------
  [SDAG] Set IsPostTypeLegalization flag in LegalizeDAG (#122278)

This runs after type legalization and as such should set
IsPostTypeLegalization when creating libcalls. I don't think this makes
any observable difference right now, but I ran into this issue in an
upcoming patch.


  Commit: 4f69f4579132900949a7886fe3ba92d693430da0
      https://github.com/llvm/llvm-project/commit/4f69f4579132900949a7886fe3ba92d693430da0
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaType.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  (reland) [clang] Warn [[clang::lifetimebound]] misusages on types (#118501)

This relands #118281 as-is, after it got reverted in commit
356df2dd72e8299b5de58e9390283110c19f7c76. The reland can go in after we
fixed some downstream codebases that had incorrectly placed attributes.

Original commit description:

> Emit the "cannot be applied to types" warning instead of silently
ignoring the attribute when it's attempted to be used on a type (instead
of a function argument or the function definition).
>
> Before this commit, the warning has been printed when the attribute
was (mis)used on a decl-specifier, but not in other places in a
declarator.
>
> Examples where the warning starts being emitted with this commit:
>
> ```
>   int * [[clang::lifetimebound]] x;
>
>   void f(int * [[clang::lifetimebound]] x);
>
>   void g(int * [[clang::lifetimebound]]);
> ```
>
> Note that the last example is the case of an unnamed function
parameter. While in theory Clang could've supported the
`[[clang::lifetimebound]]` analysis for unnamed parameters, it doesn't
currently, so the commit at least makes the situation better by
highlighting this as a warning instead of a silent ignore - which was
reported at #96034.


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

  Changed paths:
    M llvm/Maintainers.md

  Log Message:
  -----------
  [LLVM][Maintainers] Remove disclaimer

This list is mostly up to date now, so remove the disclaimer.


  Commit: 5a069eac5fbb7752e7602b783ee0102e8269c47a
      https://github.com/llvm/llvm-project/commit/5a069eac5fbb7752e7602b783ee0102e8269c47a
  Author: David Green <david.green at arm.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll

  Log Message:
  -----------
  [AArch64] Don't try to sink and(load) (#122274)

If we sink the and in and(load), CGP can hoist is back again to the
load, getting into an infinite loop. This prevents sinking the and in
this case.

Fixes #122074


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

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/test/Other/new-pm-print-pipeline.ll

  Log Message:
  -----------
  Revert "[GVN] MemorySSA for GVN: add optional `AllowMemorySSA`"

This reverts commit eb63cd62a4a1907dbd58f12660efd8244e7d81e9.

This changes the preservation behavior for MSSA when the new flag
is not enabled.


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach isImpliedCondOperands about samesign (#120263)

isImpliedCondICmps() and its callers in ValueTracking can greatly
benefit from being taught about samesign. As a first step, teach one
caller, namely isImpliedCondOperands(). Very minimal changes are
required for this, as CmpPredicate::getMatching() does most of the work.


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

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

  Log Message:
  -----------
  Revert 86b1b0671cafd "MachineVerifier: Check stack protector is top-most in frame" (#122444)

Reverts llvm/llvm-project#121481

This is causing build failures on EXPENSIVE_CHECKS builds:
https://lab.llvm.org/buildbot/#/builders/187/builds/3653
https://lab.llvm.org/buildbot/#/builders/16/builds/11758


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

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp

  Log Message:
  -----------
  [lldb] Fix some log messages in NativeProcessLinux


  Commit: 85ca5517633e06d7cf58688c9b246bf14f61e5bd
      https://github.com/llvm/llvm-project/commit/85ca5517633e06d7cf58688c9b246bf14f61e5bd
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__cxx03/__chrono/weekday.h

  Log Message:
  -----------
  [libc++][chrono] Entirely remove relational operators for `std::chrono::weekday` (#122428)

Follows-up #98730.


  Commit: 6b12272353b45def33bf5814cdf9e8587f32d40e
      https://github.com/llvm/llvm-project/commit/6b12272353b45def33bf5814cdf9e8587f32d40e
  Author: Maksim Ivanov <emaxx at google.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/lib/Parse/ParseDecl.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [clang] Informative error for lifetimebound in decl-spec (#118567)

Emit a bit more informative error when the `[[clang::lifetimebound]]`
attribute is wrongly appearing on a decl-spec:

```
'lifetimebound' attribute only applies to parameters and implicit
object parameters
```

instead of:

```
'lifetimebound' attribute cannot be applied to types
```

The new error is also consistent with the diagnostic emitted when the
attribute is misplaced in other parts of a declarator.


  Commit: 799e9883eaf7c7bdebfb8ddb3366d9137527b29d
      https://github.com/llvm/llvm-project/commit/799e9883eaf7c7bdebfb8ddb3366d9137527b29d
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M lld/COFF/Chunks.cpp

  Log Message:
  -----------
  [LLD][COFF] Silence GCC warning in Arm64XDynamicRelocEntry::getSize (NFC) (#122382)

Fixes 71bbafba31699bdabe289654d157ae961432e52a.


  Commit: 7b0536794349734c8862fc140808e4e5a2ab8f8d
      https://github.com/llvm/llvm-project/commit/7b0536794349734c8862fc140808e4e5a2ab8f8d
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Support/Casting.h
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/ADT/PointerUnionTest.cpp

  Log Message:
  -----------
  [ADT] Fix specialization of ValueIsPresent for PointerUnion (#121847)

Two instances of `PointerUnion` with different active members and null
value compare unequal. Currently, this results in counterintuitive
behavior when using functions from `Casting.h`, e.g.:

```C++
  PointerUnion<int *, float *> U;
  // U = (int *)nullptr;
  dyn_cast<int *>(U); // Aborts
  dyn_cast<float *>(U); // Aborts
  U = (float *)nullptr;
  dyn_cast<int *>(U); // OK
  dyn_cast<float *>(U); // OK
```

`dyn_cast` should abort in all cases because the argument is null.
Currently, it aborts only if the first member is active. This happens
because the partial template specialization of `ValueIsPresent` for
nullable types compares the union with a union constructed from nullptr,
and the two unions compare equal only if their active members are the
same.

This patch changed the specialization of `ValueIsPresent` for nullable
types to make `isPresent()` return false for all possible null values of
a PointerUnion, and fixes two places where the old behavior was
exploited.

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


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

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll

  Log Message:
  -----------
  VT: teach implied-cond-cr about samesign (#122447)

Teach isImpliedCondCommonOperandWithCR about samesign, noting that the
only case we need to handle is when exactly one of the icmps have
samesign.


  Commit: c575a7d1e9b732432bf95c7905067b779f43d1a4
      https://github.com/llvm/llvm-project/commit/c575a7d1e9b732432bf95c7905067b779f43d1a4
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

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

  Log Message:
  -----------
  [AMDGPU] Provide default value in get intrinsic param type (#122448)

Make sure that a default value (nullptr) is returned from
`getIntrinsicParamType`, also validate uses of this helper function.


  Commit: a2995cb4bb21ba2fe6277bbcd24b8ab1b357e12d
      https://github.com/llvm/llvm-project/commit/a2995cb4bb21ba2fe6277bbcd24b8ab1b357e12d
  Author: Ayokunle Amodu <ayokunle321 at gmail.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix code segment and numbering issue in the 'call' instruction section (#122294)

Fixes issue #122084.

Under "Arguments" in the 'call' instruction section, there was some text
included in the code segment so I edited it out. Also fixed the
numbering issue in that section.


  Commit: 9c85cdec4ad29389c27cc2372d45f73d1ca8053a
      https://github.com/llvm/llvm-project/commit/9c85cdec4ad29389c27cc2372d45f73d1ca8053a
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.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/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_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_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_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
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt

  Log Message:
  -----------
  [AMDGPU][True16][MC][NFC]update vopc dasm test with latest update script (#122360)

This is a NFC. 

Update VOPC dasm test with +real-true16 and run latest update script.


  Commit: 24bb180e8aeae95cb830e5c3da73e750edaa139f
      https://github.com/llvm/llvm-project/commit/24bb180e8aeae95cb830e5c3da73e750edaa139f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll

  Log Message:
  -----------
  [RISCV] Attempt to widen SEW before generic shuffle lowering (#122311)

This takes inspiration from AArch64 which does the same thing to assist
with zip/trn/etc.. Doing this recursion unconditionally when the mask
allows is slightly questionable, but seems to work out okay in practice.

As a bit of context, it's helpful to realize that we have existing logic
in both DAGCombine and InstCombine which mutates the element width of in
an analogous manner. However, that code has two restriction which
prevent it from handling the motivating cases here. First, it only
triggers if there is a bitcast involving a different element type.
Second, the matcher used considers a partially undef wide element to be
a non-match. I considered trying to relax those assumptions, but the
information loss for undef in mid-level opt seemed more likely to open a
can of worms than I wanted.


  Commit: 35a392553d790064566d4430f249b1e740052dfa
      https://github.com/llvm/llvm-project/commit/35a392553d790064566d4430f249b1e740052dfa
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-01-10 (Fri, 10 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-shuffle-combining-avx.ll

  Log Message:
  -----------
  [X86] widenSubVector - widen from smaller build vector if the upper elements are already the same padding elements (#122445)

Further simplifies some shuffle masks to help additional combines


  Commit: d6b6598e8075a5ba0271ee06a20c5a5609c0ec37
      https://github.com/llvm/llvm-project/commit/d6b6598e8075a5ba0271ee06a20c5a5609c0ec37
  Author: thebrandre <andre.brand at mailbox.org>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    A clang/test/SemaCXX/opaque-enum-declaration-in-class-template.cpp

  Log Message:
  -----------
  [clang] Fix implicit integer conversion for opaque enums declared in class templates (#121039)

This commit fixes issues with enumeration types instantiated from an
opaque-enum-declarations
(see [dcl.enum]) in class templates broke basic assumptions during
parsing of arithmetic
expressions due to absent (NULL TYPE) promotion types of instances of
EnumDecl.

To this end, we repeat the simple steps in `Sema::ActOnTag` to evaluate
the promotion type
of a fixed enumeration based on its underlying type (see C++11
[conv.prom] p4).

Note that if, instead, a full *enum-specifier* (subsequent curly braces)
is provided,
`Sema::ActOnEnumBody` is re-invoked on template instantiation anyway
overriding the
promotion type and hiding the issue. This is analog to how enumerations
declarations
outside of template declarations are handled.
Note that, in contrast to `Sema::ActOnEnumBody`, `Sema::ActOnTag` is
*not* called again
for the instantiated enumeration type.

Fixes #117960.

---------

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


  Commit: c91b506103bd63f1dec00e409c380b795c94112c
      https://github.com/llvm/llvm-project/commit/c91b506103bd63f1dec00e409c380b795c94112c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-01-10 (Fri, 10 Jan 2025)

  Changed paths:
    M .github/workflows/containers/github-action-ci/Dockerfile
    A .github/workflows/hlsl-matrix.yaml
    A .github/workflows/hlsl-test-all.yaml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/premerge.yaml
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-consteval.cpp
    M clang/bindings/python/clang/cindex.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/CodeGenOptions.h
    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/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/Sanitizers.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/CodeGen/BackendUtil.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaARM.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Sema/SemaSYCL.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Basic/Sanitizers.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/SPIRV.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Headers/cuda_wrappers/cmath
    M clang/lib/Headers/intrin.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
    M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.apinotes
    A clang/test/APINotes/Inputs/Headers/SwiftReturnOwnershipForObjC.h
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    A clang/test/APINotes/swift-return-ownership.m
    M clang/test/AST/ByteCode/builtin-functions.cpp
    M clang/test/AST/ByteCode/cxx20.cpp
    M clang/test/AST/ByteCode/functions.cpp
    M clang/test/AST/ByteCode/literals.cpp
    M clang/test/AST/ast-print-openacc-update-construct.cpp
    M clang/test/AST/attr-lifetime-capture-by.cpp
    M clang/test/ASTSYCL/ast-dump-sycl-kernel-entry-point.cpp
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    M clang/test/Analysis/z3/crosscheck-statistics.c
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/CXX/drs/cwg26xx.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CXX/expr/expr.const/p2-0x.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    M clang/test/CXX/expr/expr.unary/expr.delete/p10.cpp
    M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
    A clang/test/CodeGen/AArch64/fmv-priority.c
    M clang/test/CodeGen/allow-ubsan-check.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ubsan-pointer-overflow.c
    M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
    M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
    M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
    M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/acos.hlsl
    M clang/test/CodeGenHLSL/builtins/asdouble.hlsl
    M clang/test/CodeGenHLSL/builtins/asin.hlsl
    M clang/test/CodeGenHLSL/builtins/atan.hlsl
    M clang/test/CodeGenHLSL/builtins/atan2.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/clamp.hlsl
    M clang/test/CodeGenHLSL/builtins/clip.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/cosh.hlsl
    M clang/test/CodeGenHLSL/builtins/cross.hlsl
    M clang/test/CodeGenHLSL/builtins/degrees.hlsl
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M clang/test/CodeGenHLSL/builtins/exp.hlsl
    M clang/test/CodeGenHLSL/builtins/exp2.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/fmod.hlsl
    M clang/test/CodeGenHLSL/builtins/frac.hlsl
    M clang/test/CodeGenHLSL/builtins/length.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/mad.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/radians.hlsl
    M clang/test/CodeGenHLSL/builtins/rcp.hlsl
    M clang/test/CodeGenHLSL/builtins/round.hlsl
    M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/saturate.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sinh.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/step.hlsl
    M clang/test/CodeGenHLSL/builtins/tan.hlsl
    M clang/test/CodeGenHLSL/builtins/tanh.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenHLSL/float3.hlsl
    M clang/test/CodeGenHLSL/this-reference.hlsl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/Driver/amdgpu-openmp-toolchain.c
    A clang/test/Driver/darwin-embedded-search-paths-libcxx.c
    M clang/test/Driver/darwin-embedded-search-paths.c
    M clang/test/Driver/dxc_spirv.hlsl
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/lto.c
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Driver/spirv-openmp-toolchain.c
    M clang/test/Driver/spirv-toolchain.cl
    M clang/test/Driver/uefi-constructed-args.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    A clang/test/OpenMP/parallel_masked_taskloop_codegen.c
    M clang/test/Parser/namespace-attributes.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
    M clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
    A clang/test/SemaCUDA/constexpr-virtual-func.cu
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp
    M clang/test/SemaCXX/constant-expression-cxx14.cpp
    M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
    M clang/test/SemaCXX/cxx23-assume.cpp
    M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
    M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
    M clang/test/SemaCXX/lambda-unevaluated.cpp
    M clang/test/SemaCXX/noexcept-destroying-delete.cpp
    A clang/test/SemaCXX/opaque-enum-declaration-in-class-template.cpp
    M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
    M clang/test/SemaOpenACC/combined-construct-self-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
    M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
    M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
    M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
    M clang/test/SemaOpenACC/update-construct-ast.cpp
    M clang/test/SemaOpenACC/update-construct.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-appertainment.cpp
    M clang/test/SemaSYCL/sycl-kernel-entry-point-attr-grammar.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-module.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name-pch.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-kernel-name.cpp
    A clang/test/SemaSYCL/sycl-kernel-entry-point-attr-sfinae.cpp
    M clang/test/SemaTemplate/concepts-recursive-inst.cpp
    M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp
    M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
    M clang/test/TableGen/target-builtins-prototype-parser.td
    M clang/tools/libclang/CIndex.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Format/FormatTestSelective.cpp
    M clang/www/cxx_dr_status.html
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/lib/sanitizer_common/sanitizer_allocator_dlsym.h
    M compiler-rt/lib/tysan/tysan_interceptors.cpp
    M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
    M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-constants.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-summary.cpp
    M compiler-rt/test/ubsan/TestCases/Pointer/nullptr-and-nonzero-offset-variable.cpp
    M compiler-rt/test/ubsan_minimal/TestCases/nullptr-and-nonzero-offset.c
    M flang/CMakeLists.txt
    M flang/docs/Extensions.md
    M flang/include/flang/Common/format.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/constant.h
    M flang/include/flang/Evaluate/expression.h
    M flang/include/flang/Evaluate/shape.h
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Evaluate/variable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/expression.cpp
    M flang/lib/Evaluate/fold-integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/shape.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/variable.cpp
    M flang/lib/Frontend/FrontendAction.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/definable.cpp
    M flang/lib/Semantics/definable.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/module/__fortran_builtins.f90
    M flang/module/__fortran_type_info.f90
    M flang/runtime/edit-input.cpp
    M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
    M flang/test/Integration/debug-local-var-2.f90
    A flang/test/Lower/CUDA/cuda-cdevloc.cuf
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Parser/at-process.f
    A flang/test/Parser/unparseable.f90
    A flang/test/Preprocessing/bug129131.F
    A flang/test/Semantics/assign16.f90
    A flang/test/Semantics/bug121718.f90
    M flang/test/Semantics/call04.f90
    M flang/test/Semantics/definable01.f90
    M flang/test/Semantics/get_team.f90
    M flang/test/Semantics/io07.f90
    M flang/test/Semantics/io08.f90
    M flang/test/Semantics/lcobound.f90
    M flang/test/Semantics/resolve94.f90
    M flang/test/Semantics/this_image01.f90
    M flang/test/Semantics/ucobound.f90
    M flang/unittests/Runtime/LogicalFormatTest.cpp
    M libc/cmake/modules/LLVMLibCHeaderRules.cmake
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/struct_iovec.h
    A libc/hdr/types/struct_tm.h
    M libc/include/CMakeLists.txt
    A libc/include/sys/uio.h.def
    A libc/include/sys/uio.yaml
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/File/file.cpp
    M libc/src/__support/File/file.h
    M libc/src/__support/fixedvector.h
    M libc/src/__support/threads/thread.cpp
    R libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_host_call.cpp
    R libc/src/gpu/rpc_host_call.h
    M libc/src/pthread/pthread_condattr_init.cpp
    M libc/src/pthread/pthread_condattr_setclock.cpp
    M libc/src/stdlib/exit_handler.h
    M libc/src/sys/CMakeLists.txt
    A libc/src/sys/uio/CMakeLists.txt
    A libc/src/sys/uio/linux/CMakeLists.txt
    A libc/src/sys/uio/linux/writev.cpp
    A libc/src/sys/uio/writev.h
    M libc/src/time/CMakeLists.txt
    M libc/src/time/asctime.cpp
    M libc/src/time/asctime.h
    M libc/src/time/asctime_r.cpp
    M libc/src/time/asctime_r.h
    M libc/src/time/ctime.cpp
    M libc/src/time/ctime_r.cpp
    M libc/src/time/difftime.h
    M libc/src/time/gmtime.h
    M libc/src/time/gmtime_r.h
    M libc/src/time/mktime.cpp
    M libc/src/time/mktime.h
    M libc/src/time/time.cpp
    A libc/src/time/time_constants.h
    M libc/src/time/time_utils.cpp
    M libc/src/time/time_utils.h
    M libc/test/UnitTest/ExecuteFunctionUnix.cpp
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/LibcDeathTestExecutors.cpp
    M libc/test/src/sys/CMakeLists.txt
    A libc/test/src/sys/uio/CMakeLists.txt
    A libc/test/src/sys/uio/writev_test.cpp
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/TmHelper.h
    M libc/test/src/time/TmMatcher.h
    M libc/test/src/time/asctime_r_test.cpp
    M libc/test/src/time/clock_gettime_test.cpp
    M libc/test/src/time/clock_test.cpp
    M libc/test/src/time/ctime_r_test.cpp
    M libc/test/src/time/difftime_test.cpp
    M libc/test/src/time/gettimeofday_test.cpp
    M libc/test/src/time/gmtime_r_test.cpp
    M libc/test/src/time/gmtime_test.cpp
    M libc/test/src/time/mktime_test.cpp
    M libc/test/src/time/nanosleep_test.cpp
    M libc/utils/hdrgen/main.py
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/mismatch.h
    A libcxx/include/__algorithm/radix_sort.h
    M libcxx/include/__algorithm/simd_utils.h
    M libcxx/include/__algorithm/stable_sort.h
    M libcxx/include/__bit/bit_log2.h
    M libcxx/include/__chrono/weekday.h
    M libcxx/include/__config
    M libcxx/include/__cxx03/__chrono/weekday.h
    M libcxx/include/__filesystem/directory_entry.h
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/support/bsd_like.h
    M libcxx/include/__locale_dir/support/windows.h
    M libcxx/include/__system_error/system_error.h
    M libcxx/include/__type_traits/unwrap_ref.h
    M libcxx/include/__vector/vector_bool.h
    M libcxx/include/bitset
    M libcxx/include/module.modulemap
    M libcxx/src/filesystem/directory_iterator.cpp
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/locale.cpp
    M libcxx/src/print.cpp
    M libcxx/src/system_error.cpp
    A libcxx/test/libcxx/diagnostics/system_error_win_codes.pass.cpp
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
    M libcxx/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
    M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
    M libcxx/utils/gdb/libcxx/printers.py
    M lld/COFF/Chunks.cpp
    M lld/COFF/Writer.cpp
    M lld/MachO/ConcatOutputSection.cpp
    M lld/test/COFF/arm64x-loadconfig.s
    A lld/test/COFF/baserel-sort.yaml
    M lldb/include/lldb/Host/HostInfo.h
    M lldb/include/lldb/Symbol/Block.h
    M lldb/include/lldb/Symbol/Function.h
    M lldb/include/lldb/Target/MemoryRegionInfo.h
    M lldb/source/API/SBBlock.cpp
    M lldb/source/API/SBFunction.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Core/SearchFilter.cpp
    M lldb/source/Expression/DWARFExpressionList.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Symbol/Block.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/ThreadPlanStepInRange.cpp
    M lldb/source/ValueObject/ValueObjectVariable.cpp
    M lldb/unittests/Utility/RangeMapTest.cpp
    M llvm/Maintainers.md
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
    M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/include/llvm/IR/IRBuilder.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/VectorTypeUtils.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/SandboxIR/Context.h
    M llvm/include/llvm/SandboxIR/Pass.h
    M llvm/include/llvm/SandboxIR/Utils.h
    M llvm/include/llvm/Support/Casting.h
    M llvm/include/llvm/Support/Recycler.h
    M llvm/include/llvm/Support/Timer.h
    A llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SeedCollector.h
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/RegisterBankInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
    M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
    M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/VectorTypeUtils.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/SandboxIR/Context.cpp
    M llvm/lib/Support/Timer.cpp
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64FMV.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/M68k/AsmParser/M68kAsmParser.cpp
    M llvm/lib/Target/M68k/Disassembler/M68kDisassembler.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrFormatsC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/TargetParser/AArch64TargetParser.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SeedCollector.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    M llvm/test/Analysis/CostModel/AArch64/rem.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-div.ll
    A llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-min-max-abs.ll
    M llvm/test/Analysis/CostModel/RISCV/fp-sqrt-pow.ll
    A llvm/test/Analysis/CostModel/RISCV/reduce-and-i1.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
    M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
    A llvm/test/Analysis/ValueTracking/implied-condition-samesign.ll
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    A llvm/test/CodeGen/AArch64/complex-deinterleaving-opt-crash.ll
    M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
    M llvm/test/CodeGen/AArch64/dp1.ll
    M llvm/test/CodeGen/AArch64/extract-bits.ll
    M llvm/test/CodeGen/AArch64/fpenv.ll
    A llvm/test/CodeGen/AArch64/hwasan-zero-ptr.ll
    M llvm/test/CodeGen/AArch64/parity.ll
    M llvm/test/CodeGen/AArch64/popcount.ll
    M llvm/test/CodeGen/AArch64/trampoline.ll
    M llvm/test/CodeGen/AArch64/xbfiz.ll
    M llvm/test/CodeGen/AMDGPU/bitop3.ll
    M llvm/test/CodeGen/AMDGPU/fmed3.ll
    A llvm/test/CodeGen/AMDGPU/prevent-fmul-hoist-ir.ll
    M llvm/test/CodeGen/AMDGPU/s-barrier.ll
    M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
    A llvm/test/CodeGen/DirectX/BufferLoad-sm61.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad-error64.ll
    A llvm/test/CodeGen/DirectX/RawBufferLoad.ll
    A llvm/test/CodeGen/Hexagon/loopIdiom.ll
    M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
    A llvm/test/CodeGen/NVPTX/disjoint-or-addr.ll
    R llvm/test/CodeGen/NVPTX/fabs-fneg-free.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    A llvm/test/CodeGen/PowerPC/global-merge-aix-zero-size-struct.ll
    M llvm/test/CodeGen/RISCV/kcfi-isel-mir.ll
    M llvm/test/CodeGen/RISCV/kcfi-mir.ll
    A llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
    M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
    M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
    M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
    M llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
    M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
    M llvm/test/CodeGen/WebAssembly/exception.ll
    M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
    A llvm/test/DebugInfo/X86/dwarf5-debug-names-addr-tu-to-non-tu.ll
    M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/zero-ptr.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.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/gfx11_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.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_vop3cx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_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
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
    A llvm/test/MC/M68k/Data/Classes/MxMoveSR.s
    M llvm/test/ThinLTO/X86/memprof-recursive.ll
    M llvm/test/Transforms/InstCombine/and-xor-or.ll
    A llvm/test/Transforms/InstCombine/fold-binop-of-reductions.ll
    M llvm/test/Transforms/InstCombine/onehot_merge.ll
    M llvm/test/Transforms/InstCombine/select.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
    M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
    M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
    M llvm/test/Transforms/LoopVectorize/early_exit_legality.ll
    A llvm/test/Transforms/LoopVectorize/struct-return.ll
    M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
    M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
    A llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
    M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
    A llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
    A llvm/test/tools/dxil-dis/fastmath.ll
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
    M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.h
    M llvm/unittests/ADT/PointerUnionTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/unittests/Support/RecyclerTest.cpp
    M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
    M llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/RISCV/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/RISCV/BUILD.gn
    M mlir/docs/Dialects/OpenACCDialect.md
    M mlir/include/mlir/Conversion/Passes.td
    A mlir/include/mlir/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
    M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Dialect/GPU/CMakeLists.txt
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    A mlir/lib/Dialect/GPU/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules-nested.mlir
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir
    M mlir/test/Conversion/SPIRVToLLVM/non-uniform-ops-to-llvm.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Affine/value-bounds-reification.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/GPU/value-bounds-op-interface-impl.mlir
    A mlir/test/Dialect/LLVMIR/nvvm-test-range.mlir
    M mlir/test/Dialect/Linalg/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/SCF/loop-unroll.mlir
    M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/Vector/test-scalable-bounds.mlir
    M mlir/test/Dialect/Vector/value-bounds-op-interface-impl.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
    A mlir/test/Target/LLVMIR/openmp-parallel-reduction-init.mlir
    M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
    M mlir/test/Transforms/loop-invariant-code-motion.mlir
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
    M mlir/test/mlir-vulkan-runner/addui_extended.mlir
    M mlir/test/mlir-vulkan-runner/smul_extended.mlir
    M mlir/test/mlir-vulkan-runner/umul_extended.mlir
    M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Synchronization.h
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/include/Shared/Utils.h
    M offload/test/sanitizer/kernel_crash_async.c
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/spr/m02-selectors


Compare: https://github.com/llvm/llvm-project/compare/ca7584b5432b...c91b506103bd

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