[all-commits] [llvm/llvm-project] 0e11a9: [VPlan] Implement printing VPIRMetadata. (#168385)

Alexis Engelke via All-commits all-commits at lists.llvm.org
Sat Dec 6 04:52:40 PST 2025


  Branch: refs/heads/users/aengelke/spr/ir-dont-store-switch-case-values-as-operands
  Home:   https://github.com/llvm/llvm-project
  Commit: 0e11a92447df68bba0e9565c1171304392e9a242
      https://github.com/llvm/llvm-project/commit/0e11a92447df68bba0e9565c1171304392e9a242
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Transforms/LoopVectorize/vplan-printing-metadata.ll
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h

  Log Message:
  -----------
  [VPlan] Implement printing VPIRMetadata. (#168385)

mplement printing for VPIRMetadata, using generic dyn_cast to
VPIRMetadata.

Depends on https://github.com/llvm/llvm-project/pull/166245 

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


  Commit: 73ef27c74cc1bd73cc6c31c4619c150ce5f47ea5
      https://github.com/llvm/llvm-project/commit/73ef27c74cc1bd73cc6c31c4619c150ce5f47ea5
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/udiv-by-const-promoted-ops.ll

  Log Message:
  -----------
  [DAGCombiner] Handle type-promoted constants in UDIV exact lowering (#169949)

Builds up on the solution proposed for
https://github.com/llvm/llvm-project/pull/169491 and applies it for UDIV
exact as well.


  Commit: 0458fe5c17a67d59f80cb3474b30b8126f548c03
      https://github.com/llvm/llvm-project/commit/0458fe5c17a67d59f80cb3474b30b8126f548c03
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir

  Log Message:
  -----------
  [AMDGPU] Improve VGPR lowering test. NFC (#170633)

Add asm comments checks for readability.


  Commit: b4b369a6bf2d9103bac619172ee1bdec992d6730
      https://github.com/llvm/llvm-project/commit/b4b369a6bf2d9103bac619172ee1bdec992d6730
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll

  Log Message:
  -----------
  [LLVM][InstCombine][AArch64] sve.dup(V, all_active, S) ==> splat(S) (#170292)

Also refactors the rest of instCombineSVEDup to simplify the code.


  Commit: 37ea097943f353966cb33ff0e670df097ff19d45
      https://github.com/llvm/llvm-project/commit/37ea097943f353966cb33ff0e670df097ff19d45
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [VPlan] Remove VPWidenRecipe constructor with no underlying instruction. NFCI (#166521)

My understanding is that a VPWidenRecipe should be used for recipes with
an exact underlying scalar instruction, and VPInstruction should be used
elsewhere e.g. for instructions generated as a part of the vectorization
process.

The only user of the VPWidenRecipe constructor that doesn't take an
underlying instruction is in adjustRecipesForReductions, but we can just
use VPInstruction there.


  Commit: dd6e87bc137523309c1c21e8f41a6089abd1ed02
      https://github.com/llvm/llvm-project/commit/dd6e87bc137523309c1c21e8f41a6089abd1ed02
  Author: Sohaib Iftikhar <sohaib1692 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td

  Log Message:
  -----------
  [MLIR][NVVM] Fix lowering logic after fddf7b05 (#170545)

Without this mapping fails when there is no result specified.

See:
https://github.com/llvm/llvm-project/pull/169922#issuecomment-3605378445

To reproduce error on `main`:

```bash
mkdir -p build && cd build
cmake -G Ninja ../llvm \
  -DLLVM_ENABLE_PROJECTS=mlir \
  -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \
  -DMLIR_ENABLE_CUDA_RUNNER=ON \
  -DMLIR_RUN_CUDA_TENSOR_CORE_TESTS=ON \
  -DMLIR_RUN_CUDA_SM90_TESTS=ON \
  -DMLIR_GPU_COMPILATION_TEST_FORMAT=fatbin \
  -DMLIR_INCLUDE_INTEGRATION_TESTS=ON \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_INSTALL_UTILS=ON \
  -DCMAKE_BUILD_TYPE=Release
ninja

bin/mlir-opt ../mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir -gpu-lower-to-nvvm-pipeline="cubin-chip=sm_90 cubin-features=+ptx80 opt-level=3"
```


  Commit: 8e53a88de3c3052a4cbd82a1f6baeffa451d292a
      https://github.com/llvm/llvm-project/commit/8e53a88de3c3052a4cbd82a1f6baeffa451d292a
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    A llvm/test/CodeGen/AArch64/sdiv-by-const-promoted-ops.ll

  Log Message:
  -----------
  [DAGCombiner] Handle type-promoted constants in SDIV lowering (#169924)

Builds up on the solution proposed for #169491 and applies it for SDIV
as well.


  Commit: adb7275995ba84cc4ee79fe7b670af2b504a0e6c
      https://github.com/llvm/llvm-project/commit/adb7275995ba84cc4ee79fe7b670af2b504a0e6c
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Maintain existing predicate when lowering aarch64.sve.[s,u]abd.u intrinsics. (#170472)


  Commit: d364c0eda906621513e1cac2ff4b0f3de6b8df7a
      https://github.com/llvm/llvm-project/commit/d364c0eda906621513e1cac2ff4b0f3de6b8df7a
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libcxx/include/__random/mersenne_twister_engine.h

  Log Message:
  -----------
  [libc++][NFC] Inline mersenne_twister_engine functions into the class body (#170454)

Defining the functions outside the class makes things way harder to read
here, since the list of template arguments is incredibly long.


  Commit: cb8ce283e173464b2c8ea833c279cfaec8a2350b
      https://github.com/llvm/llvm-project/commit/cb8ce283e173464b2c8ea833c279cfaec8a2350b
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll

  Log Message:
  -----------
  [AMDGPU][Waitcnts] Don't create a pending flat event for LDS DMA (#170263)

Flat instructions need a waitcnt(0) on both VMEM and LDS accesses, but
only when the instruction really is using flat addressing. The LDS DMA
instructions (on GFX9) have the FLAT flag set, but they have very clear
semantics. These instructions update only VM_CNT (on GFX9), and hence do
not need to be treated like actual flat instructions.


  Commit: 6584e47101b0631b44518742efbd4f13020c3dff
      https://github.com/llvm/llvm-project/commit/6584e47101b0631b44518742efbd4f13020c3dff
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll

  Log Message:
  -----------
  [RISCV] Combine vmerge_vl allones -> vmv_v_v, vmv_v_v splat(x) -> vmv_v_x (#170539)

An upcoming patch aims to remove the last use of
@llvm.experimental.vp.splat in RISCVCodegenPrepare by replacing it with
a vp_merge of a regular splat.

A vp_merge will get lowered to vmerge_vl, and if we combine vmerge_vl of
a splat to vmv_v_x we can get the same behaviour as the vp.splat
intrinsic.

This adds the two combines needed. It was easier to do the combines on
_vl nodes rather than on vp_merge itself, since the types are already
legal for _vl nodes.


  Commit: c45dd4360a4eaaf09014924f8e06b1cd5d0cd034
      https://github.com/llvm/llvm-project/commit/c45dd4360a4eaaf09014924f8e06b1cd5d0cd034
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libcxx/include/__locale_dir/num.h
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp

  Log Message:
  -----------
  [libc++] Fix num_get base parsing (#170460)

This fixes two bugs reported in #121795 and adds regression tests.
Specifically, these bugs are in the base detection mechanism. The first
bug is that the out parameter isn't set when the stream only contains
zero and after that is the end of the stream. The second one is that we
don't consider `0` to be a number, and instead we only parse it as the
start of an octal literal.


  Commit: 65b2793e8ed6958916ec37f50ad418042d777068
      https://github.com/llvm/llvm-project/commit/65b2793e8ed6958916ec37f50ad418042d777068
  Author: Ming Yan <ming.yan at terapines.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/test/Fir/FirToSCF/iter-while.fir

  Log Message:
  -----------
  [Flang][Fir] Fix the error when lowering `fir.iterate_while` to `scf while`. (#170630)

The lowering fails when `fir.iterate_while` has no final value; this patch fixes the bug.


  Commit: 6f8e17c9058c61307e3d458d15e5f676b701969c
      https://github.com/llvm/llvm-project/commit/6f8e17c9058c61307e3d458d15e5f676b701969c
  Author: Shreeyash Pandey <shreeyash335 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/src/__support/time/CMakeLists.txt
    A libc/src/__support/time/clock_conversion.h
    M libc/src/__support/time/linux/CMakeLists.txt
    R libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/monotonicity.h

  Log Message:
  -----------
  [libc] make clock_conversion.h common and document it (#167723)

clock_conversion.h implements convert_clock which shifts a timestamp
from one clock domain to another. It naturally does not depend on any OS
specific interface. Making it generic will allow common use.


  Commit: e933ccdd9d2a328212f88068fb4e4c54966106d2
      https://github.com/llvm/llvm-project/commit/e933ccdd9d2a328212f88068fb4e4c54966106d2
  Author: Robert Imschweiler <robert.imschweiler at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Fix / workaround amdgcn.kill/.unreachable lowering (#170639)

cf.
https://github.com/llvm/llvm-project/pull/133907#issuecomment-3611354688


  Commit: e56611ce15eee2a8a7655bcb89d9b7c1b1931f32
      https://github.com/llvm/llvm-project/commit/e56611ce15eee2a8a7655bcb89d9b7c1b1931f32
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp

  Log Message:
  -----------
  [MLIR][LLVM] Fix the import of LLVM IR metadata (#170631)

Change `getSupportedMetadata` to return `SmallVector<unsigned>` instead
of `ArrayRef<unsigned>` and make the list non-static. This ensures
metadata identifiers are correctly obtained per LLVM context, preventing
incorrect import when multiple contexts are used (for metadata like
vector hints or work group sizes which have non-static IDs).


  Commit: e7f3226e4f70f502cbd60ca5e999a6680850a50e
      https://github.com/llvm/llvm-project/commit/e7f3226e4f70f502cbd60ca5e999a6680850a50e
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/sdiv-by-const-promoted-ops.ll

  Log Message:
  -----------
  [DAGCombiner] Handle type-promoted constants in SDIV exact lowering (#169950)

Builds up on the solution proposed for #169491 and #169924 and applies
it for SDIV exact as well. Almost a carbon copy of UDIV exact solution
from #169949.


  Commit: cc92552754fa1d9c6cca3d8d571756bc9931d408
      https://github.com/llvm/llvm-project/commit/cc92552754fa1d9c6cca3d8d571756bc9931d408
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for readability-identifier-naming in IndexToSPIRV.cpp (NFC)


  Commit: bc2a64f7fca159f3441e98bcaaef9efa86ec728e
      https://github.com/llvm/llvm-project/commit/bc2a64f7fca159f3441e98bcaaef9efa86ec728e
  Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    A llvm/test/Transforms/InferAlignment/ptrtoint.ll

  Log Message:
  -----------
  [InferAlignment]  Enhance alignment propagation for and(ptrtoint, const) pattern. (#166935)

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

alive2: https://alive2.llvm.org/ce/z/h8HYTo
godbolt: https://godbolt.org/z/Mqzs9W8q4


  Commit: 81a086365a3fa3d94c16bec7008360e63ff242ce
      https://github.com/llvm/llvm-project/commit/81a086365a3fa3d94c16bec7008360e63ff242ce
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp

  Log Message:
  -----------
  [clang-tidy] fix false negatives in readability-redundant-casting when cast function pointer (#170502)

Part of #170476
When check equal of type, we need to ignore ParenType


  Commit: b8b7eda7fef91a9303669037bf2f0c2081e67094
      https://github.com/llvm/llvm-project/commit/b8b7eda7fef91a9303669037bf2f0c2081e67094
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  AMDGPU: Use correct chain when emitting error on a call (#170645)

Return the input chain at the callsite, not the entry node
chain. Presumably this could cause issues somewhere.


  Commit: e502dce8b5a014afce2b00a7d54b34fbb4eff353
      https://github.com/llvm/llvm-project/commit/e502dce8b5a014afce2b00a7d54b34fbb4eff353
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Simplify analysis of the scalars, NFC.

Just an attempt to simplify some checks, remove extra calls and reorder
checks to make code simpler and faster

Reviewers: RKSimon, hiraditya

Reviewed By: hiraditya

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


  Commit: 5c6918f24dc65d03c534e88150452db88c4cc630
      https://github.com/llvm/llvm-project/commit/5c6918f24dc65d03c534e88150452db88c4cc630
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/mulhu-srl-promoted-ops.ll
    M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll

  Log Message:
  -----------
  [DAGCombiner] Allow promoted constants in MULHU by power-of-2 -> SRL transform (#170562)

Type legalization can promote constant operands. The MULHU optimization
`mulhu x, (1 << c) -> x >> (bitwidth - c)` was failing when constants
were promoted because:

  1. `isConstantOrConstantVector` check rejected promoted constants
2. `BuildLogBase2` -> `takeInexpensiveLog2` -> `matchUnaryPredicate`
rejected promoted constants

This fixes both by adding `AllowTruncation=true`, following the pattern
from the recent UDIV fix (#169491).


  Commit: 04bc0af1034d80d1d30a8a40077fc3f4e4ab46f3
      https://github.com/llvm/llvm-project/commit/04bc0af1034d80d1d30a8a40077fc3f4e4ab46f3
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/include/flang/Parser/openmp-utils.h
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/resolve-directives.cpp

  Log Message:
  -----------
  [flang][OpenMP] Expand GetOmpObjectList to all subclasses of OmpClause (#170351)

Use GetOmpObjectList instead of extracting the object list by hand.


  Commit: b31a398bcf38b4b1c6a9465194d28c463590096a
      https://github.com/llvm/llvm-project/commit/b31a398bcf38b4b1c6a9465194d28c463590096a
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/wmma-matmul-f64.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Fix wmma test after d3edc94d (#170659)

See discussion on #169061


  Commit: 9a23702a2b0f56e9463cb400dffdc6403d7de675
      https://github.com/llvm/llvm-project/commit/9a23702a2b0f56e9463cb400dffdc6403d7de675
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp

  Log Message:
  -----------
  Add parentheses around '&&' within '||' (#170652)

Addresses this warning:

```
/home/fedora/src/llvm-project/main/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:3358
79: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
 3358 |          (getImm(I.getOperand(4), MRI) && foldImm(I.getOperand(4), MRI) == 0) &&
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
 3359 |              "Cannot translate GEP to OpAccessChain. First index must be 0.");
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


  Commit: 9a64c9f89514b8e7fad4b7dba16a4e34c19336dc
      https://github.com/llvm/llvm-project/commit/9a64c9f89514b8e7fad4b7dba16a4e34c19336dc
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

  Log Message:
  -----------
  [Hexagon] Fix assert: = -> == (#170643)

This was introduced in #169559


  Commit: f49504a9cfcd18d35b1ba2c6f3f55ccca31f7faa
      https://github.com/llvm/llvm-project/commit/f49504a9cfcd18d35b1ba2c6f3f55ccca31f7faa
  Author: Konrad Kleine <kkleine at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

  Log Message:
  -----------
  [Hexagon] Fix assignment (#170646)

`VmpaIntID` was used in variable definition of `VmpaIntID`.

```
/home/fedora/src/llvm-project/main/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp: In member function ‘bool {anonymous}::HexagonGenWideningVecInstr::replaceWithVmpaIntrinsic(llvm::Instruction*, OPInfo*)’:
/home/fedora/src/llvm-project/main/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp:843:41: warning: operation on ‘VmpaIntID’ may be undefined [-Wsequence-point]
  843 |       (NewResEltSize == 16) ? VmpaIntID = Intrinsic::hexagon_V6_vmpabus_128B
      |                               ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


  Commit: 9f422915c78a3ddeb581c27370247e17df666ab0
      https://github.com/llvm/llvm-project/commit/9f422915c78a3ddeb581c27370247e17df666ab0
  Author: Giacomo Castiglioni <giacastiglioni at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/test/Examples/NVGPU/Ch0.py
    M mlir/test/Examples/NVGPU/Ch1.py
    M mlir/test/Examples/NVGPU/Ch2.py
    M mlir/test/Examples/NVGPU/Ch3.py
    M mlir/test/Examples/NVGPU/Ch4.py
    M mlir/test/Examples/NVGPU/Ch5.py
    M mlir/test/Examples/NVGPU/lit.local.cfg
    M mlir/test/Examples/NVGPU/tools/nvdsl.py
    M mlir/test/Examples/NVGPU/tools/nvgpucompiler.py

  Log Message:
  -----------
  [NVGPU] Fix nvdsl examples - take 2 (#167321)

This PR re-lands https://github.com/llvm/llvm-project/pull/156830

This PR aims at fixing the nvdsl examples which got a bit out of sync
not being tested in the CI.

The fixed bugs were related to the following PRs:
- move to nanobind #118583
- split gpu module initialization #135478
- gpu dialect python API change #163883


  Commit: 184416bac10a8209a6cddb2648a539c0febec655
      https://github.com/llvm/llvm-project/commit/184416bac10a8209a6cddb2648a539c0febec655
  Author: Sohaib Iftikhar <sohaibiftikhar at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [LIBC][BUILD] Fix deps after 6f8e17c9 (#170661)


  Commit: 3402391966e3085dfd935f664dcf77c4b439517f
      https://github.com/llvm/llvm-project/commit/3402391966e3085dfd935f664dcf77c4b439517f
  Author: Kelvin Li <kli at ca.ibm.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang-rt/test/Driver/exec.f90

  Log Message:
  -----------
  [flang] Enable Driver/exec.f90 test (NFC) (#170544)


  Commit: 9ad9572e86d87a70153ad17c99bf1bf7c96e95a4
      https://github.com/llvm/llvm-project/commit/9ad9572e86d87a70153ad17c99bf1bf7c96e95a4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll

  Log Message:
  -----------
  [X86] wide-scalar-shift-by-byte-multiple-legalization.ll - cleanup check prefixes (#170662)

Add missing common AVX prefixes

Remove FALLBACK prefixes - now that the update script will tell us when
there are clashes


  Commit: 5b873373d8e62b2da7dc5ba967b05ad09cbbc541
      https://github.com/llvm/llvm-project/commit/5b873373d8e62b2da7dc5ba967b05ad09cbbc541
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp

  Log Message:
  -----------
  [lldb][windows] fix copying instead of using a reference of STARTUPINFOW (#170653)


  Commit: 07e63a3be82dba8c0b4ec92078f77299a8004355
      https://github.com/llvm/llvm-project/commit/07e63a3be82dba8c0b4ec92078f77299a8004355
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp

  Log Message:
  -----------
  [SPIR-V] Move ASSIGN_TYPE generation to PostLegalizer (#169696)

Moves the insertion of SPIRV::ASSIGN_TYPE for type-folded instructions
from the PreLegalizer to the PostLegalizer. This allows the legalizer
to do more because the ASSIGN_TYPE instructions do not get in the way.


  Commit: d8b43edf552840e59a22a7f3cc332697bd434782
      https://github.com/llvm/llvm-project/commit/d8b43edf552840e59a22a7f3cc332697bd434782
  Author: Marcell Leleszi <59964679+mleleszi at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/config/config.json
    M libc/docs/configure.rst

  Log Message:
  -----------
  [libc][wctype] Add cmake flag for configuring wctype implementation used (#170531)

#170525 

Based on our
[RFC](https://discourse.llvm.org/t/rfc-libc-wctype-header-implementation/88941/10),
we are starting the implementation of the wctype header with C.UTF8
support. This implementation will increase the binary size by
approximately ~70KB, so this PR introduces a flag so that this is
configurable, allowing the user to choose between a simple ASCII
implementation or the full Unicode one.


  Commit: 4f0eee3c4677e1ae49369ea6e3011520a852dc06
      https://github.com/llvm/llvm-project/commit/4f0eee3c4677e1ae49369ea6e3011520a852dc06
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M .github/workflows/issue-write.yml

  Log Message:
  -----------
  [Github] Make issue-write cat all comments

We need to cat all files that start with comments now that premerge
writes out files containing comments without that exact name.


  Commit: e8defb503d9e7a262a3b92cf6e9a0715bbfa1099
      https://github.com/llvm/llvm-project/commit/e8defb503d9e7a262a3b92cf6e9a0715bbfa1099
  Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/shared/math.h
    A libc/shared/math/expm1.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/expm1.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expm1.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][math] Refactor expm1 implementation to header-only in src/__support/math folder. (#162127)

Part of #147386

in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450


  Commit: a2a3d89e0833f545af7189aa038eb87223a3189a
      https://github.com/llvm/llvm-project/commit/a2a3d89e0833f545af7189aa038eb87223a3189a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [SLP][NFC]Hoist invariant request for user nodes out of the loop, NFC


  Commit: 5df0e258b33c70c27c3f0ee90416e199152ebcbd
      https://github.com/llvm/llvm-project/commit/5df0e258b33c70c27c3f0ee90416e199152ebcbd
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp

  Log Message:
  -----------
  [NFC][lldb][windows] refactor the referencing of STARTUPINFOW (#170669)


  Commit: 42bd2b5f80fe857ee1ab6334f7f9af5f34c97547
      https://github.com/llvm/llvm-project/commit/42bd2b5f80fe857ee1ab6334f7f9af5f34c97547
  Author: Pradeep Kumar <pradeepku at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    A mlir/test/Target/LLVMIR/nvvm/fence-invalid.mlir
    A mlir/test/Target/LLVMIR/nvvm/fence.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [mlir][NVVM] Add support for few more fence Ops (#170251)

This commit adds support for the following fence Ops:

- fence.sync_restrict
- fence.proxy.sync_restrict

The commit also moves memory.barrier into the Membar/Fence section, migrates fence.mbarrier.init to intrinsics and consolidates fence related tests under nvvm/fence.mlir and nvvm/fence-invalid.mlir


  Commit: d684cb80da7a7af074dddae0453fe1a01a68cc26
      https://github.com/llvm/llvm-project/commit/d684cb80da7a7af074dddae0453fe1a01a68cc26
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  Fix a use-after-free crash in ResetObjCLayout (#170360)

operator[] can potentially cause reallocation and invalidate live
iterators if it's called with a key that isn't present in the DenseMap.
Call lookup() instead to prevent the function from inserting new entries
into the DenseMap for ObjC classes that don't have any subclasses.

rdar://165448332


  Commit: 15d7c01f30cb86bbc2638d8dc1b98eb283d4e184
      https://github.com/llvm/llvm-project/commit/15d7c01f30cb86bbc2638d8dc1b98eb283d4e184
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst

  Log Message:
  -----------
  Fix typo; NFC

aliaes -> alias

Fixes #170673


  Commit: 09b08855698fbfedb5ad0726cb97a5dfc33ad46a
      https://github.com/llvm/llvm-project/commit/09b08855698fbfedb5ad0726cb97a5dfc33ad46a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/Transforms/GVN/assume-equal.ll
    M llvm/test/Transforms/InstCombine/ptrtoaddr.ll

  Log Message:
  -----------
  [LangRef] Specify icmp on pointers to only compare address (#163936)

This changes LangRef to specify that pointer icmp only compares the
address bits of the pointers. That is, `icmp pred %a, %b` is equivalent
to `icmp pred ptrtoaddr(%a), ptrtoaddr(%b)`.

Similarly, it specifies that the `nonnull` attribute requires that the
address bits are non-zero.

There are a couple of motivations for this:

* For inequality comparisons, this is really the only sensible
semantics. Relational comparison of address and metadata bits as a
single integer is generally meaningless (unless the metadata bits are
equal).
* This matches (as far as I understand) the behavior of existing CHERI
implementations.
* LLVM can only reason about the address bits. These semantics allow
pointers with non-address bits to receive essentially the same
comparison optimization support as ordinary pointers.

In terms of implementation, this PR adjusts:
 * The AMDGPULowerBufferFatPointers pass.
* An InstCombine fold that may replace pointers with different
non-address bits.
 * The fold that replaces pointers based on dominating pointer equality.

It does not adjust:
* ISel, because we don't have in-tree targets where we can show a
difference.
* Various icmp+ptrtoint transforms, because we'll have to change this
code for ptrtoaddr optimization support anyway, and these changes are
tightly related.

Related discussion starting from:
https://discourse.llvm.org/t/clarifiying-the-semantics-of-ptrtoint/83987/60?u=nikic


  Commit: 4c17f9b68426f1a01989bfc185ff50174d53f271
      https://github.com/llvm/llvm-project/commit/4c17f9b68426f1a01989bfc185ff50174d53f271
  Author: YongKang Zhu <yongzhu at fb.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    A bolt/test/safe-icf-relative-vtable.cpp

  Log Message:
  -----------
  [BOLT] Make safe ICF work with relative vtable (#170629)

To support relative vtable, we divide each vtable entry address by 4
instead of 8 when tracking addresses covered by vtable using bitvector.
This guarantees accuracy, saves the trouble of checking for each vtable
whether it is relative, and is also necessary for libraries for which
some contributing compilation units are compiled with relative vtable
while others are not.


  Commit: 68caa8b2ef1905673fc93c0fb8e09c9821ab6a28
      https://github.com/llvm/llvm-project/commit/68caa8b2ef1905673fc93c0fb8e09c9821ab6a28
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Parser/openmp-utils.cpp

  Log Message:
  -----------
  [flang][OpenMP] Add explicit return type to visitor function (#170677)

This fixes a build break with older compilers after PR170351.


  Commit: a77c4948a5681984accd3c6d35fb51c1c5571a50
      https://github.com/llvm/llvm-project/commit/a77c4948a5681984accd3c6d35fb51c1c5571a50
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A offload/test/offloading/fortran/target-is-device-ptr.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add lowering support for is_device_ptr clause (#169331)

Add support for OpenMP is_device_ptr clause for target directives.

[MLIR][OpenMP] Add OpenMPToLLVMIRTranslation support for is_device_ptr #169367
This PR adds support for the OpenMP is_device_ptr clause in the MLIR to LLVM IR translation for target regions. The is_device_ptr clause allows device pointers (allocated via OpenMP runtime APIs) to be used directly in target regions without implicit mapping.


  Commit: 8eb089da0746d7ab6fa934ca9f92db4ec2dff401
      https://github.com/llvm/llvm-project/commit/8eb089da0746d7ab6fa934ca9f92db4ec2dff401
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/test/lit.cfg.py
    M clang-tools-extra/clangd/test/system-include-extractor.test

  Log Message:
  -----------
  Reapply "[clangd] Enable lit internal shell by default" (#170676)

This reverts commit 4cfbc44ebe26692c209655c37aeb0b6cbf1d479b.

There was an issue setting up the PATH variable in
system-include-extractor.test which prevented chmod from being resolved.
Ubuntu 18.04 puts all the standard Linux utilities in `/bin` which sits
at the end of `$PATH` on that system. We were not removing the newline
after python's print of `$PATH`, which caused lit to not be able to
properly resolve the path.


  Commit: 4f2d20992d0ed4938956072d909679a66544ca61
      https://github.com/llvm/llvm-project/commit/4f2d20992d0ed4938956072d909679a66544ca61
  Author: David Green <david.green at arm.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/lrint-conv-fp16-win.ll
    M llvm/test/CodeGen/AArch64/lrint-conv-win.ll
    M llvm/test/CodeGen/AArch64/lround-conv-fp16-win.ll
    M llvm/test/CodeGen/AArch64/lround-conv-win.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add basic scalar handling for i32 lround and lrint (#170175)

This covers the "windows" variants, where long == i32. We can treat them
as legal and generate the expected fcvtas instruction. The
lround/llround and lrint/llrint were rejigged to allow the common parts
to legalise in the same manner.


  Commit: 87ccc55df4028cf16ed4632fb5e99fc9a6210d5e
      https://github.com/llvm/llvm-project/commit/87ccc55df4028cf16ed4632fb5e99fc9a6210d5e
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-async-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/data-construct-async-clause.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp

  Log Message:
  -----------
  [OpenACC] Adjust rules of 'routine' required clauses (#170667)

The interaction between various clauses on 'routine' was not implemented
QUITE right, as I discovered when looking into the implementation of the
ACC dialect. This patch fixes it up so that there can only be 1 of the
special clauses per device_type VALUE (including nvidia ==
    acc_device_nvidia).

This patch also does a refactor/unification of this with the rules of
other clauses, as we now know they are effectively the same.


  Commit: 4b2714f12f592ef3237056759dbe735d43fbeec1
      https://github.com/llvm/llvm-project/commit/4b2714f12f592ef3237056759dbe735d43fbeec1
  Author: Valery Dmitriev <valeryd at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang-rt/include/flang-rt/runtime/descriptor.h
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/unittests/Runtime/Descriptor.cpp
    M flang/docs/Intrinsics.md
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/module/__fortran_builtins.f90
    A flang/module/flang_debug.f90
    A flang/test/Lower/Intrinsics/show_descriptor.f90
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang/flang-rt] Implement show_descriptor intrinsic, a non-standard extension. (#170389)

This is a reapply the original patch (#169137) with the flang-rt unit
test changes limiting it to linux platform only.
Additionally accommodated style changes from Peter Klausler (#170227)
    
show_descriptor intrinsic prints details of a descriptor (extended
Fortran pointer).
It accepts a descriptor for any type and rank, including scalars.
Requires use of flang_debug module.
    
Example:
```
    program test
      use flang_debug
      implicit none
      integer :: a(4) = (/ 1,3,5,7 /)
      call show_descriptor(a(1:3))
    end program test
```    
and its output:
```
    Descriptor @ 0x7ffe01ec6a98:
      base_addr 0x563b7035103c
      elem_len  4
      version   20240719
      rank      1
      type      9 "INTEGER(kind=4)"
      attribute 0
      extra     0
        addendum  0
        alloc_idx 0
```


  Commit: 4c03b88f9592c1bc5ed06bf903a46c2c7d429bc1
      https://github.com/llvm/llvm-project/commit/4c03b88f9592c1bc5ed06bf903a46c2c7d429bc1
  Author: Ryan Mansfield <ryan_mansfield at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/tools/llvm-readobj/MachO/file-headers.test
    M llvm/tools/llvm-readobj/MachODumper.cpp

  Log Message:
  -----------
  [llvm-readobj][MachO] Add support for CPU_TYPE_ARM64_32 (#170193)

This adds support for ARM64_32 (ILP32) cpu type and subtype in
llvm-readobj --file-headers. The support was previously added for
llvm-objdump but was accidentally omitted from llvm-readobj.


  Commit: 2d4d7e369c3a349b3f023d18040819bab07299f9
      https://github.com/llvm/llvm-project/commit/2d4d7e369c3a349b3f023d18040819bab07299f9
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/docs/ReleaseNotes.md
    M flang/docs/ReleaseNotesTemplate.txt

  Log Message:
  -----------
  [flang][docs] Tweak in-progress warning in the release notes page

Reformat the in-progress warning message in the release notes page. This
is now rendered in a style similar to that of clang. The warning will
be hidden on release builds of the documentation.


  Commit: b109bf59831cba0a89e868d8cd725ba007d929d3
      https://github.com/llvm/llvm-project/commit/b109bf59831cba0a89e868d8cd725ba007d929d3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-sub-usat.ll

  Log Message:
  -----------
  [X86] combine-sub-usat.ll - add test coverage inspired by #170076 (#170681)


  Commit: 62832593b7df2dffaacce6a21c0ca549badf97cc
      https://github.com/llvm/llvm-project/commit/62832593b7df2dffaacce6a21c0ca549badf97cc
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp

  Log Message:
  -----------
  DAG: Use more RTLIB helper functions for getting libcall from type (#170563)

We had a set of utilities which was only used for some set of
floating point libcalls. Add more, most of which are for integer
operations.

Ideally we would generate these functions from tablegen.


  Commit: ac56d6ea28374fa241834e0e9a0ac61010063b23
      https://github.com/llvm/llvm-project/commit/ac56d6ea28374fa241834e0e9a0ac61010063b23
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp

  Log Message:
  -----------
  DAG: Avoid using getLibcallName for function support test (#170583)


  Commit: 4424a587be23b0e1d602b1fa9716fad7c0cbc409
      https://github.com/llvm/llvm-project/commit/4424a587be23b0e1d602b1fa9716fad7c0cbc409
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/docs/CodeReview.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/Lexicon.rst
    A llvm/docs/RFCProcess.rst
    M llvm/docs/index.rst

  Log Message:
  -----------
  Document the community RFC process (#116386)

This adds documentation about how the community RFC process works, based
on how the community typically runs RFCs. The goal is to roughly
document the process as-is and then post a follow-up explaining how the
new governance model ties in to the RFC process. From there, we can
discuss any changes to the process we would like to make via... an RFC.


  Commit: 64e19916f9518709562ef41e236c1dba6c421782
      https://github.com/llvm/llvm-project/commit/64e19916f9518709562ef41e236c1dba6c421782
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/Terminal.h
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Terminal.cpp

  Log Message:
  -----------
  [lldb] improve the heuristics for checking if a terminal supports Unicode (#168603)

This patch improves the way lldb checks if the terminal it's opened in
(if any) supports Unicode or not.

On POSIX systems, we check if `LANG` contains `UTF-8`.

On Windows, we always return `true` since we use the `WriteToConsoleW`
api.


  Commit: 222eb256a0abec69c9b4cf3a1fb4b682beb6c288
      https://github.com/llvm/llvm-project/commit/222eb256a0abec69c9b4cf3a1fb4b682beb6c288
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferAttrs] Mark ceil and round as memory(none) (#170694)

This probably should've been done in
https://github.com/llvm/llvm-project/pull/124742, but it wasn't. The
floor, ceil, round, and trunc family of functions all behave the same.


  Commit: 0378f0ce8f889399f4b93f66a8c28a3daf5e1d3b
      https://github.com/llvm/llvm-project/commit/0378f0ce8f889399f4b93f66a8c28a3daf5e1d3b
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-doc/enum.cpp

  Log Message:
  -----------
  [clang-doc] Add Mustache output to enum tests (#170195)


  Commit: 5c659c917a7721eaf6ec391df2d5263d00793aaf
      https://github.com/llvm/llvm-project/commit/5c659c917a7721eaf6ec391df2d5263d00793aaf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  AMDGPU: Create a dummy call sequence when emitting call error (#170656)

At least one special case call lowering tries to parse the call
sequence and asserts when it can't find a callseq_end.


  Commit: f290bf9e7ea42c9668477e97328730d0d14095a2
      https://github.com/llvm/llvm-project/commit/f290bf9e7ea42c9668477e97328730d0d14095a2
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    A llvm/test/Transforms/InstSimplify/ConstProp/roundeven.ll

  Log Message:
  -----------
  [InstSimplify] Add roundeven constant-propagation tests (#170688)

The libcall versions will later be optimized and constant-folded.


  Commit: 55397cc8aacba803202cba977b81f5f6b452e17b
      https://github.com/llvm/llvm-project/commit/55397cc8aacba803202cba977b81f5f6b452e17b
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/assets/enum-template.mustache
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/mustache-index.cpp

  Log Message:
  -----------
  [clang-doc] Fix enum partial indentation (#170196)


  Commit: 1c72c90b8acd2069588eba0c568d5ffa2f6db2e9
      https://github.com/llvm/llvm-project/commit/1c72c90b8acd2069588eba0c568d5ffa2f6db2e9
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferAttrs] Handle roundeven like other libm functions (#170691)

It was previously missing entirely. It behaves like floor, ceil, round,
and trunc, having no side effects.


  Commit: cf7c255b10dcfd4cc7f9cba155791eeb3cff4650
      https://github.com/llvm/llvm-project/commit/cf7c255b10dcfd4cc7f9cba155791eeb3cff4650
  Author: Lucie Choi <clucie at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    A llvm/test/Transforms/JumpThreading/skip-merging-duplicate-convergence-intrinsics.ll

  Log Message:
  -----------
  [JumpThread] Fix `JumpThreading` pass to skip merging when both blocks contain convergence loop/entry intrinsics. (#170247)

Fixes: https://github.com/llvm/llvm-project/issues/165642. After this
fix, optimization passes for the example in the bug.

[LLVM
Spec](https://llvm.org/docs/ConvergentOperations.html#llvm-experimental-convergence-loop)
states that only a single loop / entry convergence token can be included
in a basic block.

This PR fixes the issue in `JumpThreading` pass so that when a basic
block and its predecessor both contain such convergence intrinsics, it
skips merging the two blocks.


  Commit: 1d84c891e10aecd83e66f18fc4f23ef8c1430ad0
      https://github.com/llvm/llvm-project/commit/1d84c891e10aecd83e66f18fc4f23ef8c1430ad0
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/test/clang-doc/DR-131697.cpp

  Log Message:
  -----------
  [clang-doc] Add Mustache case to test for DR 131697 (#170197)

The test for DR 131697 only requires that clang-doc doesn't crash. There
is no documentation created. However, when using Mustache, clang-doc
still expects certain
paths to exist, like the directory where assets are placed. In legacy
HTML, the `docs` directory is still created and assets are placed there
regardless of there being any Infos to document. Mustache didn't do
this, so now we create `docs/json` and `docs/html` even if there is
nothing to document.


  Commit: 203cd83feb304146226bf28d0788c97160f45370
      https://github.com/llvm/llvm-project/commit/203cd83feb304146226bf28d0788c97160f45370
  Author: Erick Velez <erickvelez7 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp

  Log Message:
  -----------
  [clang-doc] Add Mustache case to assets test (#170198)

Mustache wasn't tested in the assets lit test, which tests if
user-supplied assets are copied correctly. The Mustache HTML backend
initialy failed this test because it expected every asset, which
included Mustache templates, to be supplied. For now, we just expect
either CSS or JS to be supplied and use the default if one of them isn't
given.

We can allow custom templates in the future using the same checks.


  Commit: 8701c2a9106bcf4b9c1178125b56958f9aab7faf
      https://github.com/llvm/llvm-project/commit/8701c2a9106bcf4b9c1178125b56958f9aab7faf
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/docs/configure.rst
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    A libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  Refactor WIDE_READ to allow finer control over high-performance function selection (#165613)

[This is more of a straw-proposal than a ready-for-merging PR. I got
started thinking about what this might look like, and ended up just
implementing something as a proof-of-concept. Totally open to other
methods an ideas.]

As we implement more high-performance string-related functions, we have
found a need for better control over their selection than the big-hammer
LIBC_CONF_STRING_LENGTH_WIDE_READ. For example, I have a memchr
implementation coming, and unless I implement it in every variant, a
simple binary value doesn't work.

This PR makes gives finer-grained control over high-performance
functions than the generic LIBC_CONF_UNSAFE_WIDE_READ option. For any
function they like, the user can now select one of four implementations
at build time:

1. element, which reads byte-by-byte (or wchar by wchar)
2. wide, which reads by unsigned long
3. generic, which uses standard clang vector implemenations, if
available
4. arch, which uses an architecture-specific implemenation

(Reading the code carefully, you may note that a user can actually
specify any namespace they want, so we aren't technically limited to
those 4.)

We may also want to switch from command-line #defines as it is currently
done, to something more like
llvm-project/llvm/include/llvm/Config/llvm-config.h.cmake, and
#including the resulting file, which would move quite a bit of
complexity out of the command-line. But that's a future problem.


  Commit: 01737c1fd1d61567b7261912f23f5aca2b38670d
      https://github.com/llvm/llvm-project/commit/01737c1fd1d61567b7261912f23f5aca2b38670d
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [Flang][OpenMP] Only allow implicit mappers for Allocatables. (#170701)

Generate implicit declare mappers only for Allocatables.

Fixes #169382 introduced by #140562.


  Commit: 4e5b114ce286f013de276b11f238230674d4b33a
      https://github.com/llvm/llvm-project/commit/4e5b114ce286f013de276b11f238230674d4b33a
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/docs/configure.rst
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    R libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  Revert "Refactor WIDE_READ to allow finer control over high-performance function selection" (#170717)

Reverts llvm/llvm-project#165613

Breaks build bot


  Commit: 08c2a86441eb91a9df4d473831b023b373c59a9c
      https://github.com/llvm/llvm-project/commit/08c2a86441eb91a9df4d473831b023b373c59a9c
  Author: AIT <45133884+GeneraluseAI at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c

  Log Message:
  -----------
  [CIR][X86] Implement lowering for AVX512 ktest builtins (#169985)

part of [#167765](https://github.com/llvm/llvm-project/issues/167765)
This is a follow-up patch to continue the work from
<[#169774](https://github.com/llvm/llvm-project/pull/169774)>.
It builds on the previous lowering infrastructure and extends support to
the AVX512 ktest builtins.


  Commit: 95f6b3ebc8289b6c925da9f884341698350de233
      https://github.com/llvm/llvm-project/commit/95f6b3ebc8289b6c925da9f884341698350de233
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/Terminal.h
    M lldb/source/Host/common/DiagnosticsRendering.cpp
    M lldb/source/Host/common/Terminal.cpp

  Log Message:
  -----------
  Revert "[lldb] improve the heuristics for checking if a terminal supports Unicode (#168603) (#170711)

This reverts commit 64e19916f9518709562ef41e236c1dba6c421782.

https://github.com/llvm/llvm-project/pull/168603 breaks the CI because
the bots support Unicode but the tests expect non Unicode characters.


  Commit: ed6078c02368e0f2cf4025f1f03f27f00b4d6b5c
      https://github.com/llvm/llvm-project/commit/ed6078c02368e0f2cf4025f1f03f27f00b4d6b5c
  Author: Finn Plummer <mail at inbelic.dev>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll

  Log Message:
  -----------
  [NFC] Add missing analysis to `DirectX/llc-pipeline` (#170714)

The Runtime Library Function Analysis pass was added in
https://github.com/llvm/llvm-project/pull/168622 but the backend test
case was not updating accordingly.


  Commit: 78ab38996d3fe0caef155d469f53c30420b39e3b
      https://github.com/llvm/llvm-project/commit/78ab38996d3fe0caef155d469f53c30420b39e3b
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'gang' lowering on `routine' (#170506)

This is a bit more work than the worker/vector/seq in that gang takes an
optional `dim` argument. The argument is always 1, 2, or 3 (constants!),
and the other argument-types that gang allows elsewhere aren't valid
here.

For the IR, we had to add 2 overloads of `addGang`. The first just adds
the 'valueless' one, which can just add to the one ArrayAttr. The second
has to add to TWO lists.

Note: The standard limits to only 1 `gang` per construct. We decided
after evaluating it, that it really means 'per device-type region'.
However, device_type isn't implemented yet, so we'll add tests for that
when we do.

At the moment, we added the device_type infrastructure however.


  Commit: 0c31da1a07197064bf01da75e3c74d4fc339b9ce
      https://github.com/llvm/llvm-project/commit/0c31da1a07197064bf01da75e3c74d4fc339b9ce
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [CI] Report real results for aarch64 (#170535)

https://discourse.llvm.org/t/rfc-display-true-result-for-aarch64-pre-commit-ci/88928


  Commit: 0b252daf64153f57203f19aa9ea13a3d72058b19
      https://github.com/llvm/llvm-project/commit/0b252daf64153f57203f19aa9ea13a3d72058b19
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    A llvm/test/CodeGen/SystemZ/args-22.ll

  Log Message:
  -----------
  [SystemZ] Handle IR struct arguments correctly. (#169583)

- The size of the stack slot was previously computed in LowerCall() by using
  the original type, but that didn't work for a struct. Compute the size
  by looking at the VT of each part and the number of them instead.

- All the members of a struct have the same OrigArgIndex, so it doesn't work
  to assume that following parts belong to a split argument until another
  OrigArgIndex is encountered. Use the isSplit() and isSplitEnd() flags
  instead.

- Detect any scalar integer argumet >64 bits in CanLowerReturn() instead of
  just i128, in order to let all of them be passed on stack.
  
Fixes #168460


  Commit: ef58670f033b257903b7494be3bc80301c7b2c95
      https://github.com/llvm/llvm-project/commit/ef58670f033b257903b7494be3bc80301c7b2c95
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  Revert [VPlan] Consolidate logic for narrowToSingleScalars (#170720)

This reverts commit 7b3ec51, as a crash was reported:
https://llvm.godbolt.org/z/dK6ff5zvr -- this will give us time to
investigate a re-land.


  Commit: d5072b94ddc0e9311b67fe4742857c7d2f306e9a
      https://github.com/llvm/llvm-project/commit/d5072b94ddc0e9311b67fe4742857c7d2f306e9a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/rv32zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64zbkb.ll

  Log Message:
  -----------
  [RISCV] Select (and (shl X, 8), 0xff00) -> (packh zero, X) (#170654)

Similar transforms with "pack" and "packw" are not useful:
(pack  zero, X) == (slli  X, XLEN/2)
(packw zero, X) == (slliw X, 16)


  Commit: 78ee4a59764720875f51ccfb8086c656e745bec6
      https://github.com/llvm/llvm-project/commit/78ee4a59764720875f51ccfb8086c656e745bec6
  Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    A llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll

  Log Message:
  -----------
  [HEXAGON] [MachinePipeliner] Fix the DAG in case of dependent phis. (#135925)

This change corrects the scheduling relationship between dependent PHI
nodes. Previously, the implementation treated SU1 as the successor of
SU0. In reality, SU0 should depend on SU1, not the other way around.
The incorrect ordering could cause SU0 to be scheduled before SU1, which
leads to invalid IR: subsequent instructions may reference values that
have not yet been defined.

%3:intregs = PHI %21:intregs, %bb.6, %7:intregs, %bb.1 - SU0 %7:intregs
= PHI %21:intregs, %bb.6, %13:intregs, %bb.1 - SU1 %27:intregs = A2_zxtb
%3:intregs - SU2
%13:intregs = C2_muxri %45:predregs, 0, %46:intreg

Co-Authored by: Sumanth Gundapaneni


  Commit: daab9dd161d72e2d6bd8cf081563eaeef744bb63
      https://github.com/llvm/llvm-project/commit/daab9dd161d72e2d6bd8cf081563eaeef744bb63
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/AST/TypeBase.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp

  Log Message:
  -----------
  [NFC][clang] Remove extra `To` in method name (#170723)

`hasPointeeToToCFIUncheckedCalleeFunctionType` ->
`hasPointeeToCFIUncheckedCalleeFunctionType`


  Commit: e73b8036f82b70117c4707378018e354fd6aeae0
      https://github.com/llvm/llvm-project/commit/e73b8036f82b70117c4707378018e354fd6aeae0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.h

  Log Message:
  -----------
  [flang][OpenMP] Extract check into separate function, NFC (#170728)


  Commit: edbf154d16a346bd7659a565dead173846871d2f
      https://github.com/llvm/llvm-project/commit/edbf154d16a346bd7659a565dead173846871d2f
  Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [flang] [acc] Remove dead code after acc cache directive TODO (#170729)

Remove unreachable code after the TODO in the acc cache directive
lowering function.


  Commit: 2a10e91d8f2edf20bb0e6680e668b327334dc6e8
      https://github.com/llvm/llvm-project/commit/2a10e91d8f2edf20bb0e6680e668b327334dc6e8
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/test/CIR/CodeGen/globals.cpp
    M flang/test/Fir/global.fir
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR] Zero-extend unsigned and 1-bit values when translating IntegerAttr (#169751)

This updates the LLVM IR ConstantInt creation from mlir::IntegerAttr so
that unsigned integers and 1-bit integers are zero-extended rather than
sign-extended.


  Commit: 097e0e116aa42f114d6e7dd166069f90d85cce97
      https://github.com/llvm/llvm-project/commit/097e0e116aa42f114d6e7dd166069f90d85cce97
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-sink-defs-to-uses.ll
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/DeltaPasses.def
    A llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.h
    M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn

  Log Message:
  -----------
  llvm-reduce: Add pass to sink defs to uses (#170317)

The intent is to reduce live ranges and reduce
the impact on later scheduling on the testcase.


  Commit: 00c51ecc934b3b81a4c99efd7b8a5c5c01ad802b
      https://github.com/llvm/llvm-project/commit/00c51ecc934b3b81a4c99efd7b8a5c5c01ad802b
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td

  Log Message:
  -----------
  [CIR][NFC] Add an example to FloorOp (#170709)


  Commit: 67307c8313958af036e368387075960910c87bed
      https://github.com/llvm/llvm-project/commit/67307c8313958af036e368387075960910c87bed
  Author: Vishruth Thimmaiah <vishruththimmaiah at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/xop-builtins.c

  Log Message:
  -----------
  [CIR][X86] Add support for `vpcom` builtins (#170362)

Adds support for the `__builtin_ia32_vpcom` and `__builtin_ia32_vpcomu`
X86 builtins.

Part of #167765

---------

Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>


  Commit: a992f29451b9e140424f35ac5e20177db4afbdc0
      https://github.com/llvm/llvm-project/commit/a992f29451b9e140424f35ac5e20177db4afbdc0
  Author: PMylon <pmylon20 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll

  Log Message:
  -----------
  [AMDGPU] Emit amdgpu.max_num_named_barrier resource symbol (#169851)


  Commit: 41f643ab7e2e6c921f06e815f2944e7ad6a825e7
      https://github.com/llvm/llvm-project/commit/41f643ab7e2e6c921f06e815f2944e7ad6a825e7
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    A lldb/test/API/python_api/sblineentry/TestSBLineEntry.py

  Log Message:
  -----------
  [lldb] Add support for synthetic LineEntry objects without valid address ranges (#158811)

Scripted frames that materialize Python functions are PC-less by design,
meaning they don't have valid address ranges. Previously,
LineEntry::IsValid()
required both a valid address range and a line number, preventing
scripted
frames from creating valid line entries for these synthetic stack
frames.

Relaxing this requirement is necessary since
`SBSymbolContext::SetLineEntry`
will first check if the LineEntry is valid and discard it otherwise.

This change introduces an `synthetic` flag that gets set when LineEntry
objects are created or modified through the SBAPI (specifically via
SetLine).
When this flag is set, IsValid() no longer requires a valid address
range,
only a valid line number.

This is risk-free because the flag is only set for LineEntry objects
created
through the SBAPI, which are primarily used by scripted processes and
frames.
Regular debug information-derived line entries continue to require valid
address ranges.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: afc0fb87b0f94a60e3ec2e657264cdfc358257a9
      https://github.com/llvm/llvm-project/commit/afc0fb87b0f94a60e3ec2e657264cdfc358257a9
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    M flang/test/Parser/OpenMP/declare-reduction-operator.f90
    M flang/test/Parser/OpenMP/declare-variant.f90
    M flang/test/Parser/OpenMP/defaultmap-unparse.f90
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/interop-construct.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Parser/OpenMP/master-unparse.f90
    M flang/test/Parser/acc-data-statement.f90
    M flang/test/Parser/assume-aligned.f90
    M flang/test/Parser/compiler-directives.f90
    M flang/test/Preprocessing/compiler_defined_macros.F90
    M flang/test/Preprocessing/pp132.f90
    M flang/test/Semantics/Inputs/modfile73-a.f90
    M flang/test/Semantics/Inputs/modfile73-b.f90
    M flang/test/Semantics/Inputs/modfile73-c.f90

  Log Message:
  -----------
  [flang][NFC] Strip trailing whitespace from tests (10 of N)

Only some fortran source files in flang/test/Parser/OpenMP have been
modified. The remaining files will be cleaned up in subsequent commits.


  Commit: 3c2e5d50cadf1644b30d42a23d14b0e20f7669a8
      https://github.com/llvm/llvm-project/commit/3c2e5d50cadf1644b30d42a23d14b0e20f7669a8
  Author: Adel Ejjeh <aejjeh at illinois.edu>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll

  Log Message:
  -----------
  [AMDGPU] Update log lowering to remove contract for AMDGCN backend (#168916)

## Problem Summary

PyTorch's `test_warp_softmax_64bit_indexing` is failing with a numerical
precision error where `log(1.1422761679)` computed with 54% higher error
than expected (9.042e-09 vs 5.859e-09), causing gradient computations to
exceed tolerance thresholds. This precision degradation was reproducible
across all AMD GPU architectures (gfx1100, gfx1200, gfx90a, gfx950). I
tracked down the problem to the commit **4703f8b6610a** (March 6, 2025)
which changed HIP math headers to call `__builtin_logf()` directly
instead of `__ocml_log_f32()`:

```diff
- float logf(float __x) { return __FAST_OR_SLOW(__logf, __ocml_log_f32)(__x); }
+ float logf(float __x) { return __FAST_OR_SLOW(__logf, __builtin_logf)(__x); }
```

This change exposed a problem in the AMDGCN back-end as described below:

## Key Findings

**1. Contract flag propagation:** When `-ffp-contract=fast` is enabled
(default for HIP), Clang's CodeGen adds the `contract` flag to all
`CallInst` instructions within the scope of `CGFPOptionsRAII`, including
calls to LLVM intrinsics like `llvm.log.f32`.

**2. Behavior change from OCML to builtin path:**
- **Old path** (via `__ocml_log_f32`): The preprocessed IR showed the
call to the OCML library function had the contract flag, but the OCML
implementation internally dropped the contract flag when calling the
`llvm.log.f32` intrinsic.
```llvm
; Function Attrs: alwaysinline convergent mustprogress nounwind
define internal noundef float @_ZL4logff(float noundef %__x) #6 {
entry:
  %retval = alloca float, align 4, addrspace(5)
  %__x.addr = alloca float, align 4, addrspace(5)
  %retval.ascast = addrspacecast ptr addrspace(5) %retval to ptr
  %__x.addr.ascast = addrspacecast ptr addrspace(5) %__x.addr to ptr
  store float %__x, ptr %__x.addr.ascast, align 4, !tbaa !23
  %0 = load float, ptr %__x.addr.ascast, align 4, !tbaa !23
  %call = call contract float @__ocml_log_f32(float noundef %0) #23
  ret float %call
}

; Function Attrs: convergent mustprogress nofree norecurse nosync nounwind willreturn memory(none)
define internal noundef float @__ocml_log_f32(float noundef %0) #7 {
  %2 = tail call float @llvm.log.f32(float %0)
  ret float %2
}
```
- **New path** (via `__builtin_logf`): The call goes directly to
`llvm.log.f32` intrinsic with the contract flag preserved, causing the
backend to apply FMA contraction during polynomial expansion.
```llvm
; Function Attrs: alwaysinline convergent mustprogress nounwind
define internal noundef float @_ZL4logff(float noundef %__x) #6 {
entry:
  %retval = alloca float, align 4, addrspace(5)
  %__x.addr = alloca float, align 4, addrspace(5)
  %retval.ascast = addrspacecast ptr addrspace(5) %retval to ptr
  %__x.addr.ascast = addrspacecast ptr addrspace(5) %__x.addr to ptr
  store float %__x, ptr %__x.addr.ascast, align 4, !tbaa !24
  %0 = load float, ptr %__x.addr.ascast, align 4, !tbaa !24
  %1 = call contract float @llvm.log.f32(float %0)
  ret float %1
}
```
**3. Why contract breaks log:** Our AMDGCM target back end implements
the natural logarithm by taking the result of the hardware log, then
multiplying that by `ln(2)`, and applying some rounding error correction
to that multiplication. This results in something like:
```c
r = y * c1; // y is result of v_log_ instruction, c1 = ln(2)
r = r + fma(y, c2, fma(y, c1, -r)) // c2 is another error-correcting constant
```
```asm
  v_log_f32_e32 v1, v1
  s_mov_b32 s2, 0x3f317217
  v_mul_f32_e32 v3, 0x3f317217, v1
  v_fma_f32 v4, v1, s2, -v3
  v_fmac_f32_e32 v4, 0x3377d1cf, v1
  v_add_f32_e32 v3, v3, v4
```
With the presence of the `contract` flag, the back-end fuses the add (`r
+ Z`) with the multiply thinking that it is legal, thus eliminating the
intermediate rounding. The error compensation term, which was calculated
based on the rounded product, is now being added to the full-precision
result from the FMA, leading to incorrect error correction and degraded
accuracy. The corresponding contracted operations become the following:
```c
r = y * c1;
r = fma(y, c1, fma(y, c2, fma(y, c1, -r)));
```
```asm
  v_log_f32_e32 v1, v1
  s_mov_b32 s2, 0x3f317217
  v_mul_f32_e32 v3, 0x3f317217, v1
  v_fma_f32 v3, v1, s2, -v3
  v_fmac_f32_e32 v3, 0x3377d1cf, v1
  v_fmac_f32_e32 v3, 0x3f317217, v1
```

## Solution and Proposed Fix

Based on our implementation of `llvm.log` and `llvm.log10`, it should be
illegal for the back-end to propagate the `contract` flag when it is
present on the intrinsic call because it uses error-correcting
summation. My proposed fix is to modify the instruction selection passes
(both global-isel and sdag) to drop the `contract` flag when lowering
llvm.log. That way, when the instruction selection performs the
contraction optimization, it will not fuse the multiply and add.

Note: I had originally implemented this fix in the FE by removing the
`contract` flag when lowering the llvm.log builtin (PR #168770). I have
since closed that PR.


  Commit: 1295e87fea7b2e34efc368eee2008501502be9c3
      https://github.com/llvm/llvm-project/commit/1295e87fea7b2e34efc368eee2008501502be9c3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py

  Log Message:
  -----------
  [CI] Parse preceeding lines in mismatched failure messages (#170703)

In some cases ninja will emit FAILED: lines that are not immediately
after a progress indicator. In these cases we also want to capture the
preceeding context up to the last progress indicator as it is also part
of the error message in the cases that we have seen.

This fixes the rest of #165131.


  Commit: 4b4294473280a8e37d818a9362e33544799cb4e4
      https://github.com/llvm/llvm-project/commit/4b4294473280a8e37d818a9362e33544799cb4e4
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/ProfileVerify.h
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
    M llvm/test/Transforms/PGOProfile/prof-verify.ll
    A llvm/test/Transforms/PGOProfile/profcheck-llvm.global_ctors.ll
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [profcheck] Don't verify generated global ctors/dtors (#170597)

Functions listed in `llvm.global_ctors` or `llvm.global_dtors` aren't too interesting for performance. Passes like LowerTypeTests synthesize some of these, and, while we could add a "0" entry count explicitly, we can also just not bother verifying in the first place.


  Commit: c456fd83f25276cf5819c2dafc687c78f03b2ab5
      https://github.com/llvm/llvm-project/commit/c456fd83f25276cf5819c2dafc687c78f03b2ab5
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp

  Log Message:
  -----------
  [CIR] Upstream framework for NRVO cleanup (#170569)

This upstreams the framework code to handle NRVO cleanup. At this point
the implementation follows the incubator in not performing the actual
cleanup, but it populates the EH stack so that the cleanup can be done.

This inserts a flag variable that tracks whether we are performing an
NRVO return. Classic codegen checks this variable and calls a destructor
if it is not set during normal cleanup. The check and destructor call
are not yet implemented here.


  Commit: f02dc4d19869f91ac967f231abb35e221efba357
      https://github.com/llvm/llvm-project/commit/f02dc4d19869f91ac967f231abb35e221efba357
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll

  Log Message:
  -----------
  [VPlan] Don't try to hoist multi-defs for first-order recurrences.

Currently the hoisting implementation expects single-defs. Bail out on
multi-defs (VPInterleaveRecipe), to fix an assertion.

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


  Commit: c19e0b2c20f0c8a39dcaba8f38b597ca77999639
      https://github.com/llvm/llvm-project/commit/c19e0b2c20f0c8a39dcaba8f38b597ca77999639
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp

  Log Message:
  -----------
  [StatusOr] [10/N] Add support for absl CHECK macros (#169749)


  Commit: 87e14f58ad0dae4eef6acea8fa92ec967e083db9
      https://github.com/llvm/llvm-project/commit/87e14f58ad0dae4eef6acea8fa92ec967e083db9
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/CFIInstrInserter.cpp

  Log Message:
  -----------
  [CodeGen] Minor refactor of CSRSavedLocation struct [nfc] (#170721)

Add operator==, clarify invariants with an assert.  

This does convert one llvm_unreachable into an assert which runs earlier
in the computation. I don't believe the difference is observable outside
debug builds, and should report the fault closer to introduction.


  Commit: 27c4520dc25747703567d68d3704c9b9cc644163
      https://github.com/llvm/llvm-project/commit/27c4520dc25747703567d68d3704c9b9cc644163
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/Tooling/DependencyScannerTest.cpp

  Log Message:
  -----------
  [clang][deps] Simplify namespaces (#170742)


  Commit: da4ea75336a55402797a7f10805ef5e2cd5fe9de
      https://github.com/llvm/llvm-project/commit/da4ea75336a55402797a7f10805ef5e2cd5fe9de
  Author: n2h9 <13541181+n2h9 at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/source/Core/Disassembler.cpp

  Log Message:
  -----------
  [lldb] [disassembler] chore: enhance VariableAnnotator to return structured data: introduce VariableAnnotator::AnnotateStructured method (#169408)

## Description
Contribution to this topic [Rich Disassembler for
LLDB](https://discourse.llvm.org/t/rich-disassembler-for-lldb/76952),
this part.
```
The rich disassembler output should be exposed as structured data and made available through LLDB’s scripting API so more tooling could be built on top of this
```

----

This pr introduces new method `AnnotateStructured` in
`VariableAnnotator` class, which returns the result as a vector of
`VariableAnnotation` structured data, compared to original `Annotate`.

Additionally structured data is enhanced with information inferred from
`DWARFExpressionEntry` and variable declaration data.

I have moved this part of functionality form a bigger pr
https://github.com/llvm/llvm-project/pull/165163 to make it easier to
review, deliver smaller chunk faster in an incremental way.

## Testing
Run test with
```sh
./build/bin/lldb-dotest -v -p TestVariableAnnotationsDisassembler.py lldb/test/API/functionalities/disassembler-variables
```

all tests (9 existing) are passing.

<details>
<summary>screenshot 2025-11-24</summary>
<img width="1344" height="875" alt="screenshot"
src="https://github.com/user-attachments/assets/863e0fca-1e3e-43dc-bfa3-4b78ce287ae6"
/>
</details>


<details>
<summary>screenshot 2025-11-26</summary>
<img width="1851" height="865" alt="image"
src="https://github.com/user-attachments/assets/d47dacee-a679-4a49-ab22-efb5a16fe29c"
/>
</details>

<details>
<summary>screenshot 2025-12-03</summary>
<img width="1592" height="922" alt="Screenshot From 2025-12-03 22-11-30"
src="https://github.com/user-attachments/assets/957ded3d-bea1-43d0-8241-d342dfc2c7b0"
/>
</details>

---------

Signed-off-by: Nikita B <n2h9z4 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 72938d56eacb62a1f7858ce04a5a5b90ce88894d
      https://github.com/llvm/llvm-project/commit/72938d56eacb62a1f7858ce04a5a5b90ce88894d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir

  Log Message:
  -----------
  [RISCV] Use a valid AVL immediate in allone-masked-to-unmasked.mir. NFC (#170747)

AVL operands should be a register, a uimm5, or -1.


  Commit: 0e0c0b7651e833ed67cfedf1b4805717fa24789b
      https://github.com/llvm/llvm-project/commit/0e0c0b7651e833ed67cfedf1b4805717fa24789b
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h

  Log Message:
  -----------
  [lldb/ScriptInterpreter] Fix typo in GetScriptedModulePath (NFC)

This fixes a typo in `ScriptedPythonInterface::GetScriptedModulePath`.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: f9c2117b860e4b56f37be3c7c5f736065139eb12
      https://github.com/llvm/llvm-project/commit/f9c2117b860e4b56f37be3c7c5f736065139eb12
  Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    A mlir/test/Dialect/OpenACC/recipe-populate-private-from-firstprivate.mlir
    M mlir/test/lib/Dialect/OpenACC/TestRecipePopulate.cpp

  Log Message:
  -----------
  [acc] Add an API to make private recipes out of firstprivate recipes  (#170588)

In cases of optimizations promoting firstprivate to private, this API
would be useful.


  Commit: b4194f0f5a83bb634e4f09c361f200673e8c4542
      https://github.com/llvm/llvm-project/commit/b4194f0f5a83bb634e4f09c361f200673e8c4542
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libcxx/utils/libcxx/test/modules.py

  Log Message:
  -----------
  [libc++] Fix module_std_compat.sh.cpp with new versions of clang-tidy (#170446)

clang-tidy doesn't run checks anymore in system headers by default in
new versions to reduce runtime. In this case it's problematic, since we
want to check system headers.


  Commit: e079fdfdb15587049a8c581e0c1e1b017e432995
      https://github.com/llvm/llvm-project/commit/e079fdfdb15587049a8c581e0c1e1b017e432995
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M utils/bazel/configure.bzl

  Log Message:
  -----------
  [bazel][NFC] Avoid set for older bazel versions (#170758)

The `set` type is only available on Bazel 8.1, which is newer than some
projects. This gives some time for downstream users of LLVM to migrate
to Bazel 8.1 or newer.

e.g.
https://github.com/openxla/xla/actions/runs/19943322161/job/57186478292


  Commit: 4b5483689202b4253d724d6400d25f5222332a38
      https://github.com/llvm/llvm-project/commit/4b5483689202b4253d724d6400d25f5222332a38
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/lib/Tools/PDLL/AST/Context.cpp
    R mlir/lib/Tools/PDLL/AST/TypeDetail.h
    M mlir/lib/Tools/PDLL/AST/Types.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [PDLL] Collapse TypeDetail.h into Types.h (#170341)

This allows this code to be compiled with `MLIR_USE_FALLBACK_TYPE_IDS=1`
which is used to solve TypeID issues across different DSOs. This Types.h
is only included in a few tools so the impact of this header being
larger should be limited.


  Commit: 9c273dc626f3585dff3093bf99c0045b9bc41d19
      https://github.com/llvm/llvm-project/commit/9c273dc626f3585dff3093bf99c0045b9bc41d19
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Correct the register class for the VL op check in RISCVInstrInfo::verifyInstruction. (#170751)

The VL operand cannot be X0. We represent VLMAX with -1.


  Commit: 47de55f28438a4a3c3c96157fba66694587d8040
      https://github.com/llvm/llvm-project/commit/47de55f28438a4a3c3c96157fba66694587d8040
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Minor code refactoring. NFC (#170746)


  Commit: 6969ac83e29452cdd8440dcd8f38641ece0b2152
      https://github.com/llvm/llvm-project/commit/6969ac83e29452cdd8440dcd8f38641ece0b2152
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp

  Log Message:
  -----------
  [RISCV] Make RISCVInstrInfo::verifyInstruction stricter for immediate-only operands (#170736)

Most of the immediate operands can only be an immediate, but we were
allowing any non-register operand.

Split the immediate-only from the immediate or non-register operands.
The non-register cases could be made even stricter, but I'll leave that
as a TODO.


  Commit: e209b8bc2f87d53dc9003f7f09ce14b61894bf6c
      https://github.com/llvm/llvm-project/commit/e209b8bc2f87d53dc9003f7f09ce14b61894bf6c
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][AMDGPU] Rename gfx1250 packed extension ops, change firstScaleLane (#170718)

The current name of scaled_ext_packed816 was, in retrospect, bothering
me, since it just has a bunch of numbers on the end and doesn't really
reflect the wave-wide nature of the operation.

On top of that, the fact that firstScaleLane was 0 or 1, which might be
read as the first lane being 1 (and not what it actually was, 16), also
seemed weird.

Therefore, before this op sees any use,

1. Renaem it to scaled_ext_packed_matrix
2. Change the semantics of firstScaleLane to actually point at the lane
where the scales start (valid options currently are 0 or 16, the two
halves of a wave32 wave).

(Disclaimer: the mechanical updates were done via AI.)

---------

Co-authored-by: Erick Ochoa Lopez <eochoalo at amd.com>


  Commit: 5ca53a25678f9304777264689f7a90c0ebdf87a7
      https://github.com/llvm/llvm-project/commit/5ca53a25678f9304777264689f7a90c0ebdf87a7
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp

  Log Message:
  -----------
  [ORC] Add synchronous helper APIs to CallViaEPC.h (#170743)

This commit adds synchronous variants of callViaEPC and associated APIs
( EPCCaller, EPCCall), that take a promise as their first argument and
block on the resulting future, returning a result. The promise object is
passed to the asynchronous variant of callViaEPC to make the call.

The type of the promise argument is a template parameter, so types other
than std::promise may be used. The promise type must provide a
`get_future` operation to get a future for the result, and the future
type must provide a `get` operation to wait on the result (compatible
with std::promise / std::future).

The value type of the promise must be Expected<T> or Error, and
determines the return type of the synchronous call. E.g.

```
Expected<int32_t> Result =
    callViaEPC(std::promise<Expected<int32_t>>(), EPC, Serializer, Args...);
```


  Commit: 997f981d713fff4258198c75b2665edb420c3ba0
      https://github.com/llvm/llvm-project/commit/997f981d713fff4258198c75b2665edb420c3ba0
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h

  Log Message:
  -----------
  [clang][deps] Update header guard (#170769)


  Commit: 772ff0436d8a00c71e8ab026800fe77eeaba6c49
      https://github.com/llvm/llvm-project/commit/772ff0436d8a00c71e8ab026800fe77eeaba6c49
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [mlir][ExecutionEngine] propagate errors in mlirExecutionEngineCreate (#170592)


  Commit: e067be3389726a5185dd0f1c37d5ba843101f4e8
      https://github.com/llvm/llvm-project/commit/e067be3389726a5185dd0f1c37d5ba843101f4e8
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/EHScopeStack.h

  Log Message:
  -----------
  [CIR][NFC] Add flag support for eh cleanups (#170753)

This adds the `flags` variable to the EHScopeStack::Cleanup class and
routes it through the existing handlers. None of the currently
implemented handlers use these flags, but the flag will be needed for
array and NRVO variable cleanup handling.


  Commit: bdea6a2dc2f549bb0a2056a5964d9b2853aca1a0
      https://github.com/llvm/llvm-project/commit/bdea6a2dc2f549bb0a2056a5964d9b2853aca1a0
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir

  Log Message:
  -----------
  [AMDGPU] Add verifier for flat_scr_base_hi read hazard (#170550)


  Commit: 421399d9d36538061a50040ed59c46464870827b
      https://github.com/llvm/llvm-project/commit/421399d9d36538061a50040ed59c46464870827b
  Author: Kees Cook <kees at kernel.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/kcfi.c

  Log Message:
  -----------
  [CodeGen][KCFI] Fix asm comment style (#170739)

We can't use "#" in the middle of the asm output, so switch to a /* */
pair instead.


  Commit: 9349cb1523ddb88ca9d82bad497bb98082eb6c8d
      https://github.com/llvm/llvm-project/commit/9349cb1523ddb88ca9d82bad497bb98082eb6c8d
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp

  Log Message:
  -----------
  [clang-doc] Use DiagnosticsEngine to handle diagnostic output (#170219)

[clang-doc] Use DiagnosticsEngine to handle diagnostic output

Right now we use a combination of outs() and errs() to handle tool
output. Instead, we can use existing diagnostic support in clang and
LLVM to ensure our tool has a consistent behavior with other tools.


  Commit: a992999a001ce1a5e5fff016896a873cdad8c698
      https://github.com/llvm/llvm-project/commit/a992999a001ce1a5e5fff016896a873cdad8c698
  Author: Vy Nguyen <vyng at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/set-slop-scale.s

  Log Message:
  -----------
  [lld-macho]Define a flag for adjusting slop scale (#164295)

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>


  Commit: c8fc766aaae3210f0b19704cbdfad23ea5bf2826
      https://github.com/llvm/llvm-project/commit/c8fc766aaae3210f0b19704cbdfad23ea5bf2826
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp

  Log Message:
  -----------
  [clang-doc] Use static functions over the anonymous namespace (#170221)


  Commit: 02ca50e56063e3730731c75e40e1b6048a6de9f1
      https://github.com/llvm/llvm-project/commit/02ca50e56063e3730731c75e40e1b6048a6de9f1
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [profcheck] Fix missing profile metadata in ExpandMemCmp (#169979)

This patch fixes a profile metadata missing in the `ExpandMemCmp` pass
when it expanding `memcmp` calls. This would cause branches between
different blocks to lose their profile data, potentially leading to
suboptimal code generation.

The patch updates the `ExpandMemCmp` pass to set branch weights to a
default `unknown`(50/50 weights) value when a profile is available. This
prevents the expansion from making a previously profiled branch
unprofiled.

The patch also includes updates to the tests to reflect the new branch
weights.

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 834b8b7221b3be7d057a0dd1413158948bba41cc
      https://github.com/llvm/llvm-project/commit/834b8b7221b3be7d057a0dd1413158948bba41cc
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
    M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
    M mlir/test/Dialect/OpenACC/ops.mlir

  Log Message:
  -----------
  [acc] Add acc.specialized_routine attribute (#170766)

Introduce a new attribute `acc.specialized_routine` to mark functions
that have been specialized from a host function marked with
`acc.routine_info`.

The new attribute captures:
- A SymbolRefAttr referencing the original `acc.routine` operation
- The parallelism level via the new `ParLevel` enum
- The original function name (since specialized functions may be
renamed)

Example - before specialization:
```
acc.routine @routine_gang func(@foo) gang
acc.routine @routine_vector func(@foo) vector

func.func @foo() attributes {
  acc.routine_info = #acc.routine_info<[@routine_gang, @routine_vector]>
} { ... }
```

After specialization, there are three functions:
the original function and two specialized versions (one per parallelism
level):
```
acc.routine @routine_gang func(@foo) gang
acc.routine @routine_vector func(@foo) vector

// Original function (unchanged)
func.func @foo() attributes {
  acc.routine_info = #acc.routine_info<[@routine_gang, @routine_vector]>
} { ... }

// Specialized for gang parallelism
func.func @foo_gang() attributes {
  acc.specialized_routine = #acc.specialized_routine<@routine_gang,
<gang_dim1>, "foo">
} { ... }

// Specialized for vector parallelism
func.func @foo_vector() attributes {
  acc.specialized_routine = #acc.specialized_routine<@routine_vector,
<vector>, "foo">
} { ... }
```


  Commit: 5defa851bd739d3796816bb412f5855d477bb9e7
      https://github.com/llvm/llvm-project/commit/5defa851bd739d3796816bb412f5855d477bb9e7
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/test/Dialect/OpenACC/invalid.mlir

  Log Message:
  -----------
  [mlir][acc] Improve verifier messages for device_type duplicates (#170773)

This improves the acc dialect IR verifier messages when duplicate
device_types are found by also noting which device_type is the one
causing the error.


  Commit: ed7e66a41d084ca442e6425a29dddfab1e647751
      https://github.com/llvm/llvm-project/commit/ed7e66a41d084ca442e6425a29dddfab1e647751
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/docs/configure.rst
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    A libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl

  Log Message:
  -----------
  Reland Refactor WIDE_READ to allow finer control over high-performance function selection (#165613) (#170738)

[Previous commit had an incorrect default case when
FIND_FIRST_CHARACTER_WIDE_READ_IMPL was not specified in config.json.
This PR is identical to that one with one line fixed.]

As we implement more high-performance string-related functions, we have
found a need for better control over their selection than the big-hammer
LIBC_CONF_STRING_LENGTH_WIDE_READ. For example, I have a memchr
implementation coming, and unless I implement it in every variant, a
simple binary value doesn't work.

This PR makes gives finer-grained control over high-performance
functions than the generic LIBC_CONF_UNSAFE_WIDE_READ option. For any
function they like, the user can now select one of four implementations
at build time:

1. element, which reads byte-by-byte (or wchar by wchar)
2. wide, which reads by unsigned long
3. generic, which uses standard clang vector implemenations, if
available
4. arch, which uses an architecture-specific implemenation

(Reading the code carefully, you may note that a user can actually
specify any namespace they want, so we aren't technically limited to
those 4.)

We may also want to switch from command-line #defines as it is currently
done, to something more like
llvm-project/llvm/include/llvm/Config/llvm-config.h.cmake, and
complexity out of the command-line. But that's a future problem.


  Commit: 89ae817ee06428da9b6d4e4b79f12ba86d76f9e8
      https://github.com/llvm/llvm-project/commit/89ae817ee06428da9b6d4e4b79f12ba86d76f9e8
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M libc/config/linux/arm/config.json
    M libc/config/linux/riscv/config.json

  Log Message:
  -----------
  Add commas for riscv and arm configs. (#170776)

Fix for breakage introduced by pr170738


  Commit: 8f9ef4b52d31044edcff1ca46151052ccc26cee8
      https://github.com/llvm/llvm-project/commit/8f9ef4b52d31044edcff1ca46151052ccc26cee8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Add OPERAND_AVL to RISCVInstrInfo::verifyInstruction. (#170770)


  Commit: d3b9fd0f86d2936b7ed8446f6d54817772753f52
      https://github.com/llvm/llvm-project/commit/d3b9fd0f86d2936b7ed8446f6d54817772753f52
  Author: Demetrius Kanios <demetrius at kanios.net>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
    A llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll

  Log Message:
  -----------
  [WebAssembly] Implement addrspacecast to funcref (#166820)

Adds lowering of `addrspacecast [0 -> 20]` to allow easy conversion of
function pointers to Wasm `funcref`

When given a constant function pointer, it lowers to a direct
`ref.func`. Otherwise it lowers to a `table.get` from
`__indirect_function_table` using the provided pointer as the index.


  Commit: be79a0d90ff700b717e72d7c200f58c5918e4301
      https://github.com/llvm/llvm-project/commit/be79a0d90ff700b717e72d7c200f58c5918e4301
  Author: theRonShark <ron.lieberman at amd.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    R offload/test/offloading/fortran/target-is-device-ptr.f90

  Log Message:
  -----------
  Revert "[Flang][OpenMP] Add lowering support for is_device_ptr clause" (#170778)

Reverts llvm/llvm-project#169331


  Commit: da06d9eeafe29af089fb16ad2af5731205f7e56c
      https://github.com/llvm/llvm-project/commit/da06d9eeafe29af089fb16ad2af5731205f7e56c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/CFIInstrInserter.cpp

  Log Message:
  -----------
  [CodeGen] Use insert idiom in CFIInstrInserter instead of find [nfc] (#170760)


  Commit: 8126baa6d710e064671e2321067eb89e914bcbe3
      https://github.com/llvm/llvm-project/commit/8126baa6d710e064671e2321067eb89e914bcbe3
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h

  Log Message:
  -----------
  [clang-doc] Remove uses of consumeError (#168759)

In BitcodeReader, we were using consumeError(), which drops the error
and hides it from normal usage. To avoid that, we can just slightly
tweak the API to return an Expected<T>, and propagate the error
accordingly.


  Commit: a2032f574d6f7e01d3035a66cb64a70c66ea25be
      https://github.com/llvm/llvm-project/commit/a2032f574d6f7e01d3035a66cb64a70c66ea25be
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h

  Log Message:
  -----------
  [clang-doc] Reorder struct fields to have less padding (#170222)


  Commit: b75e5649cf46fb5edb9e5659b1b1e2a199a6194f
      https://github.com/llvm/llvm-project/commit/b75e5649cf46fb5edb9e5659b1b1e2a199a6194f
  Author: Mark Zhuang <mark.zhuang at spacemit.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/RISCVUsage.rst

  Log Message:
  -----------
  [RISCV][docs] Update url for SpacemiT xsmtvdot (#170598)


  Commit: 6d60d3d7e408820f8406bda63226f187e3fd626b
      https://github.com/llvm/llvm-project/commit/6d60d3d7e408820f8406bda63226f187e3fd626b
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
    R llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll

  Log Message:
  -----------
  Revert "[WebAssembly] Implement addrspacecast to funcref" (#170785)

Reverts llvm/llvm-project#166820
There was a failure in the ENABLE_EXPENSIVE_CHECKS configuration.


  Commit: 5c289dac3031e4b4fbaf8604c4520965d8656424
      https://github.com/llvm/llvm-project/commit/5c289dac3031e4b4fbaf8604c4520965d8656424
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/lib/Headers/opencl-c.h

  Log Message:
  -----------
  [Clang][OpenCL] Add support for the cl_intel_subgroup_buffer_prefetch (#170532)

The commit adds support for the cl_intel_subgroup_buffer_prefetch OpenCL
extension. The extension introduces a new built-in functions that allow
prefetching data from a global memory to caches as a subgroup-level
operation.

The extension is defined here:
https://registry.khronos.org/OpenCL/extensions/intel/cl_intel_subgroup_buffer_prefetch.html

---------

Co-authored-by: Mészáros Gergely <maetveis at gmail.com>


  Commit: f50a0792bea92387f23d314ee50d2be75437d02a
      https://github.com/llvm/llvm-project/commit/f50a0792bea92387f23d314ee50d2be75437d02a
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M llvm/utils/release/build_llvm_release.bat

  Log Message:
  -----------
  build_llvm_release.bat: Use absolute path when building the tarball (#169951)

The rest of the script uses an absolute path for the llvm source
directory too.


  Commit: 2110db0f495932c9d4439c433eb85f6a07838220
      https://github.com/llvm/llvm-project/commit/2110db0f495932c9d4439c433eb85f6a07838220
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Target/Language.cpp
    M lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
    M lldb/test/Shell/Breakpoint/condition-lang.test
    M lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
    M lldb/unittests/Interpreter/TestOptions.cpp

  Log Message:
  -----------
  Add a `breakpoint add` command to fix the option-madness that is `breakpoint set` (#156067)

Someone came up with a clever idea for a new breakpoint type, but we
couldn't figure out how to add it in an ergonomic way because
`breakpoint set` has used up all the short-option characters. And even
if they did find a way to add it, the help for `break set` is so
confusing - because of the way it is implemented - that very few people
would detect the addition.

The basic problem is that `break set` distinguishes amongst the
fundamental breakpoint types it offers by which "required option" you
provide. If you pass a `-a` you are setting an address breakpoint, if
`-n`, `-F`, etc. a symbol name based breakpoint. And so forth. That is
however pretty hard to discern from the option grouping printing from
`help break set`. `break set` also suffers from the problem that it uses
common options in different ways depending on which "required" option is
present, which makes documenting the various behaviors difficult. And as
we run out of single letters it makes extending it difficult to
impossible.

This PR fixes that situation by adding a new command for adding
breakpoints - `break add`. The new command specifies the "breakpoint
types" as subcommands of `break add` rather than distinguishing them by
their being one of the "required" options the way `break set` does. That
both makes it much clearer what the breakpoint types actually are, and
means that the option set can be dedicated to that particular breakpoint
type, and so the help for each is less cluttered, and can be documented
properly for each usage.

Instead of trying to parse the meaning of:

```
(lldb) help break set
Sets a breakpoint or set of breakpoints in the executable.

Syntax: breakpoint set <cmd-options>

Command Options Usage:
  breakpoint set [-DHd] -l <linenum> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-u <column>] [-f <filename>] [-m <boolean>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -a <address-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-s <shlib-name>]
  breakpoint set [-DHd] -n <function-name> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -F <fullname> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -S <selector> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -M <method> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -r <regular-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-DHd] -b <function-name> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-f <filename>] [-L <source-language>] [-s <shlib-name>] [-K <boolean>]
  breakpoint set [-ADHd] -p <regular-expression> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-f <filename>] [-m <boolean>] [-s <shlib-name>] [-X <function-name>]
  breakpoint set [-DHd] -E <source-language> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-h <boolean>] [-w <boolean>]
  breakpoint set [-DHd] -P <python-class> [-k <none>] [-v <none>] [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-f <filename>] [-s <shlib-name>]
  breakpoint set [-DHd] -y <linespec> [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-R <address>] [-N <breakpoint-name>] [-m <boolean>] [-s <shlib-name>] [-K <boolean>]

```

We instead offer:

```
(lldb) help break add
Commands to add breakpoints of various types

Syntax: breakpoint add

Access the breakpoint search kernels built into lldb.  Along with specifying the
search kernel, each breakpoint add operation can specify a common set of 
"reaction" options for each breakpoint.  The reaction options can also be
modified after breakpoint creation using the "breakpoint modify" command.       
        

The following subcommands are supported:

      address   -- Add breakpoints by raw address
      exception -- Add breakpoints on language exceptions.  If no language is specified, break on exceptions for all supported languages
      file      -- Add breakpoints on lines in specified source files
      name      -- Add breakpoints matching function or symbol names
      pattern   -- Add breakpoints matching patterns in the source text  Expects 'raw' input (see 'help raw-input'.)
      scripted  -- Add breakpoints using a scripted breakpoint resolver.

For more help on any particular subcommand, type 'help <command> <subcommand>'.

```

The individual subcommand helps are also easier to read. They are still
a little too verbose because they all repeat the options for the
`reactions`. A general fix for our help system would be when a command
incorporates an OptionGroup whole into the command options, help would
show the option group name - which you could separately look up. But
even without that:

```
(lldb) help br a a
Add breakpoints by raw address

Syntax: breakpoint add address <cmd-options> <address> [<address> [...]]

Command Options Usage:
  breakpoint add address [-DHde] [-G <boolean>] [-C <command>] [-c <expr>] [-Y <source-language>] [-i <count>] [-o <boolean>] [-q <queue-name>] [-t <thread-id>] [-x <thread-index>] [-T <thread-name>] [-N <breakpoint-name>] [-s <shlib-name>] <address> [<address> [...]]

       -C <command> ( --command <command> )
            A command to run when the breakpoint is hit, can be provided more than once, the commands will be run in left-to-right order.

       -D ( --dummy-breakpoints )
            Act on Dummy breakpoints - i.e. breakpoints set before a file is provided, which prime new targets.

       -G <boolean> ( --auto-continue <boolean> )
            The breakpoint will auto-continue after running its commands.

       -H ( --hardware )
            Require the breakpoint to use hardware breakpoints.

       -N <breakpoint-name> ( --breakpoint-name <breakpoint-name> )
            Adds this name to the list of names for this breakpoint.  Can be specified more than once.

       -T <thread-name> ( --thread-name <thread-name> )
            The breakpoint stops only for the thread whose thread name matches this argument.

       -Y <source-language> ( --condition-language <source-language> )
            Specifies the Language to use when executing the breakpoint's condition expression.

       -c <expr> ( --condition <expr> )
            The breakpoint stops only if this condition expression evaluates to true.

       -d ( --disable )
            Disable the breakpoint.

       -e ( --enable )
            Enable the breakpoint.

       -i <count> ( --ignore-count <count> )
            Set the number of times this breakpoint is skipped before stopping.

       -o <boolean> ( --one-shot <boolean> )
            The breakpoint is deleted the first time it stop causes a stop.

       -q <queue-name> ( --queue-name <queue-name> )
            The breakpoint stops only for threads in the queue whose name is given by this argument.

       -s <shlib-name> ( --shlib <shlib-name> )
            Set the breakpoint at an address relative to sections in this shared library.

       -t <thread-id> ( --thread-id <thread-id> )
            The breakpoint stops only for the thread whose TID matches this argument.  The token 'current' resolves to the current thread's ID.

       -x <thread-index> ( --thread-index <thread-index> )
            The breakpoint stops only for the thread whose index matches this argument.
     
     This command takes options and free-form arguments.  If your arguments resemble option specifiers (i.e., they start with a - or --), you must use ' --
     ' between the end of the command options and the beginning of the arguments.

```

is pretty readable.


  Commit: 9342d03f90ec42ca643f82a3e0654f71173a843f
      https://github.com/llvm/llvm-project/commit/9342d03f90ec42ca643f82a3e0654f71173a843f
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp

  Log Message:
  -----------
  [clang-tidy] Preserve comments in `readability-use-std-min-max` (#169908)

Closes [#121613](https://github.com/llvm/llvm-project/issues/121613)


  Commit: 7f01d721083660116bc288d99a5dc7e86bb219c1
      https://github.com/llvm/llvm-project/commit/7f01d721083660116bc288d99a5dc7e86bb219c1
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [NFC] Fix memory leak in ConstantsTest (#170789)

Leak introduced with #164381.


  Commit: 79620d8ac094f2ab65b4c65376b710d04bba212f
      https://github.com/llvm/llvm-project/commit/79620d8ac094f2ab65b4c65376b710d04bba212f
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/clc/include/clc/atomic/atomic_decl.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
    M libclc/clc/lib/generic/atomic/clc_atomic_def.inc
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/opencl/include/clc/opencl/as_type.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
    M libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_clear.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_test_and_set.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_load.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_store.h
    M libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h
    M libclc/opencl/include/clc/opencl/synchronization/barrier.h
    R libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
    M libclc/opencl/include/clc/opencl/synchronization/utils.h
    R libclc/opencl/include/clc/opencl/types.h
    M libclc/opencl/include/clc/opencl/utils.h
    M libclc/opencl/lib/clspv/shared/vstore_half.cl
    M libclc/opencl/lib/generic/atomic/atom_add.cl
    M libclc/opencl/lib/generic/atomic/atom_and.cl
    M libclc/opencl/lib/generic/atomic/atom_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atom_dec.cl
    M libclc/opencl/lib/generic/atomic/atom_inc.cl
    M libclc/opencl/lib/generic/atomic/atom_max.cl
    M libclc/opencl/lib/generic/atomic/atom_min.cl
    M libclc/opencl/lib/generic/atomic/atom_or.cl
    M libclc/opencl/lib/generic/atomic/atom_sub.cl
    M libclc/opencl/lib/generic/atomic/atom_xchg.cl
    M libclc/opencl/lib/generic/atomic/atom_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
    M libclc/opencl/lib/generic/atomic/atomic_def.inc
    M libclc/opencl/lib/generic/atomic/atomic_exchange.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
    M libclc/opencl/lib/generic/atomic/atomic_load.cl
    M libclc/opencl/lib/generic/atomic/atomic_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_store.cl
    M libclc/opencl/lib/generic/atomic/atomic_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_xchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_xor.cl

  Log Message:
  -----------
  [libclc] Add OpenCL atomic_*_explicit builtins (#168318)

Implement atomic_*_explicit (e.g. atomic_store_explicit) with
memory_order plus optional memory_scope.

OpenCL memory_order maps 1:1 to Clang (e.g. OpenCL memory_order_relaxed
== Clang __ATOMIC_RELAXED), so we pass it unchanged to clc_atomic_*
function which forwards to Clang _scoped_atomic* builtins.

Other changes:
* Add __opencl_get_clang_memory_scope helper in opencl/utils.h (OpenCL
scope -> Clang scope).
* Correct atomic_compare_exchange return type to bool.
* Fix atomic_compare_exchange to return true when value stored in the
pointer equals expected value.
* Remove volatile from CLC functions so that volatile isn't present in
LLVM IR.
* Add '-fdeclare-opencl-builtins -finclude-default-header' flag to
include
declaration of memory_scope. Some constants in libclc are already
provided
  by Clang’s OpenCL header; disable those in OpenCL library build and
  enable them only for CLC library build.


  Commit: b32e067e97003db47aed52edc9ef8c3c30899b91
      https://github.com/llvm/llvm-project/commit/b32e067e97003db47aed52edc9ef8c3c30899b91
  Author: Florian Mayer <fmayer at google.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp

  Log Message:
  -----------
  [compiler-rt] [UBSan] Fix missing preserve handlers (#170788)


  Commit: 45af50d9cac951234617b0f91325daec57bbaabe
      https://github.com/llvm/llvm-project/commit/45af50d9cac951234617b0f91325daec57bbaabe
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    A mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td

  Log Message:
  -----------
  [MLIR] Add fusability query to TilingInterface (#166502)

This introduces `isOpFusableWithProducer/Consumer` methods to the
TilingInterface that enable querying whether a tilable op can be fused
into a given set of producer slices or consumer slice without generating
IR. This is needed to enable use of the tiling interface in pattern
rewrites, as without this any pattern rewrite that tries to invoke the
method to tile is allowed to generate IR and fail.


  Commit: c2242bdea9cc4593ad46689e1dcc05645045f908
      https://github.com/llvm/llvm-project/commit/c2242bdea9cc4593ad46689e1dcc05645045f908
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][clang-doc] Port 9349cb1523ddb88ca9d82bad497bb98082eb6c8d (#170797)


  Commit: d8ad3c1df985b4cbc013c9f963796190d5c47c41
      https://github.com/llvm/llvm-project/commit/d8ad3c1df985b4cbc013c9f963796190d5c47c41
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Remove myself from CODEOWNERS (#170799)


  Commit: 71de78315fd011e8e470bcf19ecd2c9e9abb2a1c
      https://github.com/llvm/llvm-project/commit/71de78315fd011e8e470bcf19ecd2c9e9abb2a1c
  Author: Jesse Huang <jesse.huang at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll

  Log Message:
  -----------
  [RISCV] Inserting indirect jumps with X7 for Zicfilp (#170683)

`BranchRelxation` uses `RISCVInstrInfo::insertIndirectBranch` to insert
an indirect branch if the jump target is out of range. Currently it uses
register scavenging to find a free register to use for the indirect
target. If Zicfilp is enabled, we need to use X7 so that the jump will
be treated as a software guarded branch.

Co-authored-by: Yeting Kuo <46629943+yetingk at users.noreply.github.com>


  Commit: af4098b45a753a317d6a36aa76235fe30a401733
      https://github.com/llvm/llvm-project/commit/af4098b45a753a317d6a36aa76235fe30a401733
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll

  Log Message:
  -----------
  [RISCV][llvm] Support PSLL codegen for P extension (#170074)

There's no instruciton for vector shift amount, so we have to scalarize
it and rebuild the vector.


  Commit: e48d49fd6d09dd7082590360544f801460aee96a
      https://github.com/llvm/llvm-project/commit/e48d49fd6d09dd7082590360544f801460aee96a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfrsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll

  Log Message:
  -----------
  [RISCV][llvm] Support VFADD, VFSUB, VFMUL codegen for Zvfbfa (#170612)

Support both fixed-length vectors and scalable vectors.

Note: VP version is not gonna be supported for trivial instructions
since they're going to be removed soon.


  Commit: 290b32a699aefbd1f18fe78351655dd42ce98f1e
      https://github.com/llvm/llvm-project/commit/290b32a699aefbd1f18fe78351655dd42ce98f1e
  Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    R flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/simd-linear.f90
    A flang/test/Lower/OpenMP/wsloop-linear.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [llvm][mlir][OpenMP] Support translation for linear clause in omp.wsloop and omp.simd (#139386)

This patch adds support for LLVM translation of linear clause on
omp.wsloop (except for linear modifiers).


  Commit: eecdd4be8aaabcc326dfb2b689dcbfb5c172c98b
      https://github.com/llvm/llvm-project/commit/eecdd4be8aaabcc326dfb2b689dcbfb5c172c98b
  Author: higher-performance <higher.performance.github at gmail.com>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp

  Log Message:
  -----------
  [clang-tidy] Extend `bugprone-use-after-move` to allow custom invalidation functions (#170346)


  Commit: 14bf95b06a18b9b59c89601cbc0e5a6f2176b118
      https://github.com/llvm/llvm-project/commit/14bf95b06a18b9b59c89601cbc0e5a6f2176b118
  Author: lntue <lntue at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libc/config/linux/config.json

  Log Message:
  -----------
  [libc] Remove extra commas in linux/config.json. (#170801)


  Commit: 785cadd1ccf4a9c7d3b4823fa3a58311df94ddda
      https://github.com/llvm/llvm-project/commit/785cadd1ccf4a9c7d3b4823fa3a58311df94ddda
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [clang][bytecode] Fix InterpFrame::dump() (#170682)

We should only call getThis() and getRVOPtr() if the frame has them.


  Commit: 5911754a3085e1c95cec12971f075ab3f024d71d
      https://github.com/llvm/llvm-project/commit/5911754a3085e1c95cec12971f075ab3f024d71d
  Author: wdx727 <wudexin at kuaishou.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    A llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
    A llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll

  Log Message:
  -----------
  Adding Matching and Inference Functionality to Propeller-PR4: Implement matching and inference and create clusters (#167622)

This PR re-submits the previously reverted
PR(https://github.com/llvm/llvm-project/pull/165868) and fixes the
return type mismatch error.

Co-authored-by: lifengxiang1025 <lifengxiang at kuaishou.com>
Co-authored-by: zcfh <wuminghui03 at kuaishou.com>


  Commit: 722026886fb65f0d61e0384886ffc30e83623edf
      https://github.com/llvm/llvm-project/commit/722026886fb65f0d61e0384886ffc30e83623edf
  Author: Kees Cook <kees at kernel.org>
  Date:   2025-12-04 (Thu, 04 Dec 2025)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtin-counted-by-ref.c
    M clang/test/Sema/builtin-counted-by-ref.c

  Log Message:
  -----------
  [Clang] Extend __builtin_counted_by_ref to support pointers with 'counted_by' (#170750)

The __builtin_counted_by_ref builtin was previously limited to flexible
array members (FAMs). This change extends it to also support pointer
members that have the 'counted_by' attribute.

The 'counted_by' attribute can be applied to both FAMs and pointer
members:

    struct fam_struct {
        int count;
        int array[] __attribute__((counted_by(count)));
    };

    struct ptr_struct {
        int count;
        int *buf __attribute__((counted_by(count)));
    };

With this change, __builtin_counted_by_ref works with both:

    *__builtin_counted_by_ref(p->array) = size;  // FAM - already worked
    *__builtin_counted_by_ref(p->buf) = size;    // pointer - now works

This enables the same allocation pattern for pointer members that was
previously only available for FAMs:

    #define alloc_buf(P, MEMBER, COUNT) ({                           \
        typeof(P) __p = malloc(sizeof(*__p));                        \
        __p->MEMBER = malloc(sizeof(*__p->MEMBER) * COUNT);          \
        *_Generic(__builtin_counted_by_ref(__p->MEMBER),             \
            void *: &(size_t){0},                                    \
            default: __builtin_counted_by_ref(__p->MEMBER)) = COUNT; \
        __p;                                                         \
    })

The builtin returns:
- A pointer to the count field if the member has 'counted_by'
- void* (null) if the member is an array or pointer without 'counted_by'
- An error for other member types (e.g., int, struct)

This was requested by upstream Linux kernel devs:

https://lore.kernel.org/linux-hardening/202512041215.44484FCACD@keescook/


  Commit: c9ebc890980bd0b40159b0db0e71dbbf7dbf3e2f
      https://github.com/llvm/llvm-project/commit/c9ebc890980bd0b40159b0db0e71dbbf7dbf3e2f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp

  Log Message:
  -----------
  [ORC] Add void function support to CallViaEPC, CallSPSViaEPC. (#170800)

Adds support for calling void functions. Calls to void functions return
Error to capture any IPC/RPC failure.


  Commit: 4c6b8825e84067c44780b2720429032d054af59a
      https://github.com/llvm/llvm-project/commit/4c6b8825e84067c44780b2720429032d054af59a
  Author: David Green <david.green at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-sdiv.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    M llvm/test/CodeGen/AArch64/srem-lkk.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll

  Log Message:
  -----------
  [DAG] Fold mul 0 -> 0 when expanding mul into parts. (#168780)

If the upper bits are zero, but we expand multiply then immediately
convert the multiple into a libcall, there is no opportunity to optimize
away the mul. Do so in getNode to make sure extending multiplies
optimise cleanly.


  Commit: eb48a61cc17ef6e626a4c4e7c866738225d9870a
      https://github.com/llvm/llvm-project/commit/eb48a61cc17ef6e626a4c4e7c866738225d9870a
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Bindings/Python/Nanobind.h
    M mlir/lib/Bindings/Python/MainModule.cpp

  Log Message:
  -----------
  [mlir:python] Add manual typing annotations to `mlir.register_*` functions. (#170627)

This PR adds a manual typing annotations to the `register_operation` and
`register_(type|value)_caster` functions in the main `mlir` module.
Since those functions return the result `nb::cpp_function`, which is of
type `nb::object`, the automatic typing annocations are of the form `def
f() -> object`. This isn't particularly precise and leads to type
checking errors when the functions are used. Manually defining the
annotation with `nb::sig` solves the problem.

Signed-off-by: Ingo Müller <ingomueller at google.com>


  Commit: cc5b07c7618538b6065f6793524c10bdb34dd510
      https://github.com/llvm/llvm-project/commit/cc5b07c7618538b6065f6793524c10bdb34dd510
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/invalid-splice.ll

  Log Message:
  -----------
  [IR] Fix vector.splice verifier scaling by vscale for fixed length vectors (#170807)

Currently we multiply the known minimum number of elements by vscale
even if the vector in question is fixed, so sometimes we miss some fixed
vectors with out of bounds indices.


  Commit: 5b2eb0dcb717c7218f691e2a10f76b60ed039ecd
      https://github.com/llvm/llvm-project/commit/5b2eb0dcb717c7218f691e2a10f76b60ed039ecd
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Add FullExpression scopes (#170705)

And use them instead of the extending decl. This is close to what the
current interpreter is doing.

This is NFC right now but fixes a problem I encountered while looking
into the expansion statement stuff.


  Commit: 5a74f7ea99385f1a02d86a76812cfa0508c7be1a
      https://github.com/llvm/llvm-project/commit/5a74f7ea99385f1a02d86a76812cfa0508c7be1a
  Author: Kashika Akhouri <akhourik at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    A clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp

  Log Message:
  -----------
  [LifetimeSafety] Suggest lifetime annotations (#169767)

Add lifetime annotation suggestion in lifetime analysis.

This PR introduces a new feature to Clang's lifetime analysis to detect
and suggest missing `[[clang::lifetimebound]]` annotations on function
parameters.
It introduces the concept of `placeholder loans`. At the entry of a
function, a special placeholder loan is created for each pointer or
reference parameter. The analysis then tracks these loans using
`OriginFlow` facts. If an `OriginEscapesFact` shows that an origin
holding a placeholder loan escapes the function's scope (e.g., via a
return statement), a new warning is issued.

This warning, controlled by the warning flag
`-Wexperimental-lifetime-safety-suggestions`, suggests adding the
`[[clang::lifetimebound]]` attribute to the corresponding parameter.

Example:

```cpp
std::string_view foo(std::string_view a) {
  return a;
}
```

Facts:

```
Function: foo
  Block B2:
    Issue (0 (Placeholder loan) , ToOrigin: 0 (Decl: a))
  End of Block
  Block B1:
    Use (0 (Decl: a), Read)
    OriginFlow (Dest: 1 (Expr: ImplicitCastExpr), Src: 0 (Decl: a))
    OriginFlow (Dest: 2 (Expr: CXXConstructExpr), Src: 1 (Expr: ImplicitCastExpr))
    OriginEscapes (2 (Expr: CXXConstructExpr))
  End of Block
  Block B0:
  End of Block
```

Sample warning:

```
o.cpp:61:39: warning: param should be marked [[clang::lifetimebound]] [-Wexperimental-lifetime-safety-suggestions]
   61 | std::string_view foo(std::string_view a) {
      |                      ~~~~~~~~~~~~~~~~~^
      |                      [[clang::lifetimebound]] 
o.cpp:62:9: note: param escapes here
   62 |  return a;
```

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


  Commit: 2612dc9b5faeaeb180c5a5e0c282642faef8891b
      https://github.com/llvm/llvm-project/commit/2612dc9b5faeaeb180c5a5e0c282642faef8891b
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrCMovSetCC.td
    M llvm/test/CodeGen/X86/apx/setzucc.ll

  Log Message:
  -----------
  [X86][APX] Add pattern for zext(X86setcc ..) -> SETZUCCr (#170806)


  Commit: 23173475c166e0480cc25d430ddda9461cb19b71
      https://github.com/llvm/llvm-project/commit/23173475c166e0480cc25d430ddda9461cb19b71
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

  Log Message:
  -----------
  [lldb] Improve logging of failure to get register information from Target XML (#170478)

In
https://discourse.llvm.org/t/does-lldb-qemu-support-dumping-x64-control-registers-such-as-cr3/89031
a user was not seeing certain registers when connected to QEMU. Turns
out their LLDB build did not have libxml2 enabled.

While logging is not the first thing most users will think of, it is
something an expert can ask for to confirm whether they have XML support
enabled.

So in this PR I've shuffled the logic GetGDBServerRegisterInfo to better
report problems in the log.

The key one is when lldb does not have libxml2 but the server did say it
supports qxfer:features. In this case we would have used it if we could,
and the debug session will likely be degraded because we are not able
to.

https://sourceware.org/gdb/current/onlinedocs/gdb.html/General-Query-Packets.html#qXfer-target-description-read


  Commit: 8ce5d8545d2e79e8bac5e6c6c39ef2d0f8c54181
      https://github.com/llvm/llvm-project/commit/8ce5d8545d2e79e8bac5e6c6c39ef2d0f8c54181
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/test/Sema/AArch64/sve-vector-conditional-op.cpp

  Log Message:
  -----------
  [clang] Only use CheckVectorOperands for fixed-length vector operands (#170485)

Fixes #170279


  Commit: ccfe7e09540f94e0419c607396e270f8d456e608
      https://github.com/llvm/llvm-project/commit/ccfe7e09540f94e0419c607396e270f8d456e608
  Author: Damian Heaton <Damian.Heaton at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve-fmsub.ll

  Log Message:
  -----------
  [AArch64] Combine vector FNEG+FMA into `FNML[A|S]` (#167900)

This allows for FNEG + FMA sequences to be combined into a single
operation, with `FNML[A|S]`, `FNMAD`, or `FNMSB` selected depending on
the operand order, similarly to how `performSVEMulAddSubCombine` enables
generating `ML[A|S]` instructions by converting the ADD/SUB intrinsics
to scalable vectors.


  Commit: d4cc0072b3fbdeb07560bf961997ef05cee4fda0
      https://github.com/llvm/llvm-project/commit/d4cc0072b3fbdeb07560bf961997ef05cee4fda0
  Author: Marco Elver <elver at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang/test/Driver/fsanitize-annotate-debug-info.c
    A clang/test/Driver/fsanitize-baremetal.c
    A clang/test/Driver/fsanitize-cfi.c
    A clang/test/Driver/fsanitize-leak.c
    A clang/test/Driver/fsanitize-memtag.c
    A clang/test/Driver/fsanitize-merge.c
    A clang/test/Driver/fsanitize-minimal-runtime.c
    A clang/test/Driver/fsanitize-numerical.c
    A clang/test/Driver/fsanitize-realtime.c
    A clang/test/Driver/fsanitize-recover.c
    A clang/test/Driver/fsanitize-safe-stack.c
    A clang/test/Driver/fsanitize-scudo.c
    A clang/test/Driver/fsanitize-skip-hot-cutoff.c
    A clang/test/Driver/fsanitize-trap.c
    A clang/test/Driver/fsanitize-undefined.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [Clang][Driver] Split fsanitize.c test (#169952)

The fsanitize.c test is one of the slowest tests we have:
```
-- Testing: 1 tests, 1 workers --
PASS: Clang :: Driver/fsanitize.c (1 of 1)

Testing Time: 18.42s
```

It has become the single monolithic test for almost all -fsanitize=
options. Given its current size, it makes sense to split it up into
smaller focused tests to allow for better parallelization but also help
the FileCheck tool by reducing number of lines to check.

The new test time with parallelization on my machine is:
```
-- Testing: 16 tests, 16 workers --
PASS: Clang :: Driver/fsanitize-numerical.c (1 of 16)
PASS: Clang :: Driver/fsanitize-safe-stack.c (2 of 16)
PASS: Clang :: Driver/fsanitize-memtag.c (3 of 16)
PASS: Clang :: Driver/fsanitize-realtime.c (4 of 16)
PASS: Clang :: Driver/fsanitize-baremetal.c (5 of 16)
PASS: Clang :: Driver/fsanitize-scudo.c (6 of 16)
PASS: Clang :: Driver/fsanitize-trap.c (7 of 16)
PASS: Clang :: Driver/fsanitize-leak.c (8 of 16)
PASS: Clang :: Driver/fsanitize-recover.c (9 of 16)
PASS: Clang :: Driver/fsanitize-skip-hot-cutoff.c (10 of 16)
PASS: Clang :: Driver/fsanitize-minimal-runtime.c (11 of 16)
PASS: Clang :: Driver/fsanitize-cfi.c (12 of 16)
PASS: Clang :: Driver/fsanitize-merge.c (13 of 16)
PASS: Clang :: Driver/fsanitize-annotate-debug-info.c (14 of 16)
PASS: Clang :: Driver/fsanitize-undefined.c (15 of 16)
PASS: Clang :: Driver/fsanitize.c (16 of 16)

Testing Time: 7.10s
```

The original Driver/fsanitize.c test remains for tests where it is
unclear that a single feature is being tested in isolation.

NFC.


  Commit: 7dc87cbd675dc8696ed22f832514fa7b7182f8ff
      https://github.com/llvm/llvm-project/commit/7dc87cbd675dc8696ed22f832514fa7b7182f8ff
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferAttrs] Handle f[min/max]imum_num like other libm functions (#170697)

These behave like fmin and fmax.


  Commit: d5551e1d595a5298f11f2cf1317799a2680bd7ce
      https://github.com/llvm/llvm-project/commit/d5551e1d595a5298f11f2cf1317799a2680bd7ce
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll

  Log Message:
  -----------
  [InferFunctionAttrs] Fix check lines

Only the first occurence of an attribute group should capture it,
the rest should match it. Otherwise we're not actually checking
that the attributes are correct.


  Commit: bae2401295bc04dd57354c79e22a0cf58fd3b86b
      https://github.com/llvm/llvm-project/commit/bae2401295bc04dd57354c79e22a0cf58fd3b86b
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll

  Log Message:
  -----------
  [InstCombine] Add regression tests for f[min][max]imum_num libcalls (#170695)

Add tests corresponding to the existing fmin/fmax tests, as we'll later
begin optimizing these into intrinsics.


  Commit: 63e9d607866f70d25d93fbdf4c4cd217efba195f
      https://github.com/llvm/llvm-project/commit/63e9d607866f70d25d93fbdf4c4cd217efba195f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll

  Log Message:
  -----------
  AMDGPU: Improve exp10 lowering for f16 (#170771)


  Commit: 352b90182839024a87e2234092f6b3ea49bf8c23
      https://github.com/llvm/llvm-project/commit/352b90182839024a87e2234092f6b3ea49bf8c23
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/roundeven.ll

  Log Message:
  -----------
  [ConstantFolding] Handle roundeven libcalls (#170692)

Basically identical to nearbyint and rint, which we already treat as
rounding to nearest with ties to even during constant folding.


  Commit: 113f058d73ec9850cdeb476c987971ca02a57350
      https://github.com/llvm/llvm-project/commit/113f058d73ec9850cdeb476c987971ca02a57350
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [SCEV] Add m_scev_UndefOrPoison (NFC). (#170740)

Add matcher for SCEVUnknown wrapping undef or poison.

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


  Commit: f1998360c3b1613440103101bce2b24b71695a4a
      https://github.com/llvm/llvm-project/commit/f1998360c3b1613440103101bce2b24b71695a4a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll

  Log Message:
  -----------
  [LLVM][AArch64] Add "u" variants of SVE saturating/rounding shift left intrinsics. (#170503)

This follows the same path used for regular shift intrinsics whereby the
"don't care about the result of inactive lanes" property of the
associated _x builtins is preserved. In doing this we gain the ability
to switch between reversed and movprfx variants depending on what best
fits register allocation.


  Commit: d02471ae5e5f593d564dbaafd83535062d6f72af
      https://github.com/llvm/llvm-project/commit/d02471ae5e5f593d564dbaafd83535062d6f72af
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/test/Integration/GPU/CUDA/async.mlir

  Log Message:
  -----------
  [MLIR] Partially disable test/Integration/GPU/CUDA/async.mlir

This test is flaky, needs investigation.

See #170833


  Commit: 990289ccd598e252101368c7f34ed70db8bc4bdd
      https://github.com/llvm/llvm-project/commit/990289ccd598e252101368c7f34ed70db8bc4bdd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [X86] LowerShuffle - don't call canonicalizeShuffleMaskWithHorizOp if we could shuffle whole lanes (#170838)

canonicalizeShuffleMaskWithHorizOp was getting stuck as it was
canonicalizing a SHUFFLE(HADD(X,X)) to only refer to the results of the
LHS X, but the original shuffle was shuffling entire lanes (with
VPERM2F128), and the canonicalised shuffle was then attempting to
lowering back to the original VPERM2F128 pattern.

I think we can drop this call to canonicalizeShuffleMaskWithHorizOp once
#143000 is addressed as vectorcombine should fold away all the patterns
this addresses.

Fixes #167793


  Commit: d17284ae2994bf76f00494f92445ea038701283e
      https://github.com/llvm/llvm-project/commit/d17284ae2994bf76f00494f92445ea038701283e
  Author: James Molloy <james at jamesmolloy.co.uk>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/python/mlir/ir.py
    M mlir/test/python/ir/auto_location.py

  Log Message:
  -----------
  [python] Fix loc_tracebacks() (#170831)

There were two bugs lurking in mlir.ir.loc_tracebacks():
  1) The default None parameter was not handled correctly (passed to a
     C++ function that expects ints.
  2) The `yield` was incorrectly indented meaning loc_tracebacks()
     could not be nested (a "generator didn't yield" exception would be
     raised).

Added testing of loc_tracebacks by replacing the custom contextmanager
in the auto_location.py test with the loc_tracebacks() API.

Had to harden the test to line number differences.

---------

Co-authored-by: James Molloy <jmolloy at google.com>


  Commit: db849604bb785fc4489810be6738ba3541a1cbc1
      https://github.com/llvm/llvm-project/commit/db849604bb785fc4489810be6738ba3541a1cbc1
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfmul.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfscale.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfscale.ll

  Log Message:
  -----------
  [AArch64] Add intrinsics for multi-vector FEAT_SVE_BFSCALE instructions (#163536)

These are the intrinsics prototype implemented, according to [1]
//BFMUL:
svbfloat16x2_t svmul[_bf16_x2](svbfloat16x2_t zd, svbfloat16x2_t zm) __arm_streaming;
svbfloat16x2_t svmul[_single_bf16_x2](svbfloat16x2_t zd, svbfloat16_t zm) __arm_streaming;
svbfloat16x4_t svmul[_bf16_x4](svbfloat16x4_t zd, svbfloat16x4_t zm) __arm_streaming;
svbfloat16x4_t svmul[_single_bf16_x4](svbfloat16x4_t zd, svbfloat16_t zm) __arm_streaming;

//BFSCALE
svbfloat16x2_t svscale[_bf16_x2](svbfloat16x2_t zdn, svint16x2_t zm) __arm_streaming;
svbfloat16x2_t svscale[_single_bf16_x2](svbfloat16x2_t zn, svint16_t zm) __arm_streaming;
svbfloat16x4_t svscale[_bf16_x4](svbfloat16x4_t zdn, svint16x4_t zm) __arm_streaming;
svbfloat16x4_t svscale[_single_bf16_x4](svbfloat16x4_t zn, svint16_t zm) __arm_streaming;
[1]ARM-software/acle#410


  Commit: 740a3ad1f744034275297d8ae315abbd904eac8c
      https://github.com/llvm/llvm-project/commit/740a3ad1f744034275297d8ae315abbd904eac8c
  Author: anjenner <161845516+anjenner at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll

  Log Message:
  -----------
  AMDGPU: Add codegen for atomicrmw operations usub_cond and usub_sat (#141068)

Split off from https://github.com/llvm/llvm-project/pull/105553 as per
discussion there.


  Commit: b36f89faed59cc37da969a3515b8b2f1539667bd
      https://github.com/llvm/llvm-project/commit/b36f89faed59cc37da969a3515b8b2f1539667bd
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/EvergreenInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/packetizer.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll

  Log Message:
  -----------
  [AMDGPU] Make rotr illegal (#166558)

fshr is already legal and is strictly more powerful than rotr, so we
should only need selection patterns for fshr.


  Commit: f827e4d1cf659da350f49911dcee2ac5f88ae5a2
      https://github.com/llvm/llvm-project/commit/f827e4d1cf659da350f49911dcee2ac5f88ae5a2
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [lldb-dap] show a useful timestamp in log messages (#170737)

It becomes easier to see the time difference between requests and
responses


  Commit: 64e3bcdd1ff18aebf32156f7bf4f89d3f320447c
      https://github.com/llvm/llvm-project/commit/64e3bcdd1ff18aebf32156f7bf4f89d3f320447c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [AMDGPU] Add an assertion. NFCI.


  Commit: 4ada42ede21cf54019d91f595d3a42f93ed7d3fa
      https://github.com/llvm/llvm-project/commit/4ada42ede21cf54019d91f595d3a42f93ed7d3fa
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in XeVMToLLVM.cpp (NFC)


  Commit: 90a14d23f306f3e879ef04ea0058927294018b33
      https://github.com/llvm/llvm-project/commit/90a14d23f306f3e879ef04ea0058927294018b33
  Author: Koakuma <koachan at protonmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/SPARC/optcompare.ll

  Log Message:
  -----------
  [SPARC][NFC] Update optcompare test that always returns false (#170025)


  Commit: 0ecac6d5b9a9907e534e6d0d43d4838be288363b
      https://github.com/llvm/llvm-project/commit/0ecac6d5b9a9907e534e6d0d43d4838be288363b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [AMDGPU] Inherit constructors from WaitcntGenerator. NFC. (#170845)


  Commit: e6d1deae3e538ff84e8ef0a4fa2c711da8ce009c
      https://github.com/llvm/llvm-project/commit/e6d1deae3e538ff84e8ef0a4fa2c711da8ce009c
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/test/python/ir/operation.py

  Log Message:
  -----------
  [MLIR][Python] make Sliceable inherit from Sequence (#170551)

Generates type stubs like

```python
class RegionSequence(Sequence[Region]):
    def __add__(self, arg: RegionSequence, /) -> list[Region]: ...

    def __iter__(self) -> RegionIterator:
        """Returns an iterator over the regions in the sequence."""
```


  Commit: 691893ea457a5db4803620f763dd0df91981bc58
      https://github.com/llvm/llvm-project/commit/691893ea457a5db4803620f763dd0df91981bc58
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp

  Log Message:
  -----------
  [MLIR] Apply clang-tidy fixes for llvm-qualified-auto in OuterProductFusion.cpp (NFC)


  Commit: 39429dd3522f16aa5670265a1df6fbe63edcda84
      https://github.com/llvm/llvm-project/commit/39429dd3522f16aa5670265a1df6fbe63edcda84
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    A clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/lit.cfg.py

  Log Message:
  -----------
  [clang-tidy] Implement alphabetical order check (#166072)

The patch implements `clang-tidy-alphabetical-order-check.py`, a small
Python tool to normalize clang-tidy docs with deterministic ordering.

It currently checks these two files:
-
https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/docs/clang-tidy/checks/list.rst?plain=1
-
https://github.com/llvm/llvm-project/blob/main/clang-tools-extra/docs/ReleaseNotes.rst?plain=1

Closes #166021

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 17e0bacb1799c7d6d7fd35f503f5ed61735c6894
      https://github.com/llvm/llvm-project/commit/17e0bacb1799c7d6d7fd35f503f5ed61735c6894
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-scan-deps/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn

  Log Message:
  -----------
  [gn] port b70be3dc14c1f54 (clang/lib/DependencyScanning)


  Commit: b01b273409235116c35c3598e1700bd510f8a603
      https://github.com/llvm/llvm-project/commit/b01b273409235116c35c3598e1700bd510f8a603
  Author: Pavel Rosický <pdahorek at seznam.cz>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Support/CachePruning.cpp
    M llvm/lib/Support/Windows/Path.inc

  Log Message:
  -----------
  [Support][Windows] disk_space handle unicode paths (#170716)

replaces GetDiskFreeSpaceExA with GetDiskFreeSpaceExW to handle user
paths with Unicode characters

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

I’m not entirely sure the fix is correct, so I’d appreciate it if
someone more familiar with the code could review it. Thanks!


  Commit: 6b040b4b4f69b99c33281e8da4d93d487a2d2588
      https://github.com/llvm/llvm-project/commit/6b040b4b4f69b99c33281e8da4d93d487a2d2588
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp

  Log Message:
  -----------
  [lldb] Issue a warning when Target XML should have been used but we do not have libxml2 (#170663)

If you connect lldb without libxml2 enabled, to a debug stub,
that server may offer Target XML but lldb will not use it. This
often causes incorrect or missing registers.

So much so that I think users should be made aware of this so
they can find an lldb with libxml2 enabled.

This warning will only be printed when:
* The debug server offered us Target XML but lldb does not have libxml2,
and -
* qRegisterInfo was not supported by the debug server.

This means that (lldb without libxml2) -> (lldb-server or debugserver)
will not warn as we'll fall back to qRegisterInfo. All that's
potentially
missing is advanced register formatting information, which most people
won't notice is missing anyway. If they do, the logs contain information
about this.

If you connect (lldb without libxml2) > (gdbserver, or a stub inspired
by it)
you will see this warning. As they do not support qRegisterInfo.

```
$ ./bin/lldb /tmp/test.o -o "gdb-remote 1234"
(lldb) target create "/tmp/test.o"
Current executable set to '/tmp/test.o' (aarch64).
(lldb) gdb-remote 1234
warning: the debug server supports Target Description XML but LLDB does not have XML parsing enabled. Using "qRegisterInfo" was also not possible. Register information may be incorrect or missing.
```

When qRegisterInfo is not supported, there are 4 possible situations.

1. The debug server offered Target XML and we do not have libxml2

We should warn the user so they can find an lldb with libxml2.

2. The debug server offered Target XML but it was not valid XML

Ideally we'd warn here too, but the error handling needs more
work to implement this, and there is logging for it if you know
where to look.

3. The debug server did not offer Target XML and we have libxml2
4. The debug server did not offer Target XML and we do have libxml2

There's no XML to parse, so no reason to warn. The user is not getting
a worse debug experience because we lack libxml2.

Their only course of action here would be to replace the debug stub.
Given that this occurs a lot with stubs embedded in kernels or debug
hardware, they may not have a choice either.


  Commit: 1df7b512bde79a2580e1599b9e5a01b3505f7659
      https://github.com/llvm/llvm-project/commit/1df7b512bde79a2580e1599b9e5a01b3505f7659
  Author: Vladimir Vuksanovic <109677816+vvuksanovic at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    A clang/test/Sema/format-attr-missing-gnu.c
    A clang/test/Sema/format-attr-missing.c
    A clang/test/Sema/format-attr-missing.cpp
    A clang/test/Sema/format-attr-missing.m
    M clang/test/Sema/format-strings-scanf.c
    M clang/test/Sema/format-strings.c
    M clang/test/SemaCXX/format-strings.cpp
    M clang/test/SemaObjC/format-strings-objc.m

  Log Message:
  -----------
  [Sema] Suggest missing format attributes (#166738)

Implements the `-Wmissing-format-attribute` diagnostic as a subgroup of
`-Wformat-nonliteral`. It suggests adding format attributes to function
declarations that call other format functions and pass the format string
to them.

This is an updated implementation of #105479.

---------

Co-authored-by: Budimir Arandjelovic <budimir.arandjelovic at htecgroup.com>


  Commit: 0a658496a2e3f3ff831ce5bfa76432d024bc15d2
      https://github.com/llvm/llvm-project/commit/0a658496a2e3f3ff831ce5bfa76432d024bc15d2
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [X86] EltsFromConsecutiveLoads - only attempt to recognise reverse patterns from all load element patterns (#170852)

Noticed while investigating a regression reported after #168706 - don't
attempt this if any elements are zero/undef - there is a potential issue
with reverse(insert_subvector(undef,load(),0)) patterns - but I haven't
managed to create a fail case.


  Commit: 5c9c0341b06f671972756537114c4f6b5f39ec72
      https://github.com/llvm/llvm-project/commit/5c9c0341b06f671972756537114c4f6b5f39ec72
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libcxx/docs/VendorDocumentation.rst
    M libcxx/include/__configuration/availability.h

  Log Message:
  -----------
  [libc++] Move the documentation for availability to our RST docs (#169371)

We have quite a bit of documentation inside <__configuration/availability.h>
about the availability markups. This documentation would be better to have as
part of our general documentation to improve discoverability. A link to the
new location is added to <__configuration/availability.h> as well.


  Commit: 0064f764430bef44c0021c50cac509fbe6488157
      https://github.com/llvm/llvm-project/commit/0064f764430bef44c0021c50cac509fbe6488157
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/build/sync_source_lists_from_cmake.py

  Log Message:
  -----------
  [gn] Make sync script handle removing singular sources

Without this, syncing the unittests/Passes change in a25e3674ae65
didn't work right: it'd add the new file, but not remove the old one,
because it wasn't followed by a `,` due to being a one-element list.


  Commit: fb1c5638ce9d22dddb13517945ca1e6e2b751909
      https://github.com/llvm/llvm-project/commit/fb1c5638ce9d22dddb13517945ca1e6e2b751909
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 1a09ac584cee


  Commit: 78fb0f875dae392389abd9f5f2181e8ebed166ba
      https://github.com/llvm/llvm-project/commit/78fb0f875dae392389abd9f5f2181e8ebed166ba
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 5911754a3085


  Commit: 03afb4f528b2d6edc04853b784d555653e803d9e
      https://github.com/llvm/llvm-project/commit/03afb4f528b2d6edc04853b784d555653e803d9e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

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


  Commit: accf0de9902b6031d6a5eaa1cccd23ec2b820dc2
      https://github.com/llvm/llvm-project/commit/accf0de9902b6031d6a5eaa1cccd23ec2b820dc2
  Author: Jack <30296634+jack-slingsby at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    A mlir/test/Dialect/Index/inliner-interface.mlir

  Log Message:
  -----------
  [mlir] Add inliner interface to the index dialect (#170459)

Add the inliner interface to the index dialect allowing the `inline`
pass to inline all index operations.


  Commit: 5e10d2106ab48918325e4839820cdb959ddde5bb
      https://github.com/llvm/llvm-project/commit/5e10d2106ab48918325e4839820cdb959ddde5bb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [SimplifyLibCalls] Use ConstantInt::getSigned() in some places

This ensures proper sign extension. Doesn't matter in practice right
now, but will once ConstantInt::get() becomes stricter.


  Commit: fde7819ad10001542d41e72ffd29b34f828c0794
      https://github.com/llvm/llvm-project/commit/fde7819ad10001542d41e72ffd29b34f828c0794
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  DAG: Add overload of makeLibCall which calls an RTLIB::LibcallImpl (#170584)


  Commit: 01ce3e296b7bb5cca3f9aee5e9b3517312c58736
      https://github.com/llvm/llvm-project/commit/01ce3e296b7bb5cca3f9aee5e9b3517312c58736
  Author: Radovan Božić <radovan.bozic at htecgroup.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/Sema/format-strings-nonnull.c
    A clang/test/Sema/format-strings-nonnull.cpp
    M clang/test/Sema/format-strings.c
    M clang/test/Sema/warn-fortify-scanf.c
    M clang/test/SemaCXX/format-strings-0x.cpp
    M clang/test/SemaObjC/format-strings-objc.m

  Log Message:
  -----------
  [clang][sema] Add nonnull attribute to builtin format functions (#160988)

Annotate printf/scanf and related builtins with the nonnull attribute on
their format string parameters. This enables diagnostics when NULL is
passed, matching GCC behavior. Updated existing Sema tests and added new
ones for coverage. Closes issue #33923


  Commit: 5ca9822fa8362ffe77469920fdbfbab5c8f684cf
      https://github.com/llvm/llvm-project/commit/5ca9822fa8362ffe77469920fdbfbab5c8f684cf
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  DAG: Avoid asserting on libcall action if function is unavailable (#170585)


  Commit: 3ea796e02362b3dfe4cac4cb8517ec3484675c5d
      https://github.com/llvm/llvm-project/commit/3ea796e02362b3dfe4cac4cb8517ec3484675c5d
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDSPInstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h

  Log Message:
  -----------
  [Mips] TableGen-erate SDNode descriptions (#168307)

This allows SDNodes to be validated against their expected type profiles
and reduces the number of changes required to add a new node.

Many DSP nodes were failing validation, this is fixed as part of this
PR.

Part of #119709.

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


  Commit: 72402e8b6709818915debf8cbd6a78faf8849df8
      https://github.com/llvm/llvm-project/commit/72402e8b6709818915debf8cbd6a78faf8849df8
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__locale_dir/locale_base_api.h
    A libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/module.modulemap.in

  Log Message:
  -----------
  [libc++] Support using Newlib as libc with locale support. (#167962)

Tested on Newlib v4.5.0. The newlib.h was mostly copied from linux.h
within the same directory.

Newlib locale support was initially added in http://llvm.org/D5385,
but removed in #113721 , because of revision http://llvm.org/D49927.


  Commit: c1e17e59922b52afc548f59ed2f4e2a2121f10db
      https://github.com/llvm/llvm-project/commit/c1e17e59922b52afc548f59ed2f4e2a2121f10db
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp

  Log Message:
  -----------
  [ThreadSafety] Ignore parameter destructors (#170843)

Fixes a false positive in thread safety analysis when function
parameters have lock/unlock annotations in their constructor/destructor.

PR #169320 added destructors to the CFG, which introduced false
positives in thread safety analysis for function parameters. According
to [expr.call#6](https://eel.is/c++draft/expr.call#6), parameter
initialization occurs in the caller's context while destruction occurs
in the callee's context.

```cpp
class A {
 public:
  A() EXCLUSIVE_LOCK_FUNCTION(mu_) { mu_.Lock(); }
  ~A() UNLOCK_FUNCTION(mu_) { mu_.Unlock(); }
 private:
  Mutex mu_;
};

int do_something(A a) {  // Previously: false positive warning
  return 0;
}
```

Previously, thread safety analysis would see the destructor (unlock) in
`do_something` but not the corresponding constructor (lock) that
happened in the caller's context, causing a false positive.


  Commit: d8171e633062eaac2a8a22caf2c256744cd6512a
      https://github.com/llvm/llvm-project/commit/d8171e633062eaac2a8a22caf2c256744cd6512a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [CodeGen][NFC] Update Doxygen references to renamed parameters (#170253)

The parameters were renamed in cfe0393b8269b85e199025b2350277563f43cd29
and 6e70c370e5e8eb5d9035c65d6c4f2a2687e099b6.


  Commit: f47bf010587fd5c9ea418468bb1f71395cc21788
      https://github.com/llvm/llvm-project/commit/f47bf010587fd5c9ea418468bb1f71395cc21788
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][mlir] Port accf0de9902b6031d6a5eaa1cccd23ec2b820dc2: index dialect deps (#170866)


  Commit: 03e42c97c7c0f6df51e3298cafa60b1f1e59c0b9
      https://github.com/llvm/llvm-project/commit/03e42c97c7c0f6df51e3298cafa60b1f1e59c0b9
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/HIPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    A clang/test/SemaCUDA/deduction-guide-attrs.cu
    A clang/test/SemaCUDA/deduction-guide-overload.cu
    A clang/test/SemaCUDA/deduction-guide.cu

  Log Message:
  -----------
  Reland [CUDA][HIP] Fix CTAD for host/device constructors (#168711) (#170481)

Clang currently does not allow using CTAD in CUDA/HIP device functions
since deduction guides are treated as host-only. This patch fixes that
by treating deduction guides as host+device. The rationale is that
deduction guides do not actually generate code in IR, and there is an
existing check for device/host correctness for constructors.

The patch also suppresses duplicate implicit deduction guides from
host/device constructors with identical signatures and constraints to
prevent ambiguity.

For CUDA/HIP, deduction guides are now always implicitly enabled for
both host and device, which matches nvcc's effective behavior. Unlike
nvcc, which silently ignores explicit CUDA/HIP target attributes on
deduction guides, Clang diagnoses device- and host-only attributes as
errors to keep the syntax clean and avoid confusion.

This ensures CTAD works correctly in CUDA/HIP for constructors with
different target attributes and provides clearer diagnostics when users
attempt to annotate deduction guides with CUDA/HIP target attributes.

Example:

```
  #include <tuple>

  __host__ __device__ void func()
  {
    std::tuple<int, int> t = std::tuple(1, 1);
  }
```

This compiles with nvcc but fails with clang for CUDA/HIP without this
fix.

Reference: https://godbolt.org/z/WhT1GrhWE

Fixes: https://github.com/ROCm/ROCm/issues/5646

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


  Commit: 6dac9b48618516cbeb813398a5aefe89b3cf9134
      https://github.com/llvm/llvm-project/commit/6dac9b48618516cbeb813398a5aefe89b3cf9134
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [clang][TypePrinter][NFC] Make SuppressInlineNamespaceMode an enum class (#170802)

The enum cases for `SuppressInlineNamespaceMode` leaked into the rest of
`PrintingPolicy`, meaning if we wanted to introduce another enum (which
I'm planning on doing in an unrelated PR), then `All`/`None`/`Redundant`
are all already taken, which are quite useful names.

This patch turns `SuppressInlineNamespaceMode` into an `enum class`,
freeing up the names for use by other future enums in `PrintingPolicy`.

Unfortunately that means we have to cast the values when assigning to
`PrintingPolicy::SuppressInlineNamespace`, because its actual type is
`unsigned`. But if we ever make the bitfields have proper enumeration
types (which AFAIU is dependent on an MSVC codegen fix), then we can get
rid of those casts.

While doing this I found three instances of assigning booleans to
`SuppressInlineNamespace`. I added a FIXME in LLDB to check what the
intended value of the enum should be.


  Commit: 2833d9f15ad9443594e1a23878f7e531116aeaa5
      https://github.com/llvm/llvm-project/commit/2833d9f15ad9443594e1a23878f7e531116aeaa5
  Author: Jake Egan <Jake.egan at ibm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/lib/asan/asan_interceptors.h

  Log Message:
  -----------
  [NFC][asan] Fix formatting of asan_interceptors.h (#170361)

Format the whole `asan_interceptors.h` file to prepare for some changes
in PR https://github.com/llvm/llvm-project/pull/131870.


  Commit: d743616c87ffc0347785f851e46534fcc675382a
      https://github.com/llvm/llvm-project/commit/d743616c87ffc0347785f851e46534fcc675382a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][Mips] Port 3ea796e02362b3dfe4cac4cb8517ec3484675c5d: sdnode tablegen (#170869)


  Commit: ad6e9f9f9ffb654cafa01f4bece95c788115a982
      https://github.com/llvm/llvm-project/commit/ad6e9f9f9ffb654cafa01f4bece95c788115a982
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn

  Log Message:
  -----------
  [gn] port 3ea796e0236 (Mips SDNodeInfo)


  Commit: 58b71403868ca3dc20d01f0c7e66b8ec5b31a162
      https://github.com/llvm/llvm-project/commit/58b71403868ca3dc20d01f0c7e66b8ec5b31a162
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [gn build] Port 72402e8b6709


  Commit: 716fffe53059456011619549b1330490ec3cf7f8
      https://github.com/llvm/llvm-project/commit/716fffe53059456011619549b1330490ec3cf7f8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aix.ll

  Log Message:
  -----------
  PowerPC: Add vec_malloc functions to AIX in RuntimeLibcalls (#167089)


  Commit: 23f09fd3e9efd43c58dcc42f001aeda139f429f8
      https://github.com/llvm/llvm-project/commit/23f09fd3e9efd43c58dcc42f001aeda139f429f8
  Author: Jerry Dang <kuroyukiasuna at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinsic-permute.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-fma-const.ll

  Log Message:
  -----------
  [VectorCombine] Fold permute of intrinsics into intrinsic of permutes: shuffle(intrinsic, poison/undef) -> intrinsic(shuffle) (#170052)

[VectorCombine] Fold permute of intrinsics into intrinsic of permutes

Add foldPermuteOfIntrinsic to transform:
  shuffle(intrinsic(args), poison) -> intrinsic(shuffle(args))
when the shuffle is a permute (operates on single vector) and the cost
model determines the transformation is profitable.

This optimization is particularly beneficial for subvector extractions
where we can avoid computing unused elements.

For example:
  %fma = call <8 x float> @llvm.fma.v8f32(<8 x float> %a, %b, %c)
  %result = shufflevector <8 x float> %fma, poison, <4 x i32> <0,1,2,3>
transforms to:
  %a_low = shufflevector <8 x float> %a, poison, <4 x i32> <0,1,2,3>
  %b_low = shufflevector <8 x float> %b, poison, <4 x i32> <0,1,2,3>
  %c_low = shufflevector <8 x float> %c, poison, <4 x i32> <0,1,2,3>
  %result = call <4 x float> @llvm.fma.v4f32(%a_low, %b_low, %c_low)

The transformation creates one shuffle per vector argument and calls the
intrinsic with smaller vector types, reducing computation when only a
subset of elements is needed.

The existing foldShuffleOfIntrinsics handled the blend case (two
intrinsic inputs), this adds support for the permute case (single
intrinsic input).

Fixes #170002


  Commit: d98412572142ce759a4462fadc528ac733c93b40
      https://github.com/llvm/llvm-project/commit/d98412572142ce759a4462fadc528ac733c93b40
  Author: Gergely Bálint <gergely.balint at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c

  Log Message:
  -----------
  Revert "[BOLT][AArch64] Fixed indirect call instrumentation snippet" (#170874)

Reverts llvm/llvm-project#141918

The patch broke a buildbot while applying instrumentation:
https://lab.llvm.org/buildbot/#/builders/128/builds/8866

Reverting until the issue is triaged.

Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>


  Commit: 7f2e6f128d2e8bc20bb95ddd9af9e23ea8fea5d2
      https://github.com/llvm/llvm-project/commit/7f2e6f128d2e8bc20bb95ddd9af9e23ea8fea5d2
  Author: Amina Chabane <amina.chabane at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_fmmla-f32f16.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f16mf8.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f32mf8.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve-fmmla-f32f16.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f16mf8.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f32mf8.ll

  Log Message:
  -----------
  [Clang][AArch64] Implement widening FMMLA intrinsics (#165282)

Proposed in [this ACLE
proposal](https://github.com/ARM-software/acle/pull/409), this PR
implements widening FMMLA intrinsics.

- F16 to F32
- MF8 to F32
- MF8 to F16

Additional changes:
- IsOverloadCvt flag renamed to IsOverloadFirstandLast for clarity, as
the name implies conversion. Implementation remains unchanged.


  Commit: 41f00cb3dec39f13a21cf635528bbc36c2c0c965
      https://github.com/llvm/llvm-project/commit/41f00cb3dec39f13a21cf635528bbc36c2c0c965
  Author: AidinT <at.aidin at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/docs/Interfaces.md
    M mlir/include/mlir/IR/Interfaces.td
    M mlir/include/mlir/TableGen/Interfaces.h
    M mlir/include/mlir/Transforms/CMakeLists.txt
    A mlir/include/mlir/Transforms/DialectInlinerInterface.td
    M mlir/include/mlir/Transforms/InliningUtils.h
    M mlir/lib/TableGen/Interfaces.cpp
    M mlir/lib/Transforms/CMakeLists.txt
    A mlir/test/mlir-tblgen/dialect-interface.td
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/DialectInterfacesGen.cpp

  Log Message:
  -----------
  [MLIR] feat(mlir-tblgen): Add support for dialect interfaces (#170046)

Currently, Dialect Interfaces can't be defined in ODS. This PR adds the
support for dialect interfaces. It follows the same approach with other
interfaces and extends on top of `Interface` class defined in
`mlir/TableGen/Interfaces.h`.

Given the following input:

```tablegen
#ifndef MY_INTERFACES
#define MY_INTERFACES

include "mlir/IR/Interfaces.td"

def DialectInlinerInterface : DialectInterface<"DialectInlinerInterface"> {
  let description = [{
     Define a base inlining interface class to allow for dialects to opt-in to the inliner.
  }];

  let cppNamespace = "::mlir";

  let methods = [
    InterfaceMethod<
      /*desc=*/        [{
        Returns true if the given region 'src' can be inlined into the region
        'dest' that is attached to an operation registered to the current dialect.
        'valueMapping' contains any remapped values from within the 'src' region.
        This can be used to examine what values will replace entry arguments into
        the 'src' region, for example.
      }],
      /*returnType=*/  "bool",
      /*methodName=*/  "isLegalToInline",
      /*args=*/        (ins "::mlir::Region *":$dest, "::mlir::Region *":$src, "::mlir::IRMapping &":$valueMapping),
      /*methodBody=*/  [{
        return true;
      }]
      >
  ];
}


#endif
```

It will generate the following code:

```cpp
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Dialect Interface Declarations                                             *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

namespace mlir {

/// Define a base inlining interface class to allow for dialects to opt-in to the inliner.
class DialectInlinerInterface : public ::mlir::DialectInterface::Base<DialectInlinerInterface> {
public:

  /// Returns true if the given region 'src' can be inlined into the region
  /// 'dest' that is attached to an operation registered to the current dialect.
  /// 'valueMapping' contains any remapped values from within the 'src' region.
  /// This can be used to examine what values will replace entry arguments into
  /// the 'src' region, for example.
  virtual bool isLegalToInline(::mlir::Region * dest, ::mlir::Region * src, ::mlir::IRMapping & valueMapping) const;

protected:
  DialectInlinerInterface(::mlir::Dialect *dialect) : Base(dialect) {}
};

} // namespace mlir

bool ::mlir::DialectInlinerInterface::isLegalToInline(::mlir::Region * dest, ::mlir::Region * src, ::mlir::IRMapping & valueMapping) const {
  return true;
}
```


  Commit: 38e5878853d3d9a259cea4a2e9ff07b5f1c3859a
      https://github.com/llvm/llvm-project/commit/38e5878853d3d9a259cea4a2e9ff07b5f1c3859a
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
    M llvm/test/Transforms/PGOProfile/prof-verify.ll

  Log Message:
  -----------
  [profcheck][test] Use quotes for when not using the internal lit shell (#170873)

Using `-passes=function(prof-inject),module(prof-verify)` needs to be
quoted when using a non-lit shell.

Fixes tests in 4b4294473280a8e37d818a9362e33544799cb4e4 when not using
lit's shell


  Commit: 80760b0b1d05acd964fa9175b5cdd764a2ee798d
      https://github.com/llvm/llvm-project/commit/80760b0b1d05acd964fa9175b5cdd764a2ee798d
  Author: valadaptive <79560998+valadaptive at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Recognize and simplify f[min/max]imumnum (#170699)

Unlike fmin and fmax, these are deterministic with regards to signed
zero.


  Commit: f26360f2150e7ff916f2aa5d5fe3ff32d1780c8c
      https://github.com/llvm/llvm-project/commit/f26360f2150e7ff916f2aa5d5fe3ff32d1780c8c
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/User.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  [IR] Don't store switch case values as operands (#166842)

SwitchInst case values must be ConstantInt, which have no use list.
Therefore it is not necessary to store these as Use, instead store them
more efficiently as a simple array of pointers after the uses, similar
to how PHINode stores basic blocks.

After this change, the successors of all terminators are stored
consecutively in the operand list. This is preparatory work for
improving the performance of successor access.


  Commit: 94a2bc9ed747aefeaa4ef2fae8470c69dc4fe29a
      https://github.com/llvm/llvm-project/commit/94a2bc9ed747aefeaa4ef2fae8470c69dc4fe29a
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/Maintainers.rst

  Log Message:
  -----------
  [clang-tidy] Add vbvictor to list of maintainers (#167407)

I've been actively contributing to the `clang-tidy` project this year
and was reviewing patches practically daily for the past half a year.
[As per LLVM
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers), I
believe I've successfully carried out maintainer responsibilities, thus
I volunteer to become one.
I'm looking forward to staying engaged with LLVM community, help
newcomers and develop `clang-tidy` as well as other LLVM projects.


  Commit: f71be4038910e897b0ed78a963e00ac1fdc9b6cc
      https://github.com/llvm/llvm-project/commit/f71be4038910e897b0ed78a963e00ac1fdc9b6cc
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [bazel][mlir] Port 41f00cb3dec39f13a21cf635528bbc36c2c0c965: tablegen dialect interfaces (#170884)


  Commit: a94ee7e6084a4224268f267139acae777ab4bd0f
      https://github.com/llvm/llvm-project/commit/a94ee7e6084a4224268f267139acae777ab4bd0f
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [InstCombine] Fix profile metadata when folding implied conditionals (#170756)

\#163412 touched this last and directly propagated the profile
information. This was not correct for the motivating example:

  %a = icmp eq i32 %z, 0
  %b = icmp eq i32 %z, 1
  %v2 = select i1 %b, i1 true, i1 %pred, !prof !18
  %v3 = and i1 %a, %v2

to

  %a = icmp eq i32 %z, 0
  %v3 = select i1 %a, i1 %pred, i1 false

z == 1 does not imply that z == 0 for i8. In general for the and case,
we need a => b, which means that b must be equivalent or more
restrictive than a, which means we cannot propagate profile information
without additional information on the value distribution of z. For the
or case we need !a => b. We again cannot derive profile information for
a/!a without additional value distribution information.


  Commit: 69721ac37c0c741337f65c9d451a1c4d41e83114
      https://github.com/llvm/llvm-project/commit/69721ac37c0c741337f65c9d451a1c4d41e83114
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp

  Log Message:
  -----------
  [TableGen] Report a better error when an InstAlias does not use a RegClass

Also fix the missing space in the error message. I notice while changing
RISC-V's loads and stores to use RegClassByHwMode and got a non-descriptive
error from `T.getRegisterClass(OpRC)` when parsing the InstAliases.

Reviewed By: arsenm

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


  Commit: 8505a879e57f7fa978576b25b6d0d1b8304009eb
      https://github.com/llvm/llvm-project/commit/8505a879e57f7fa978576b25b6d0d1b8304009eb
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h

  Log Message:
  -----------
  [TableGen] CodeGenInstAlias: reduce calls to isSubClassOf. NFCI

Add a `getAsRegClassLike()` helper to CodeGenTarget that handles the
`isSubClassOf` calls internally. This slightly reduces duplicated code
since it can be shared with `getInitValueAsRegClassLike()`.
Also change the llvm_unreachable at the end of this function to an
actual error since it could be reachable with bad inputs.

Reviewed By: s-barannikov, arsenm

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


  Commit: c2cb493824251432184cd9dfafb09fcfbcce6d28
      https://github.com/llvm/llvm-project/commit/c2cb493824251432184cd9dfafb09fcfbcce6d28
  Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/IR/Remarks.h
    M mlir/lib/IR/Remarks.cpp
    M mlir/unittests/IR/RemarkTest.cpp

  Log Message:
  -----------
  [mlir][remarks] Add support for Attributes in Remark Args (#170882)

Extend Remark::Arg to optionally store the original Attribute when
constructed from one. This allows custom remark streamers to access the
underlying attribute for type-specific handling, rather than being
limited to the string representation.

For example, a streamer processing an ArrayAttr argument can iterate
over its elements, or a streamer can check the specific attribute type
to apply custom formatting.

Changes:
- Add std::optional<Attribute> member to Remark::Arg
- Update Arg(StringRef, Attribute) constructor to store the attribute
- Add hasAttribute() and getAttribute() accessors
- Add unit test for Arg with ArrayAttr


  Commit: 85e7860319844308372ef7eea22ba88295989f5f
      https://github.com/llvm/llvm-project/commit/85e7860319844308372ef7eea22ba88295989f5f
  Author: nvptm <pmathew at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp

  Log Message:
  -----------
  [mlir][acc] Make getDominatingDataClauses an OpenACC utility (#170549)

Moving getDominatingDataClauses to OpenACCUtils allows reuse.


  Commit: 35c664d7ea25fd95e67b88c4a2d2f336690f1286
      https://github.com/llvm/llvm-project/commit/35c664d7ea25fd95e67b88c4a2d2f336690f1286
  Author: jimingham <jingham at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

  Log Message:
  -----------
  Move checking m_dummy_target to after raw-plus-option parsing. (#170888)

CommandObjectBreakpointAddPattern is a raw command. I was adjusting the
patch for changes to handle the dummy target changes done while the
patch was in review, and I copied the lines to the beginning of the
DoExecute, but in the case of raw commands, you have to do the option
parsing by hand, and this was before the parsing was done so the state
wasn't determined yet.


  Commit: 4bc783be2dab2b0b2b3010158891e44a2b4ee991
      https://github.com/llvm/llvm-project/commit/4bc783be2dab2b0b2b3010158891e44a2b4ee991
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp

  Log Message:
  -----------
  [ASan] Disable test that sets call stack on Darwin (#170786)

This test fails with the internal shell as we implement ulimit with a
python wrapper. This python wrapper fails on recent versions of MacOS to
set the stack size limit lower, or even to the current values. More
discussion is in https://github.com/python/cpython/issues/78783 towards
the bottom (it seems like a new issue should be opened).

It does not seem like we lose significant test coverage by disabling
this on MacOS as the test running on Linux should catch any major
regressions. We can also simply reenable once the issue is fixed
(although writing a simple c program with calls setrlimit directly also
fails in the smae manner).


  Commit: b360a782ca5da938d5e4f7c791508932a0bfc328
      https://github.com/llvm/llvm-project/commit/b360a782ca5da938d5e4f7c791508932a0bfc328
  Author: Akash Banerjee <akash.banerjee at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/OpenMP/target.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A offload/test/offloading/fortran/target-is-device-ptr.f90

  Log Message:
  -----------
  Reland "[Flang][OpenMP] Add lowering support for is_device_ptr clause (#169331)" (#170851)

Add support for OpenMP is_device_ptr clause for target directives.

[MLIR][OpenMP] Add OpenMPToLLVMIRTranslation support for is_device_ptr
#169367 This PR adds support for the OpenMP is_device_ptr clause in the
MLIR to LLVM IR translation for target regions. The is_device_ptr clause
allows device pointers (allocated via OpenMP runtime APIs) to be used
directly in target regions without implicit mapping.


  Commit: 82f7d3c7660c9edb871858e066a78b504a74404b
      https://github.com/llvm/llvm-project/commit/82f7d3c7660c9edb871858e066a78b504a74404b
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/Module.h
    M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
    M llvm/unittests/IR/ModuleTest.cpp

  Log Message:
  -----------
  [RFC] [IR] Modules can make filtered range to iterate function definitions only (#167972)

We often wish to iterate over all function definitions in a module for
transformations.
Such API doesn't exists yet, so what people normally used is to iterate
over all functions and skip the declarations:

```cpp
for (auto& F: M) {
    if (F.isDeclaration()) continue;
}
```

A regex search of the following pattern shows 100+ hits inside llvm, let
along other patterns, e.g. collect all definitions in a module into a
worklist.

```
for \(.*F.*\).*\n.*if \(F.isDeclaration\(\)\).*\n.*continue;
```

This pattern is verbose and hard to review in a long loop. 
As an alternative, this patch provides a new API that iterates over
definitions only.

Tests:

1. Added unit test
2. Touching @svkeerthy 's tool (also to show the cleanness of the new
API).

Note: `function_definitions` seems a bit long, I'm open to suggestions
to other names.


  Commit: 26f511626611c2b4ae1410b736158ea82c57c8ce
      https://github.com/llvm/llvm-project/commit/26f511626611c2b4ae1410b736158ea82c57c8ce
  Author: David Green <david.green at arm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    A llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/cbz_wzr.mir
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [AArch64] Optimize CBZ wzr and friends. (#161508)

In certain situations, especially with zero phi operands propagated after tail
duplications, we can end up with CBZ/CBNZ/TBZ/TBNZ with a zero register. It
can can be introduced late in the pipeline.

This patch adds a basic pass to fold them away to either a direct branch or
removing the instruction entirely. It runs quite late n the pipeline, so doesnt
fit into any of the existing passes. It only needs to look at the terminators
to each BB, so the new pass should have a limited in compile-time impact.


  Commit: 74f49a240edff4570189b139dc19a22b86ce54b7
      https://github.com/llvm/llvm-project/commit/74f49a240edff4570189b139dc19a22b86ce54b7
  Author: Ebin Jose <ebin371 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins.c

  Log Message:
  -----------
  [clang codegen] Fix __builtin_bswapg with bool operand (#169285)

Prevents assertion in CGBuiltin for i1 - returns identity. Created test
file for the same.

Fixes #168690.


  Commit: fb6513130de7578c847aaaf6c278809b6c2476c3
      https://github.com/llvm/llvm-project/commit/fb6513130de7578c847aaaf6c278809b6c2476c3
  Author: happyCoder92 <wiktorg at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_interface.inc
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/asan_abi/asan_abi.cpp
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack_force_disabled.cpp

  Log Message:
  -----------
  Add API to temporalily suppress usage of ASAN's fake stack (#160135)

Intended use-case is for threads that use (or switch to) stack with
special properties e.g. backed by MADV_DONTDUMP memory.

---------

Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: a5c751e3253f09567cef180edee60cc19cc5e366
      https://github.com/llvm/llvm-project/commit/a5c751e3253f09567cef180edee60cc19cc5e366
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 26f511626611


  Commit: a5b02e1fbdaccd366dc0b36e64af06c8af7be040
      https://github.com/llvm/llvm-project/commit/a5b02e1fbdaccd366dc0b36e64af06c8af7be040
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll

  Log Message:
  -----------
  [X86] Add EltsFromConsecutiveLoads test for infinite loop if we match reverse(vzload(ptr)) patterns (#170889)

This was fixed by #170852 - previously we're get stuck in a loop:
shuffle(movq(p),undef,1,0) -> bulid_vector(0, p[0]) -> shuffle(movq(p),1,0) .....


  Commit: 190b8d0b4f19e1c3d68c5d153ec7be71a9969192
      https://github.com/llvm/llvm-project/commit/190b8d0b4f19e1c3d68c5d153ec7be71a9969192
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++.dylib
    A clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++experimental.a
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/bin/.keep
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/include/c++/v1/.keep
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++.a
    A clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++experimental.a
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    A clang/test/Driver/darwin-link-libcxx.cpp
    M clang/test/Driver/experimental-library-flag.cpp
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [clang][Darwin] Prefer the toolchain-provided libc++.dylib if there is one (#170303)

When libc++ is bootstrapped with clang, the resulting clang uses the just-built libc++
headers from <install>/bin/../include/c++/v1. However, before this patch, clang would
still use the system-provided libc++.dylib (usually in the Apple SDK) because it would
fail to add the corresponding linker flag to find the just-built libc++. After this
patch, Clang will instead link against the toolchain provided `libc++.dylib` in
`<install>/lib` if it exists, which will result in programs being linked against
corresponding libc++ headers and dylib.

Fixes #77653
rdar://107060541


  Commit: 67bd96661fa06248583b74989c713162e85998fd
      https://github.com/llvm/llvm-project/commit/67bd96661fa06248583b74989c713162e85998fd
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCHelpers.h
    A clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp

  Log Message:
  -----------
  [OpenACC][CIR] Implement 'device_type' lowering for Routine (#170893)

The 'device_type' clause modifies how the clauses that are legal after
it (seq, worker, vector, gang, bind) work. Previous patches were aware
of how that was going to happen, thanks to experience with doing the
same work on other constructs/clauses, so this is mostly just a repeat
of those.

Tests for the first 4 and interactions with them are included, but
'bind' is not yet implemented, so its device_type tests will be added
when it is lowered.


  Commit: 2d98a366b79e9cc657a3cf0ee3203f046eab457a
      https://github.com/llvm/llvm-project/commit/2d98a366b79e9cc657a3cf0ee3203f046eab457a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  [LoopPeel] Fix typo Derefencebale -> Dereferenceable. NFC (#170791)

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 665bc49c138a48075c54fe377d49481ad65f1135
      https://github.com/llvm/llvm-project/commit/665bc49c138a48075c54fe377d49481ad65f1135
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/utils/profcheck-xfail.txt

  Log Message:
  -----------
  [profcheck] Remove test cases fixed in #168161 from xfail list. (#170787)

The expected failed test cases 
```
  Transforms/ExpandVariadics/expand-va-intrinsic-split-linkage.ll
  Transforms/ExpandVariadics/expand-va-intrinsic-split-simple.ll
  Transforms/ExpandVariadics/intrinsics.ll
```
have been fixed by https://github.com/llvm/llvm-project/pull/168161.

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 3de977cdde85847b89f443ad13a0d591e87e8871
      https://github.com/llvm/llvm-project/commit/3de977cdde85847b89f443ad13a0d591e87e8871
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/test/CIR/IR/try-catch.cir

  Log Message:
  -----------
  [CIR] Add structured ResumeOp (#170042)

Add SCF Resume op to be used before the CFG flattening pass

Issue https://github.com/llvm/llvm-project/issues/154992


  Commit: db4e6e6911b0cb3b26c377859beaf3a9d5c162cb
      https://github.com/llvm/llvm-project/commit/db4e6e6911b0cb3b26c377859beaf3a9d5c162cb
  Author: Vijay Kandiah <vkandiah at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/test/Examples/NVGPU/lit.local.cfg

  Log Message:
  -----------
  [NVGPU] Disable nvdsl lit tests if python bindings not enabled (#170898)

A recent change https://github.com/llvm/llvm-project/pull/167321 enabled
nvdsl examples to be run by default. These examples require MLIR python
bindings to be enabled, and this PR makes sure they're skipped if
`config.enable_bindings_python` is not enabled.


  Commit: 11056c3fc35ed6fa04b7127db289cf42fd7e0bb5
      https://github.com/llvm/llvm-project/commit/11056c3fc35ed6fa04b7127db289cf42fd7e0bb5
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/MC/AArch64/seh-large-func.s
    M llvm/test/MC/AArch64/seh-optimize.s
    M llvm/test/MC/AArch64/seh-packed-unwind.s

  Log Message:
  -----------
  [AArch64] [test] Make unwind info tests actually use the right instructions

This makes them match the expected decoding of the unwind info
opcodes, avoiding mismatch indications from "dumpbin -unwindinfo".

This is a follow up to 458035027c80e984bf5862140aed20d5e50dd22a;
these cases were missed in that commit.


  Commit: 35203a6a86c79b75b94a5f48b38ab75e90b3f40a
      https://github.com/llvm/llvm-project/commit/35203a6a86c79b75b94a5f48b38ab75e90b3f40a
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp

  Log Message:
  -----------
  [ASan] Do not return from void functions in asan_abi_shim.cpp (#170897)

This was causing compilation failures on MacOS.


  Commit: 94984d5cdbceafa786e26a9dc1f70167e574d945
      https://github.com/llvm/llvm-project/commit/94984d5cdbceafa786e26a9dc1f70167e574d945
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/lit.common.cfg.py

  Log Message:
  -----------
  Reapply "[compiler-rt] Default to Lit's Internal Shell (#168232)"

This reverts commit c90fb56b41cfaaee448700f6b068c830d8d0b5bd.

The failures identified in the revert commit have noe been fixed:
1. 4bc783be2dab2b0b2b3010158891e44a2b4ee991
2. 126462035a1eb7adeb97f6beac48b6bddac65d09
3. d7307f458cd3522470859ce0cee8d47d37a70670


  Commit: 97c4f367b81022ce8bb7cf21b0682842c59b5d59
      https://github.com/llvm/llvm-project/commit/97c4f367b81022ce8bb7cf21b0682842c59b5d59
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp

  Log Message:
  -----------
  [BOLT] Fix comments for interprocedural branches. NFC (#170745)


  Commit: 5e4974fbd330733ceaabba988b632cd8906e892a
      https://github.com/llvm/llvm-project/commit/5e4974fbd330733ceaabba988b632cd8906e892a
  Author: google-yfyang <yfyang at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/empty-database.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/invalid-database.cpp

  Log Message:
  -----------
  [clang-tidy][NFC] Add checks to tests that have no checks specified. (#170895)

#157306 removes some default checks and this breaks a few tests where no
checks were explicitly specified.


  Commit: ad1edc9cbcc9ac4e86931da3e676a7b7caef1be3
      https://github.com/llvm/llvm-project/commit/ad1edc9cbcc9ac4e86931da3e676a7b7caef1be3
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir

  Log Message:
  -----------
  [mlir][IntegerRangeAnalysis] Handle multi-dimensional loops (#170765)

Since LoopLikeInterface has (for some time) been extended to handle
multiple induction variables (and thus lower and upper bounds), handle
those bounds one at a time.


  Commit: f57f338313c19ff94959203ea98e96e4ec895c51
      https://github.com/llvm/llvm-project/commit/f57f338313c19ff94959203ea98e96e4ec895c51
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/include/flang/Lower/CUDA.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/CUDA.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Add double descriptor information in allocate/deallocate operations (#170901)

After https://github.com/llvm/llvm-project/pull/169740, the allocate and
deallocate cuf operation can be converted later. Update the way to
recognize double descriptor case by adding this information directly on
the operation itself.


  Commit: c5bdc21ff7996d2db8b133ff36f4de0ca569f98d
      https://github.com/llvm/llvm-project/commit/c5bdc21ff7996d2db8b133ff36f4de0ca569f98d
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/lib/IR/DebugLoc.cpp

  Log Message:
  -----------
  [NFC][LLVM] Minor code cleanup in DebugLoc (#170757)

Remove indentation of code in llvm namespace in header file. Remove {}
around single statement if in .cpp file.


  Commit: 6b51e26d39fa6ed5cf4a204921701e8168b39099
      https://github.com/llvm/llvm-project/commit/6b51e26d39fa6ed5cf4a204921701e8168b39099
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Host/FileAction.h
    M lldb/source/Host/common/FileAction.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove FileAction::GetPath (#170764)

This method puts strings into the ConstString pool and vends them as
llvm::StringRefs. Most of the uses only require a `std::string` or a
`const char *`. This can be achieved without wasting memory.


  Commit: 5dfd9c4f841fb183580b02b5d252e630eeda3c5e
      https://github.com/llvm/llvm-project/commit/5dfd9c4f841fb183580b02b5d252e630eeda3c5e
  Author: Erick Ochoa Lopez <erick.ochoalopez at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    A mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir

  Log Message:
  -----------
  [mlir][amdgpu] Add lowering for make_dma_descriptor (#169955)

* Adds initial lowering for make_dma_descriptor supporting tensors of
rank 2.
* Adds folders for make_dma_descriptor allowing statically known
operands to be folded into attributes.
* Add AllElementTypesMatch<["lds", "global"]> to make_dma_base.
* Rename pad to pad_amount
* Rename pad_every to pad_interval


  Commit: 29fa151a077221ee8a28fa49a746a91893741b2b
      https://github.com/llvm/llvm-project/commit/29fa151a077221ee8a28fa49a746a91893741b2b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp

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

This patch fixes:

  mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp:2666:10: error:
  unused variable 'v4i32' [-Werror,-Wunused-variable]


  Commit: bb17dfa7d149be7a051fe9687af4093d968fb52b
      https://github.com/llvm/llvm-project/commit/bb17dfa7d149be7a051fe9687af4093d968fb52b
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    M mlir/test/Transforms/move-operation-deps.mlir
    M mlir/test/lib/Transforms/TestTransformsOps.td

  Log Message:
  -----------
  [mlir][bufferization] Enable moving dependent values in eliminate-empty-tensors (#169718)

Currently empty tensor elimination by constructing a SubsetExtractionOp
to match a SubsetInsertionOp at the end of a DPS chain will fail if any
operands required by the insertion op don't dominate the insertion point
for the extraction op.

This change improves the transformation by attempting to move all pure
producers of required operands to the insertion point of the extraction
op. In the process this improves a number of tests for empty tensor
elimination.


  Commit: 5daad5bf45b3c7280f7b06979fb580f70e2c4fd0
      https://github.com/llvm/llvm-project/commit/5daad5bf45b3c7280f7b06979fb580f70e2c4fd0
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGen/lifetime-call-temp.c
    A clang/test/CodeGen/lifetime-invoke-c.c
    A clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
    A clang/test/CodeGenCXX/amdgcn-call-with-aggarg.cc
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp

  Log Message:
  -----------
  [clang] Limit lifetimes of temporaries to the full expression (#170517)

We have several issues describing suboptimal stack usage related to the
lifetimes of temporary objects, such as #68747, #43598, and #109204.

Previously, https://reviews.llvm.org/D74094 tried to address this. In
that review, a few issues were brought up, particularly a concern about
the lifetimes of the temporaries needing to be extended to end of the
full expression. While there are arguably more optimal lifetime bounds
we could enforce, for now we can conservatively make them extend to the
end of the full expression, and later refine the optimization to use
tighter bounds (or perhaps a better mechanism in the middle end?).

Fixes #68747

Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Co-authored-by: Erik Pilkington <erik.pilkington at gmail.com>

---------

Co-authored-by: Nick Desaulniers <nick.desaulniers at gmail.com>
Co-authored-by: Erik Pilkington <erik.pilkington at gmail.com>


  Commit: acb97429762cfc980a20a9ecbadbf73e28319a86
      https://github.com/llvm/llvm-project/commit/acb97429762cfc980a20a9ecbadbf73e28319a86
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Commands/CommandObjectBreakpoint.cpp

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

This patch fixes:

  lldb/source/Commands/CommandObjectBreakpoint.cpp:1266:21: error:
  unused variable 'expr' [-Werror,-Wunused-variable]


  Commit: 03c37160a1735c12e4acbac70a593ff3e68d5ad7
      https://github.com/llvm/llvm-project/commit/03c37160a1735c12e4acbac70a593ff3e68d5ad7
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Semantics/canonicalize-do.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/test/Parser/OpenMP/atomic-label-do.f90
    M flang/test/Parser/OpenMP/cross-label-do.f90
    M flang/test/Semantics/OpenMP/loop-association.f90

  Log Message:
  -----------
  [flang][OpenMP] Reject END DO on construct that crosses label-DO (#169714)

In a label-DO construct where two or more loops share the same
teminator, an OpenMP construct must enclose all the loops if an
end-directive is present. E.g.

```
  do 100 i = 1,10
!$omp do
    do 100 j = 1,10
    100 continue
!$omp end do    ! Error, but ok if this line is removed
```

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


  Commit: 7470d721c65d7924c5e1743ec73aa44fa858717c
      https://github.com/llvm/llvm-project/commit/7470d721c65d7924c5e1743ec73aa44fa858717c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll

  Log Message:
  -----------
  [AArch64] Add isAppleMLike helper to check for M cores and aligned CPUs. (#170553)

Add a new isAppleMLike helper, that returns true if the core is part of
the Apple M core family or Apple A14 or later. Used to apply cost
decisions consistently to those groups of cores.

The function is now a single place to update when new cores are added.
It also makes sure we apply unrolling decisions for newer Apple cores to
Apple A17.

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


  Commit: 9dc9c1445df88f86f18e9ff6aefc25f4e983441e
      https://github.com/llvm/llvm-project/commit/9dc9c1445df88f86f18e9ff6aefc25f4e983441e
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [NFC] Become CODEOWNER of AMDGPULowerBufferFatPointers (#167953)


  Commit: 93d64a5c4d912e8898d1e7c7e5a95f6f44f7e983
      https://github.com/llvm/llvm-project/commit/93d64a5c4d912e8898d1e7c7e5a95f6f44f7e983
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll

  Log Message:
  -----------
  [SPIRV] Add `<2 x half>` and `<4 x half>` atomics via `SPV_NV_shader_atomic_fp16_vector` (#170213)

This adds support for the `SPV_NV_shader_atomic_fp16_vector` extension,
and then uses it to enable lowering of atomic add, sub, min and max on 2
and 4 component vectors of FP16, which are rather common options in ML
workloads. Even though `bfloat16` also works in practice, we do not
enable it since it's not specified in the extension (which might need
updating / promoting to KHR at least). A `TODO` is also inserted in
`SPIRVModuleAnalysis.cpp' regarding the need to upgrade its ample usage
of `report_fatal_error`; I have a WiP patch for that, but it still needs
a bit of baking. Finally, a paired patch will be necessary in the
Translator, as it's not aware of the extension either - I'll update this
review to reference the PR once I create it.


  Commit: ecf492761e5385b6d94c8c87c62d2dbf9c565add
      https://github.com/llvm/llvm-project/commit/ecf492761e5385b6d94c8c87c62d2dbf9c565add
  Author: Alex Langford <alangford at apple.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp

  Log Message:
  -----------
  [lldb] Fix Windows build after 6b51e26d39fa (#170917)


  Commit: bad1a88963f35ec57d27be4450a9c7074ec095d7
      https://github.com/llvm/llvm-project/commit/bad1a88963f35ec57d27be4450a9c7074ec095d7
  Author: Kewen Meng <Kewen.Meng at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/test/Driver/darwin-link-libcxx.cpp

  Log Message:
  -----------
  [clang] Temporarily disable Darwin test for linking against libc++ on non-darwin systems (#170912)

Disable the test added in #170303, which breaks bots that don't use ld
as their linker. This is a temporary and narrow disablement of the test
until we can make it more general again, to get the bots green.

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 22a2c27a0aa0d3aa5d4222f6e766646166450543
      https://github.com/llvm/llvm-project/commit/22a2c27a0aa0d3aa5d4222f6e766646166450543
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)

The second pass of promotion to vector can be quite simple. Reflect that
simplicity in the code for better maintainability.


  Commit: f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99
      https://github.com/llvm/llvm-project/commit/f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll

  Log Message:
  -----------
  AMDGPU/PromoteAlloca: Always use i32 for indexing (#170511)

Create more canonical code that may even lead to slightly better
codegen.


  Commit: 4c59219fc9901016506486e7943b30fdf269f286
      https://github.com/llvm/llvm-project/commit/4c59219fc9901016506486e7943b30fdf269f286
  Author: lntue <lntue at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/docs/configure.rst
    M libc/include/llvm-libc-macros/fenv-macros.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    A libc/src/__support/FPUtil/x86_64/fenv_mxcsr_utils.h
    A libc/src/__support/FPUtil/x86_64/fenv_x86_common.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_only.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_utils.h
    M libc/src/__support/macros/properties/compiler.h
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/smoke/FModTest.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][fenv] Refactor x86 fenv implementations to make it work for various fenv_t. (#165015)


  Commit: b464d772e5a262565ec65dd125be3036e42d2b9d
      https://github.com/llvm/llvm-project/commit/b464d772e5a262565ec65dd125be3036e42d2b9d
  Author: Petr Penzin <ppenzin at oss.tenstorrent.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV] LMUL lists for indexed and strided loads (#169756)

Create additional lists representing valid LMULs for strided and indexed
load of particular element sizes.


  Commit: a1eff73a8ef24729ee1d0f0fd639fb79403c3686
      https://github.com/llvm/llvm-project/commit/a1eff73a8ef24729ee1d0f0fd639fb79403c3686
  Author: Sterling-Augustine <saugustine at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M libc/src/string/string_length.h

  Log Message:
  -----------
  Include inline_strlen.h on aarch64 only if the target has vector instrucions (#170892)


  Commit: b78fd58d22c38b8b199760ebaa93dbd42509ab7e
      https://github.com/llvm/llvm-project/commit/b78fd58d22c38b8b199760ebaa93dbd42509ab7e
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-default-none-function.f90
    M flang/test/Semantics/OpenACC/acc-error.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
    M flang/test/Semantics/allocate14.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/collectives05.f90
    M flang/test/Semantics/data03.f90
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/doconcurrent05.f90
    M flang/test/Semantics/doconcurrent06.f90
    M flang/test/Semantics/doconcurrent08.f90
    M flang/test/Semantics/dosemantics05.f90
    M flang/test/Semantics/dosemantics08.f90
    M flang/test/Semantics/dosemantics09.f90
    M flang/test/Semantics/dosemantics11.f90
    M flang/test/Semantics/dosemantics12.f90
    M flang/test/Semantics/etime.f90
    M flang/test/Semantics/getcwd.f90
    M flang/test/Semantics/getdefinition05.f90
    M flang/test/Semantics/io11.f90
    M flang/test/Semantics/kinds02.f90

  Log Message:
  -----------
  [flang][NFC] Strip trailing whitespace from tests (11 of 14)

Only some fortran source files in flang/test/Semantics have been
modified. The remaining files will be cleaned up in subsequent commits.


  Commit: d8e52c0360b718adccb731dbd8310c9340eee10f
      https://github.com/llvm/llvm-project/commit/d8e52c0360b718adccb731dbd8310c9340eee10f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Use strict whitespace checks for VPlan printing test.

Use --strict-whitespace for vplan-printing.ll to catch stray
whitespaces. The test updates show a few places where we currently emit
those.


  Commit: de86696dba5ae5da02b3de7df5b8aaa8e1371893
      https://github.com/llvm/llvm-project/commit/de86696dba5ae5da02b3de7df5b8aaa8e1371893
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-negative-index.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll

  Log Message:
  -----------
  Revert "AMDGPU/PromoteAlloca: Always use i32 for indexing (#170511)"

This reverts commit f558c30146e51d5ef72bf3d4b3f0e86ca19e4b99.

Failure on clang-hip-vega20: https://lab.llvm.org/buildbot/#/builders/123/builds/31779


  Commit: 0e0ec4c348670864e18224dc99dd615c0d7e72f8
      https://github.com/llvm/llvm-project/commit/0e0ec4c348670864e18224dc99dd615c0d7e72f8
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

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

  Log Message:
  -----------
  Revert "AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)"

This reverts commit 22a2c27a0aa0d3aa5d4222f6e766646166450543.

Failure on clang-hip-vega20: https://lab.llvm.org/buildbot/#/builders/123/builds/31779


  Commit: 58c8f5768102751ce932b597563aaa4a3b7fa430
      https://github.com/llvm/llvm-project/commit/58c8f5768102751ce932b597563aaa4a3b7fa430
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Add CMake flag for AArch64 Linux with 39-bit VA. (#167028)

Sanitizers currently assume AArch64 Linux has 48-bit VA. Followup
patches will add checks for this flag to asan and hwasan.


  Commit: 7982688b69c75ff40f34184438d3ef7e905ff006
      https://github.com/llvm/llvm-project/commit/7982688b69c75ff40f34184438d3ef7e905ff006
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c

  Log Message:
  -----------
  [Profile] Fix debuginfod test with internal shell

The recent relanding of the internal shell broke one of the debuginfod
tests as it is not tested by any upstream buildbot due to the use of
curl. Rewriting the test to not use subshells is pretty simple.


  Commit: a55221da6047dace6ec7f24967ce0113429d093f
      https://github.com/llvm/llvm-project/commit/a55221da6047dace6ec7f24967ce0113429d093f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    R clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++.dylib
    R clang/test/Driver/Inputs/basic_darwin_toolchain/usr/lib/libc++experimental.a
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/bin/.keep
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/include/c++/v1/.keep
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++.a
    R clang/test/Driver/Inputs/basic_darwin_toolchain_static/usr/lib/libc++experimental.a
    M clang/test/Driver/darwin-header-search-libcxx.cpp
    R clang/test/Driver/darwin-link-libcxx.cpp
    M clang/test/Driver/experimental-library-flag.cpp
    M compiler-rt/cmake/config-ix.cmake

  Log Message:
  -----------
  [clang] Revert changes to prefer the toolchain-provided libc++.dylib

This patch reverts the change that made clang prefer the toolchain
libc++.dylib when there is one (#170303), and the subsequent test
workaround we landed to fix bots (#170912).

We are seeing some failure on macOS LLDB bots that need to be
investigated, and that will require more time than I can spare
before the end of today.

This reverts commits bad1a88963 and 190b8d0b.


  Commit: 7afeea414d57300399bf917eaba7efe1fd821bae
      https://github.com/llvm/llvm-project/commit/7afeea414d57300399bf917eaba7efe1fd821bae
  Author: Eli Friedman <efriedma at qti.qualcomm.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/test/CodeGen/AArch64/wineh-pac.ll

  Log Message:
  -----------
  Autogenerate llvm/test/CodeGen/AArch64/wineh-pac.ll (#170925)

Using custom CHECK lines doesn't really help here.


  Commit: 0cb237d69e16a8c5d234a5c5ab1b1ebcf6f94cd3
      https://github.com/llvm/llvm-project/commit/0cb237d69e16a8c5d234a5c5ab1b1ebcf6f94cd3
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    A clang/test/CIR/CodeGen/atomic-thread-fence.c

  Log Message:
  -----------
  [CIR] Add AtomicFenceOp and signal/thread fence builtins and required helpers (#168346)

This PR adds the AtomicFenceOp and signal/thread fence builtins.


  Commit: 27bf5fdcc69364f991756e978d184f2dbee04a19
      https://github.com/llvm/llvm-project/commit/27bf5fdcc69364f991756e978d184f2dbee04a19
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  DAG: Add overload of getExternalSymbol using RTLIB::LibcallImpl (#170587)


  Commit: 7ba71012ee89229b86ab12cd31f0e69744131555
      https://github.com/llvm/llvm-project/commit/7ba71012ee89229b86ab12cd31f0e69744131555
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf

  Log Message:
  -----------
  [flang][cuda] Add pointer attribute to allocate/deallocate ops (#170937)

Similar for the double descriptor information added in
https://github.com/llvm/llvm-project/pull/170901, we need to carry over
the pointer information until the op can be converted. The correct
detection would fail if the op is converted late.


  Commit: 2e2fe683af53884ce1f371dc8162db22a0ebbbe8
      https://github.com/llvm/llvm-project/commit/2e2fe683af53884ce1f371dc8162db22a0ebbbe8
  Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp

  Log Message:
  -----------
  [clang][DependencyScanning] Use ArrayRef in function signatures over const std::vector& (NFC) (#170941)

This updates the dependency-scanning tooling to consistently use
`ArrayRef<std::string>` rather than `const std::vector<std::string>&` in
function signatures.

This is done to help break PR #169964 into smaller, more manageable
pieces.


  Commit: 8d57635c59cbe535258dc3b7c69daf6b68b9e2a2
      https://github.com/llvm/llvm-project/commit/8d57635c59cbe535258dc3b7c69daf6b68b9e2a2
  Author: John Harrison <harjohn at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPLog.cpp
    M lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/DAPSessionManager.cpp
    M lldb/tools/lldb-dap/EventHelper.cpp
    M lldb/tools/lldb-dap/EventHelper.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPLogTest.cpp
    M lldb/unittests/DAP/TestBase.cpp
    M lldb/unittests/DAP/TestBase.h

  Log Message:
  -----------
  [lldb-dap] Improving logging support and formatting. (#170731)

Adjusting logs in a few ways:

* The `DAP_LOG` and `DAP_LOG_ERROR` macros now include the file/line of
the log statement.
* Added support for creating a log with a prefix. This simplifies how we
create logs for the `lldb_dap::DAP` instance and `lldb_dap::Transport`
instance, allowing us to not have to pass the client name around as
much.
* Updated logging usage to take the `lldb_dap::Log` as a reference but
it now defaults to `llvm::raw_null_stream` if not configured. This
ensures more uniform access to the logger, even if its not written
anywhere.

The logs now look like:

```
1764896564.038788080 (stdio) --> {"command":"initialize","arguments":{...},"type":"request","seq":1}
1764896564.039064884 DAP.cpp:1007 (stdio) queued (command=initialize seq=1)
1764896564.039768934 (stdio) <-- {"body":{...},"command":"initialize","request_seq":1,"seq":1,"success":true,"type":"response"}
```


  Commit: 113b2d7f0778cec0eb1b5d5813301ffb1ed67b59
      https://github.com/llvm/llvm-project/commit/113b2d7f0778cec0eb1b5d5813301ffb1ed67b59
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll

  Log Message:
  -----------
  [MemProf] Add remarks for matched allocs and calls (#170379)

The new remarks are somewhat equivalent to the -memprof-print-match-info
messages, however, are not deduplicated across the module so will be
generally more verbose.


  Commit: 96c733e0dbc1d1426ec2ea23898e23ff9851fde0
      https://github.com/llvm/llvm-project/commit/96c733e0dbc1d1426ec2ea23898e23ff9851fde0
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M lldb/include/lldb/Target/StackID.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    A lldb/test/API/functionalities/scripted_frame_provider/python_helper.py
    M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py

  Log Message:
  -----------
  [lldb] Add support for PC-less scripted frames (#170805)

Scripted frames that materialize Python functions or other non-native
code are PC-less by design, meaning they don't have valid program
counter values. Previously, these frames would display invalid addresses
(`0xffffffffffffffff`) in backtrace output.

This patch updates `FormatEntity` to detect and suppress invalid address
display for PC-less frames, adds fallback to frame methods when symbol
context is unavailable, and modifies `StackFrame::GetSymbolContext` to
skip PC-based symbol resolution for invalid addresses.

The changes enable PC-less frames to display cleanly with proper
function names, file paths, and line numbers, and allow for source
display of foreign sources (like Python). Includes comprehensive test
coverage demonstrating frames pointing to Python source files.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: dedcf88569c4b45b1ab78d05304045326336de0c
      https://github.com/llvm/llvm-project/commit/dedcf88569c4b45b1ab78d05304045326336de0c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/test/CIR/CodeGen/nrvo.cpp

  Log Message:
  -----------
  [CIR] Implement NRVO variable cleanup (#170774)

This implements the cleanup handling for C++ NRVO variables. Because
exception handling is still incomplete, this doesn't behave any
differently with exceptions enabled yet, but the NRVO-specific code for
that case is trivial.


  Commit: ce2518f59d9bc67553f05536ac9bb200827c36da
      https://github.com/llvm/llvm-project/commit/ce2518f59d9bc67553f05536ac9bb200827c36da
  Author: Jin Huang <jinhuang1102 at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll

  Log Message:
  -----------
  [AA] Improve precision for monotonic atomic load/store operations (#158169)

Refines `getModRefInfo` for `Monotonic` and `Unordered` atomic
operations to perform a full alias evaluation instead of conservatively
returning `ModRef`.

This allows AA to return more precise results (e.g., `NoModRef`),
unblocking optimizations in passes like DSE/PRE when the pointers are
proven not to alias.

LIT testing: 
1. Fixed the `XFAIL` test `@test9` in `DSE/atomic-todo.ll`, where the
improved AA now allows DSE to correctly remove a dead store.
2. Added test `@test9a` to the same file to ensure DSE is still blocked
when pointers may alias.
3. I am also reviewing tests in GVN/PRE to see where this change may be
beneficial. While all existing tests pass, I will update this PR with
any new GVN test cases in a follow-up commit.

---------

Co-authored-by: Jin Huang <jingold at google.com>


  Commit: 762a171b3d6f6eb64dc5a844fcb25caa4ece7d00
      https://github.com/llvm/llvm-project/commit/762a171b3d6f6eb64dc5a844fcb25caa4ece7d00
  Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/test/CIR/CodeGen/label-values.c
    A clang/test/CIR/IR/indirect-br.cir

  Log Message:
  -----------
  [CIR] Upstream support for cir.indirectbr (#169967)

This PR upstreams support for the `cir.indirectBr` operation, which is
used to implement GCC’s labels-as-values `indirect goto`.
To ensure correct lowering, we introduce precise bookkeeping to
associate each `block_address` operation with its corresponding `label`
op. This is required because a `block_address` may be emitted before the
`label` it refers to. In such cases, the reference is deferred and later
resolved by `resolveBlockAddresses`, which guarantees that all
`indirectBr` successors are emitted in the correct and fully resolved
order.


  Commit: ee77c58e5b592379db7f50031fb41c15ba72118b
      https://github.com/llvm/llvm-project/commit/ee77c58e5b592379db7f50031fb41c15ba72118b
  Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    A llvm/test/CodeGen/AMDGPU/promote-alloca-cfg.ll

  Log Message:
  -----------
  Reland "AMDGPU/PromoteAlloca: Simplify how deferred loads work (#170510)" (#170955)

The second pass of promotion to vector can be quite simple. Reflect that
simplicity in the code for better maintainability.

v2:
- don't put placeholders into the SSAUpdater, and add a test that shows
the problem


  Commit: 6d8714b52375b3b7a7f269cd1ec4cc73baece38b
      https://github.com/llvm/llvm-project/commit/6d8714b52375b3b7a7f269cd1ec4cc73baece38b
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    A clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/index.rst

  Log Message:
  -----------
  [Clang][CIR][Doc] Document CIR code duplication plans (#166457)

This adds a document describing known problems with code duplication in
the CIR codegen implementation, strategies to mitigate the risks caused
by that code duplication, and a general long-term plan for minimizing
the problem.


  Commit: b1ee4d08be7b53eb4676df5833127adbb778a487
      https://github.com/llvm/llvm-project/commit/b1ee4d08be7b53eb4676df5833127adbb778a487
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [RISCV] Refactor some code in RISCVMergeBaseOffset.NFC (#170839)


  Commit: e546d0f5d4179ac95e464ea968f7759e61aea8a3
      https://github.com/llvm/llvm-project/commit/e546d0f5d4179ac95e464ea968f7759e61aea8a3
  Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Analysis/CostModel/RISCV/fshl_fshr.ll

  Log Message:
  -----------
  [RISCV][TTI] Add cost model for ROTL/ROTR (#170824)

A funnel shift with the same first two operands is a rotate. When
`Zbb/Zbkb` is enabled we can use the `ROL(W)/ROR(I)(W)` instruction to
represent this. Add cost model support for this.

Similar to https://github.com/llvm/llvm-project/pull/169335 for AArch64.


  Commit: 472fd70ace5d8522452b98e803e11676cad8753f
      https://github.com/llvm/llvm-project/commit/472fd70ace5d8522452b98e803e11676cad8753f
  Author: mitchell <mitchell.xu2 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/utils/git/code-lint-helper.py

  Log Message:
  -----------
  [Github][CI] Introduce `LintHelper` class in `code-lint-helper.py`  (#168827)

This commit introduces a new `LintHelper` class to
`llvm/utils/git/code-lint-helper.py`, which lays the groundwork for
integrating additional linters (`doc8`) into Github Action workflow.

---------

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>


  Commit: 72d5fe5ec4d400b1e9444d78f2022f486aa19af1
      https://github.com/llvm/llvm-project/commit/72d5fe5ec4d400b1e9444d78f2022f486aa19af1
  Author: Katya Romanova <56653669+romanova-ekaterina at users.noreply.github.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M clang/lib/Headers/cpuid.h

  Log Message:
  -----------
  [clang] [doc] Added documentation to intrinsics in cpuid.h (#170507)

Added doxygen comments to 4 intrinsincs in cpuid.h


  Commit: 90e3ac6c55e61f0cc9ec9921dfa9d85b8a582a5d
      https://github.com/llvm/llvm-project/commit/90e3ac6c55e61f0cc9ec9921dfa9d85b8a582a5d
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/User.h
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/User.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/unittests/IR/InstructionsTest.cpp
    M llvm/unittests/IR/VerifierTest.cpp

  Log Message:
  -----------
  Revert "[IR] Don't store switch case values as operands" (#170962)

Reverts llvm/llvm-project#166842

Breaks Mips LLVM tests, and LLD on bots.
See llvm/llvm-project#166842


  Commit: b889df39d61ba4ca003473749ee620fab87895b0
      https://github.com/llvm/llvm-project/commit/b889df39d61ba4ca003473749ee620fab87895b0
  Author: Teresa Johnson <tejohnson at google.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll

  Log Message:
  -----------
  [MemProf] Add option to print function GUIDs during matching (#170946)

For debugging, add -memprof-print-function-guids option that will cause
memprof matching to emit the computed function GUID for every function
definition in the module to stderr. This is helpful because the profile
only contains the function GUID and not the names.


  Commit: 9e9e64af48bce45c8f569e02d568ec58a855aadb
      https://github.com/llvm/llvm-project/commit/9e9e64af48bce45c8f569e02d568ec58a855aadb
  Author: Sairudra More <sairudra60 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
    A clang/test/OpenMP/target_firstprivate_pointer_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_26.cpp

  Log Message:
  -----------
  [OpenMP] Fix defaultmap(firstprivate:pointer) handling  (#169622)

This fixes a bug where pointers from defaultmap(firstprivate:pointer)
were incorrectly treated as firstprivate literals, causing
OMP_MAP_LITERAL to be set. This prevented the runtime from performing
device address lookup.
Realted PR https://github.com/llvm/llvm-project/pull/167879

Co-authored-by: Sairudra More <moresair at pe31.hpc.amslabs.hpecorp.net>


  Commit: 75aa7bdf45fc810bbf5efd3d029948857ded4de5
      https://github.com/llvm/llvm-project/commit/75aa7bdf45fc810bbf5efd3d029948857ded4de5
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp

  Log Message:
  -----------
  [ASan] Disable another test on Darwin due to ulimit stack issues

Similar to #170786.


  Commit: 8fe38c4c9c71c7a86ecdba476ee5bae4c02c0dfe
      https://github.com/llvm/llvm-project/commit/8fe38c4c9c71c7a86ecdba476ee5bae4c02c0dfe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/test/AST/ByteCode/const-eval.c

  Log Message:
  -----------
  [clang][bytecode] Allocate InitMaps via Program/InterpState allocators (#170272)

Save them as a pointer intead of using a shared_ptr. This we we can use
the pointer integer value to differentiate the "no initmap yet" and "all
values initialzed" cases.

This regresses one test case in const-eval.c, but as it turns out, that
only worked coincidentally before.


  Commit: 5fc8e87fe20d41654d8efc6bc93f7503b3bfdd36
      https://github.com/llvm/llvm-project/commit/5fc8e87fe20d41654d8efc6bc93f7503b3bfdd36
  Author: Nishant Patel <nishant.b.patel at intel.com>
  Date:   2025-12-05 (Fri, 05 Dec 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Retain anchor op layouts for XeGPU nD ops (#170934)

This PR adds support to retain the anchor op layouts (after dropping
what's not required) for xegpu nD ops during workgroup to subgroup &
unroll transformation


  Commit: fa2eabd7706d2f47064c980b456d3a255e9ea3f3
      https://github.com/llvm/llvm-project/commit/fa2eabd7706d2f47064c980b456d3a255e9ea3f3
  Author: Kunqiu Chen <camsyn at foxmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Hoist common code for switch multi-case destinations (#165700)

Previously, hoistCommonCodeFromSuccessors did not support hoisting
common code for multi-case destinations of `switch`.

However, if all the predecessors of a given Succ are the same (i.e.,
multi-case destination), it is safe to hoist the common code from Succ
to Pred, which is what this PR does.

See discussion
https://github.com/llvm/llvm-project/pull/165570#discussion_r2473290327.
Alive2 proof: https://alive2.llvm.org/ce/z/cYuczq
Optimization Impact:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/3003


  Commit: 979462c876c96c3023c0b5e42c8eda88323fd745
      https://github.com/llvm/llvm-project/commit/979462c876c96c3023c0b5e42c8eda88323fd745
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/lib/Target/AMDGPU/InstCombineTables.td
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [AMDGPU] Eliminate InstCombineTables.td. NFC. (#170857)

This also eliminates the generated file InstCombineTables.inc which was
99% identical to the existing AMDGPUGenSearchableTables.inc.


  Commit: 9dc8caef09d9d0b631639e54de097b4603b9c369
      https://github.com/llvm/llvm-project/commit/9dc8caef09d9d0b631639e54de097b4603b9c369
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

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

  Log Message:
  -----------
  [bazel] Port 979462c876c96c3023c0b5e42c8eda88323fd745


  Commit: dda048665317077d677cea0a15894be4d021b9c7
      https://github.com/llvm/llvm-project/commit/dda048665317077d677cea0a15894be4d021b9c7
  Author: Alexander Root <32245479+rootjalex at users.noreply.github.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M mlir/docs/LangRef.md

  Log Message:
  -----------
  [MLIR] Update broken link in LangRef.md (#170938)

Noticed the link was dead when reading the docs. According to the
wayback machine, it was a link to "Revisiting Out-of-SSA Translation for
Correctness, Code Quality, and Efficiency" by Boissinot et al., so
providing a more permanent link.


  Commit: af27159e17b91cc5f49c2b6ed24f3d422312d6ec
      https://github.com/llvm/llvm-project/commit/af27159e17b91cc5f49c2b6ed24f3d422312d6ec
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test

  Log Message:
  -----------
  [clang-tidy] Show correct diff instructions when check_alphabetical_order.py fails (#170971)

Before the change, when given such incorrect ordering:
```
   :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
   :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
   :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
   :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
   :doc:`modernize-use-integer-sign-comparison <modernize/use-integer-sign-comparison>`, "Yes"
```
Script output suggested removing `modernize-use-equals-default` line
that came after `modernize-use-emplace` but in my actual file, we can
see that current ordering is different (same as 2nd part of the diff):
```
# |      :doc:`modernize-use-constraints <modernize/use-constraints>`, "Yes"
# |      :doc:`modernize-use-default-member-init <modernize/use-default-member-init>`, "Yes"
# |      :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
# |      :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
# | -    :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
# |      :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
# |      :doc:`modernize-use-integer-sign-comparison <modernize/use-integer-sign-comparison>`, "Yes"
# |      :doc:`modernize-use-nodiscard <modernize/use-nodiscard>`, "Yes"
# | --- 316,323 ----
# |      :doc:`modernize-use-constraints <modernize/use-constraints>`, "Yes"
# |      :doc:`modernize-use-default-member-init <modernize/use-default-member-init>`, "Yes"
# |      :doc:`modernize-use-designated-initializers <modernize/use-designated-initializers>`, "Yes"
# | +    :doc:`modernize-use-equals-default <modernize/use-equals-default>`, "Yes"
# |      :doc:`modernize-use-emplace <modernize/use-emplace>`, "Yes"
# |      :doc:`modernize-use-equals-delete <modernize/use-equals-delete>`, "Yes"
```

We need to invert the diff, so the user can correctly follow its
recommendations.


  Commit: 830ef4e4e2d0f181ed1cfacbc3daacb2555ff9e4
      https://github.com/llvm/llvm-project/commit/830ef4e4e2d0f181ed1cfacbc3daacb2555ff9e4
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M openmp/CMakeLists.txt
    A openmp/cmake/modules/LibompCheckFortranFlag.cmake
    A openmp/cmake/modules/LibompHandleFlags.cmake
    A openmp/cmake/modules/LibompUtils.cmake
    A openmp/module/CMakeLists.txt
    A openmp/module/omp_lib.F90.var
    A openmp/module/omp_lib.h.var
    M openmp/runtime/CMakeLists.txt
    R openmp/runtime/cmake/LibompCheckFortranFlag.cmake
    M openmp/runtime/cmake/LibompExports.cmake
    R openmp/runtime/cmake/LibompHandleFlags.cmake
    R openmp/runtime/cmake/LibompUtils.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    R openmp/runtime/src/include/omp_lib.F90.var
    R openmp/runtime/src/include/omp_lib.h.var

  Log Message:
  -----------
  [openmp][NFCI] Move .mod code out of runtimes subdir (#169909)

Extracted out of #169638. The motivation is that we want to build
Fortran module files for device triples (amdgpu-amd-amdhsa and
nvptx64-nvidia-cuda) as well, but the runtimes/ directory is only
included for host devices.

This PR itself should not change anything, including that omp_lib.mod is
only built on host devices triple. Some dependencies used for building
omp_lib.mod are hoisted out of runtimes/ as well. IMHO they all make
sense to hoist, e.g. LIBOMP_VERSION_MAJOR/LIBOMP_VERSION_MINOR should be
usable in the entire OpenMP subproject.


  Commit: 404a9032c78f85241c952a97d1d363b9ae865cc1
      https://github.com/llvm/llvm-project/commit/404a9032c78f85241c952a97d1d363b9ae865cc1
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    M clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py

  Log Message:
  -----------
  [clang-tidy] Show descriptive error message when check_alphabetical_order.py fails (#170975)

Now we give clearer instructions on how to interpret the output of the
script to fix issues it reported


  Commit: 6d38c876478dac4a42f9d6e37692348deabf6a25
      https://github.com/llvm/llvm-project/commit/6d38c876478dac4a42f9d6e37692348deabf6a25
  Author: Martin Storsjö <martin at martin.st>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Options/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    R clang/test/CodeGen/lifetime-call-temp.c
    R clang/test/CodeGen/lifetime-invoke-c.c
    R clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
    R clang/test/CodeGenCXX/amdgcn-call-with-aggarg.cc
    M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
    M clang/test/CodeGenCoroutines/pr59181.cpp

  Log Message:
  -----------
  Revert "[clang] Limit lifetimes of temporaries to the full expression (#170517)"

This reverts commit 5daad5bf45b3c7280f7b06979fb580f70e2c4fd0.

That commit caused broken compilation for some cases, see
https://github.com/llvm/llvm-project/pull/170517#issuecomment-3620079591.


  Commit: f927fb97fdf974648914a0b20ba9ac0b5eca0d3a
      https://github.com/llvm/llvm-project/commit/f927fb97fdf974648914a0b20ba9ac0b5eca0d3a
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2025-12-06 (Sat, 06 Dec 2025)

  Changed paths:
    M .ci/generate_test_report_lib.py
    M .ci/generate_test_report_lib_test.py
    M .github/CODEOWNERS
    M .github/workflows/issue-write.yml
    M .github/workflows/premerge.yaml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/runtime/instr.cpp
    M bolt/runtime/sys_aarch64.h
    M bolt/test/runtime/AArch64/instrumentation-ind-call.c
    A bolt/test/safe-icf-relative-vtable.cpp
    M clang-tools-extra/Maintainers.rst
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeReader.h
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.h
    M clang-tools-extra/clang-doc/Generators.cpp
    M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/Serialize.h
    M clang-tools-extra/clang-doc/assets/enum-template.mustache
    M clang-tools-extra/clang-doc/support/Utils.cpp
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h
    M clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/UseStdMinMaxCheck.cpp
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order.py
    A clang-tools-extra/clang-tidy/tool/check_alphabetical_order_test.py
    M clang-tools-extra/clangd/ScanningProjectModules.cpp
    M clang-tools-extra/clangd/test/lit.cfg.py
    M clang-tools-extra/clangd/test/system-include-extractor.test
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/mem57-cpp.rst
    M clang-tools-extra/test/clang-doc/DR-131697.cpp
    M clang-tools-extra/test/clang-doc/assets.cpp
    M clang-tools-extra/test/clang-doc/enum.cpp
    M clang-tools-extra/test/clang-doc/mustache-index.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/use-std-min-max.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/alphabetical-order.test
    M clang-tools-extra/test/clang-tidy/infrastructure/empty-database.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/invalid-database.cpp
    M clang-tools-extra/test/lit.cfg.py
    M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
    M clang-tools-extra/unittests/clang-doc/ClangDocTest.h
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
    M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
    M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
    A clang/docs/ClangIRCodeDuplication.rst
    M clang/docs/HIPSupport.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/index.rst
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/TypeBase.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/LifetimeSafety.h
    M clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/DependencyScanning/DependencyScannerImpl.h
    M clang/include/clang/DependencyScanning/DependencyScanningUtils.h
    M clang/include/clang/DependencyScanning/DependencyScanningWorker.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Tooling/DependencyScanningTool.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h
    M clang/lib/AST/ByteCode/Disasm.cpp
    M clang/lib/AST/ByteCode/EvaluationResult.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
    M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
    M clang/lib/Analysis/LifetimeSafety/Checker.cpp
    M clang/lib/Analysis/LifetimeSafety/Facts.cpp
    M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
    M clang/lib/Analysis/LifetimeSafety/Loans.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
    M clang/lib/CIR/CodeGen/CIRGenClass.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
    M clang/lib/CIR/CodeGen/CIRGenCleanup.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
    M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
    M clang/lib/CIR/CodeGen/CIRGenOpenACCHelpers.h
    M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
    M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
    M clang/lib/CIR/CodeGen/EHScopeStack.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGPointerAuth.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/DependencyScanning/DependencyScannerImpl.cpp
    M clang/lib/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaOpenACCClause.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Tooling/DependencyScanningTool.cpp
    M clang/test/AST/ByteCode/const-eval.c
    A clang/test/CIR/CodeGen/atomic-thread-fence.c
    M clang/test/CIR/CodeGen/globals.cpp
    M clang/test/CIR/CodeGen/label-values.c
    M clang/test/CIR/CodeGen/nrvo.cpp
    M clang/test/CIR/CodeGenBuiltins/X86/avx512bw-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512dq-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
    M clang/test/CIR/CodeGenBuiltins/X86/xop-builtins.c
    M clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
    A clang/test/CIR/CodeGenOpenACC/routine-device_type.cpp
    A clang/test/CIR/IR/indirect-br.cir
    M clang/test/CIR/IR/try-catch.cir
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfmul.c
    A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_bfscale.c
    A clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_fmmla-f32f16.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp32.c
    M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_matmul_fp64.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f16mf8.c
    A clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_fmmla-f32mf8.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qrshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_qshl.c
    M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_rshl.c
    M clang/test/CodeGen/builtin-counted-by-ref.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/cfi-salt.c
    M clang/test/CodeGen/kcfi.c
    A clang/test/Driver/fsanitize-annotate-debug-info.c
    A clang/test/Driver/fsanitize-baremetal.c
    A clang/test/Driver/fsanitize-cfi.c
    A clang/test/Driver/fsanitize-leak.c
    A clang/test/Driver/fsanitize-memtag.c
    A clang/test/Driver/fsanitize-merge.c
    A clang/test/Driver/fsanitize-minimal-runtime.c
    A clang/test/Driver/fsanitize-numerical.c
    A clang/test/Driver/fsanitize-realtime.c
    A clang/test/Driver/fsanitize-recover.c
    A clang/test/Driver/fsanitize-safe-stack.c
    A clang/test/Driver/fsanitize-scudo.c
    A clang/test/Driver/fsanitize-skip-hot-cutoff.c
    A clang/test/Driver/fsanitize-trap.c
    A clang/test/Driver/fsanitize-undefined.c
    M clang/test/Driver/fsanitize.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/OpenMP/target_defaultmap_codegen_01.cpp
    A clang/test/OpenMP/target_firstprivate_pointer_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_26.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/Sema/AArch64/sve-vector-conditional-op.cpp
    M clang/test/Sema/builtin-counted-by-ref.c
    A clang/test/Sema/format-attr-missing-gnu.c
    A clang/test/Sema/format-attr-missing.c
    A clang/test/Sema/format-attr-missing.cpp
    A clang/test/Sema/format-attr-missing.m
    A clang/test/Sema/format-strings-nonnull.c
    A clang/test/Sema/format-strings-nonnull.cpp
    M clang/test/Sema/format-strings-scanf.c
    M clang/test/Sema/format-strings.c
    M clang/test/Sema/warn-fortify-scanf.c
    A clang/test/Sema/warn-lifetime-safety-suggestions.cpp
    A clang/test/SemaCUDA/deduction-guide-attrs.cu
    A clang/test/SemaCUDA/deduction-guide-overload.cu
    A clang/test/SemaCUDA/deduction-guide.cu
    M clang/test/SemaCXX/format-strings-0x.cpp
    M clang/test/SemaCXX/format-strings.cpp
    M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
    M clang/test/SemaObjC/format-strings-objc.m
    M clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/compute-construct-async-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
    M clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
    M clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
    M clang/test/SemaOpenACC/data-construct-async-clause.c
    M clang/test/SemaOpenACC/loop-construct-collapse-clause.cpp
    M clang/test/SemaOpenACC/loop-construct-tile-clause.cpp
    M clang/test/SemaOpenACC/routine-construct-clauses.cpp
    M clang/tools/clang-scan-deps/ClangScanDeps.cpp
    M clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
    M clang/unittests/Analysis/LifetimeSafetyTest.cpp
    M clang/unittests/Tooling/DependencyScannerTest.cpp
    M compiler-rt/CMakeLists.txt
    M compiler-rt/include/sanitizer/asan_interface.h
    M compiler-rt/lib/asan/asan_fake_stack.cpp
    M compiler-rt/lib/asan/asan_interceptors.h
    M compiler-rt/lib/asan/asan_interface.inc
    M compiler-rt/lib/asan/asan_thread.cpp
    M compiler-rt/lib/asan/asan_thread.h
    M compiler-rt/lib/asan_abi/asan_abi.cpp
    M compiler-rt/lib/asan_abi/asan_abi.h
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
    M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack.cpp
    A compiler-rt/test/asan/TestCases/suppress_fake_stack_force_disabled.cpp
    M compiler-rt/test/lit.common.cfg.py
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-debuginfod.c
    M flang-rt/include/flang-rt/runtime/descriptor.h
    M flang-rt/lib/runtime/descriptor.cpp
    M flang-rt/lib/runtime/extensions.cpp
    M flang-rt/test/Driver/exec.f90
    M flang-rt/unittests/Runtime/Descriptor.cpp
    M flang/docs/Intrinsics.md
    M flang/docs/ReleaseNotes.md
    M flang/docs/ReleaseNotesTemplate.txt
    M flang/include/flang/Lower/CUDA.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Runtime/extensions.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/CUDA.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Transforms/CUDA/CUFAllocationConversion.cpp
    M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
    M flang/lib/Parser/openmp-utils.cpp
    M flang/lib/Semantics/canonicalize-do.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/module/__fortran_builtins.f90
    A flang/module/flang_debug.f90
    M flang/test/Fir/CUDA/cuda-allocate.fir
    M flang/test/Fir/FirToSCF/iter-while.fir
    M flang/test/Fir/global.fir
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    A flang/test/Lower/Intrinsics/show_descriptor.f90
    R flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    A flang/test/Lower/OpenMP/simd-linear.f90
    M flang/test/Lower/OpenMP/target.f90
    A flang/test/Lower/OpenMP/wsloop-linear.f90
    M flang/test/Parser/OpenMP/atomic-label-do.f90
    M flang/test/Parser/OpenMP/atomic-unparse.f90
    M flang/test/Parser/OpenMP/cross-label-do.f90
    M flang/test/Parser/OpenMP/declare-reduction-operator.f90
    M flang/test/Parser/OpenMP/declare-variant.f90
    M flang/test/Parser/OpenMP/defaultmap-unparse.f90
    M flang/test/Parser/OpenMP/if-clause-unparse.f90
    M flang/test/Parser/OpenMP/interop-construct.f90
    M flang/test/Parser/OpenMP/lastprivate-clause.f90
    M flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Parser/OpenMP/master-unparse.f90
    M flang/test/Parser/acc-data-statement.f90
    M flang/test/Parser/assume-aligned.f90
    M flang/test/Parser/compiler-directives.f90
    M flang/test/Preprocessing/compiler_defined_macros.F90
    M flang/test/Preprocessing/pp132.f90
    M flang/test/Semantics/Inputs/modfile73-a.f90
    M flang/test/Semantics/Inputs/modfile73-b.f90
    M flang/test/Semantics/Inputs/modfile73-c.f90
    M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    M flang/test/Semantics/OpenACC/acc-default-none-function.f90
    M flang/test/Semantics/OpenACC/acc-error.f90
    M flang/test/Semantics/OpenACC/acc-parallel.f90
    M flang/test/Semantics/OpenACC/acc-reduction-validity.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    M flang/test/Semantics/allocate14.f90
    M flang/test/Semantics/bindings01.f90
    M flang/test/Semantics/collectives05.f90
    M flang/test/Semantics/data03.f90
    M flang/test/Semantics/doconcurrent01.f90
    M flang/test/Semantics/doconcurrent05.f90
    M flang/test/Semantics/doconcurrent06.f90
    M flang/test/Semantics/doconcurrent08.f90
    M flang/test/Semantics/dosemantics05.f90
    M flang/test/Semantics/dosemantics08.f90
    M flang/test/Semantics/dosemantics09.f90
    M flang/test/Semantics/dosemantics11.f90
    M flang/test/Semantics/dosemantics12.f90
    M flang/test/Semantics/etime.f90
    M flang/test/Semantics/getcwd.f90
    M flang/test/Semantics/getdefinition05.f90
    M flang/test/Semantics/io11.f90
    M flang/test/Semantics/kinds02.f90
    M flang/tools/f18/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/config/config.json
    M libc/config/linux/arm/config.json
    M libc/config/linux/config.json
    M libc/config/linux/riscv/config.json
    M libc/docs/configure.rst
    M libc/include/llvm-libc-macros/fenv-macros.h
    M libc/shared/math.h
    A libc/shared/math/expm1.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FEnvImpl.h
    M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    A libc/src/__support/FPUtil/x86_64/fenv_mxcsr_utils.h
    A libc/src/__support/FPUtil/x86_64/fenv_x86_common.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_only.h
    A libc/src/__support/FPUtil/x86_64/fenv_x87_utils.h
    M libc/src/__support/macros/properties/compiler.h
    M libc/src/__support/math/CMakeLists.txt
    A libc/src/__support/math/expm1.h
    M libc/src/__support/time/CMakeLists.txt
    A libc/src/__support/time/clock_conversion.h
    M libc/src/__support/time/linux/CMakeLists.txt
    R libc/src/__support/time/linux/clock_conversion.h
    M libc/src/__support/time/linux/monotonicity.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expm1.cpp
    M libc/src/string/memory_utils/aarch64/inline_strlen.h
    M libc/src/string/memory_utils/generic/inline_strlen.h
    M libc/src/string/memory_utils/x86_64/inline_strlen.h
    A libc/src/string/string_length.h
    M libc/src/string/string_utils.h
    M libc/test/UnitTest/FEnvSafeTest.cpp
    M libc/test/shared/CMakeLists.txt
    M libc/test/shared/shared_math_test.cpp
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libclc/CMakeLists.txt
    M libclc/clc/include/clc/atomic/atomic_decl.inc
    M libclc/clc/include/clc/float/definitions.h
    M libclc/clc/include/clc/integer/definitions.h
    M libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
    M libclc/clc/lib/generic/atomic/clc_atomic_def.inc
    M libclc/cmake/modules/AddLibclc.cmake
    R libclc/opencl/include/clc/opencl/as_type.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
    M libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_clear.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_flag_test_and_set.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_load.h
    M libclc/opencl/include/clc/opencl/atomic/atomic_store.h
    M libclc/opencl/include/clc/opencl/explicit_fence/explicit_memory_fence.h
    M libclc/opencl/include/clc/opencl/synchronization/barrier.h
    R libclc/opencl/include/clc/opencl/synchronization/cl_mem_fence_flags.h
    M libclc/opencl/include/clc/opencl/synchronization/utils.h
    R libclc/opencl/include/clc/opencl/types.h
    M libclc/opencl/include/clc/opencl/utils.h
    M libclc/opencl/lib/clspv/shared/vstore_half.cl
    M libclc/opencl/lib/generic/atomic/atom_add.cl
    M libclc/opencl/lib/generic/atomic/atom_and.cl
    M libclc/opencl/lib/generic/atomic/atom_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atom_dec.cl
    M libclc/opencl/lib/generic/atomic/atom_inc.cl
    M libclc/opencl/lib/generic/atomic/atom_max.cl
    M libclc/opencl/lib/generic/atomic/atom_min.cl
    M libclc/opencl/lib/generic/atomic/atom_or.cl
    M libclc/opencl/lib/generic/atomic/atom_sub.cl
    M libclc/opencl/lib/generic/atomic/atom_xchg.cl
    M libclc/opencl/lib/generic/atomic/atom_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_cmpxchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
    M libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
    M libclc/opencl/lib/generic/atomic/atomic_def.inc
    M libclc/opencl/lib/generic/atomic/atomic_exchange.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
    M libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
    M libclc/opencl/lib/generic/atomic/atomic_load.cl
    M libclc/opencl/lib/generic/atomic/atomic_max.cl
    M libclc/opencl/lib/generic/atomic/atomic_min.cl
    M libclc/opencl/lib/generic/atomic/atomic_or.cl
    M libclc/opencl/lib/generic/atomic/atomic_store.cl
    M libclc/opencl/lib/generic/atomic/atomic_sub.cl
    M libclc/opencl/lib/generic/atomic/atomic_xchg.cl
    M libclc/opencl/lib/generic/atomic/atomic_xor.cl
    M libcxx/docs/VendorDocumentation.rst
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__configuration/availability.h
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/num.h
    A libcxx/include/__locale_dir/support/newlib.h
    M libcxx/include/__random/mersenne_twister_engine.h
    M libcxx/include/module.modulemap.in
    M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
    M libcxx/utils/libcxx/test/modules.py
    M lld/MachO/ConcatOutputSection.cpp
    M lld/MachO/Config.h
    M lld/MachO/Driver.cpp
    M lld/MachO/Options.td
    A lld/test/MachO/set-slop-scale.s
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Host/FileAction.h
    M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Target/Language.h
    M lldb/include/lldb/Target/StackID.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/lldbutil.py
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Host/common/FileAction.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Host/windows/ProcessLauncherWindows.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedFrame.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Target.cpp
    M lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
    A lldb/test/API/functionalities/scripted_frame_provider/python_helper.py
    M lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    A lldb/test/API/python_api/sblineentry/TestSBLineEntry.py
    M lldb/test/API/symbol_ondemand/breakpoint_source_regex/TestSourceTextRegexBreakpoint.py
    M lldb/test/Shell/Breakpoint/condition-lang.test
    M lldb/test/Shell/Commands/command-wrong-subcommand-error-msg.test
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPLog.cpp
    M lldb/tools/lldb-dap/DAPLog.h
    M lldb/tools/lldb-dap/DAPSessionManager.cpp
    M lldb/tools/lldb-dap/EventHelper.cpp
    M lldb/tools/lldb-dap/EventHelper.h
    M lldb/tools/lldb-dap/Transport.cpp
    M lldb/tools/lldb-dap/Transport.h
    M lldb/tools/lldb-dap/tool/lldb-dap.cpp
    M lldb/unittests/DAP/CMakeLists.txt
    A lldb/unittests/DAP/DAPLogTest.cpp
    M lldb/unittests/DAP/TestBase.cpp
    M lldb/unittests/DAP/TestBase.h
    M lldb/unittests/Interpreter/TestOptions.cpp
    M llvm/docs/CodeReview.rst
    M llvm/docs/DeveloperPolicy.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/Lexicon.rst
    A llvm/docs/RFCProcess.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/SPIRVUsage.rst
    M llvm/docs/index.rst
    M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
    A llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
    M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
    M llvm/include/llvm/CodeGen/MachineBlockHashInfo.h
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/CodeGen/RuntimeLibcallUtil.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallSPSViaEPC.h
    M llvm/include/llvm/ExecutionEngine/Orc/CallViaEPC.h
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/Module.h
    M llvm/include/llvm/IR/RuntimeLibcalls.td
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    M llvm/include/llvm/Transforms/Utils/ProfileVerify.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileInference.h
    M llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/ExpandMemCmp.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachinePipeliner.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/CachePruning.cpp
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/lib/Target/AArch64/AArch64RedundantCondBranchPass.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/EvergreenInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    R llvm/lib/Target/AMDGPU/InstCombineTables.td
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDSPInstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrFPU.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsMSAInstrInfo.td
    M llvm/lib/Target/Mips/MipsRegisterInfo.td
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
    M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
    M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrCMovSetCC.td
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
    M llvm/lib/Transforms/Scalar/InferAlignment.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/lib/Transforms/Utils/ProfileVerify.cpp
    M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    A llvm/test/Analysis/CostModel/RISCV/fshl_fshr.ll
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-shrink-wrapping.ll
    M llvm/test/CodeGen/AArch64/block-placement-optimize-branches.ll
    M llvm/test/CodeGen/AArch64/cbz_wzr.mir
    M llvm/test/CodeGen/AArch64/combine-sdiv.ll
    M llvm/test/CodeGen/AArch64/lrint-conv-fp16-win.ll
    M llvm/test/CodeGen/AArch64/lrint-conv-win.ll
    M llvm/test/CodeGen/AArch64/lround-conv-fp16-win.ll
    M llvm/test/CodeGen/AArch64/lround-conv-win.ll
    A llvm/test/CodeGen/AArch64/mulhu-srl-promoted-ops.ll
    M llvm/test/CodeGen/AArch64/pr164181.ll
    M llvm/test/CodeGen/AArch64/pr166870.ll
    M llvm/test/CodeGen/AArch64/rem-by-const.ll
    A llvm/test/CodeGen/AArch64/sdiv-by-const-promoted-ops.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfmul.ll
    A llvm/test/CodeGen/AArch64/sme2-intrinsics-bfscale.ll
    M llvm/test/CodeGen/AArch64/srem-lkk.ll
    A llvm/test/CodeGen/AArch64/sve-fmmla-f32f16.ll
    A llvm/test/CodeGen/AArch64/sve-fmsub.ll
    M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f16mf8.ll
    A llvm/test/CodeGen/AArch64/sve2-fmmla-f32mf8.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp-undef.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-uniform-dsp.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/CodeGen/AArch64/udiv-by-const-promoted-ops.ll
    M llvm/test/CodeGen/AArch64/vector-lrint.ll
    M llvm/test/CodeGen/AArch64/wineh-pac.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/atomicrmw_usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/atomics_cond_sub.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_cond.ll
    A llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-usub_sat.ll
    M llvm/test/CodeGen/AMDGPU/callbr-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx1030.ll
    M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.csub.ll
    M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log.ll
    M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/packetizer.ll
    M llvm/test/CodeGen/AMDGPU/permute.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
    A llvm/test/CodeGen/AMDGPU/promote-alloca-cfg.ll
    M llvm/test/CodeGen/AMDGPU/rotl.ll
    M llvm/test/CodeGen/AMDGPU/rotr.ll
    M llvm/test/CodeGen/AMDGPU/shl.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
    M llvm/test/CodeGen/DirectX/llc-pipeline.ll
    A llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
    M llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv32.ll
    M llvm/test/CodeGen/RISCV/branch-relaxation-rv64.ll
    M llvm/test/CodeGen/RISCV/mul.ll
    M llvm/test/CodeGen/RISCV/rv32zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64zbkb.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv32.ll
    M llvm/test/CodeGen/RISCV/rvp-ext-rv64.ll
    M llvm/test/CodeGen/RISCV/rvv/allone-masked-to-unmasked.mir
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfrsub-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
    M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfmul-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfrsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vmulhu-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
    M llvm/test/CodeGen/SPARC/optcompare.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_faddfsub_vec_float16.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_NV_shader_atomic_fp16_vector/atomicrmw_fminfmax_vec_float16.ll
    A llvm/test/CodeGen/SystemZ/args-22.ll
    M llvm/test/CodeGen/Thumb/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/X86/apx/setzucc.ll
    A llvm/test/CodeGen/X86/basic-block-sections-clusters-bb-hash.ll
    M llvm/test/CodeGen/X86/combine-sub-usat.ll
    M llvm/test/CodeGen/X86/merge-consecutive-loads-128.ll
    A llvm/test/CodeGen/X86/pr167793.ll
    M llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
    M llvm/test/MC/AArch64/seh-large-func.s
    M llvm/test/MC/AArch64/seh-optimize.s
    M llvm/test/MC/AArch64/seh-packed-unwind.s
    A llvm/test/MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-agent.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    R llvm/test/Transforms/DeadStoreElimination/atomic-todo.ll
    M llvm/test/Transforms/DeadStoreElimination/atomic.ll
    M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
    M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
    M llvm/test/Transforms/GVN/assume-equal.ll
    A llvm/test/Transforms/InferAlignment/ptrtoint.ll
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-dup.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll
    M llvm/test/Transforms/InstCombine/ptrtoaddr.ll
    M llvm/test/Transforms/InstCombine/select-safe-impliedcond-transforms.ll
    A llvm/test/Transforms/InstSimplify/ConstProp/roundeven.ll
    A llvm/test/Transforms/JumpThreading/skip-merging-duplicate-convergence-intrinsics.ll
    M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing-metadata.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-alloc-site.ll
    M llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
    M llvm/test/Transforms/PGOProfile/prof-verify-known-cold.ll
    M llvm/test/Transforms/PGOProfile/prof-verify.ll
    A llvm/test/Transforms/PGOProfile/profcheck-llvm.global_ctors.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll
    A llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aix.ll
    A llvm/test/Transforms/VectorCombine/AArch64/shuffle-of-intrinsic-permute.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-fma-const.ll
    M llvm/test/Verifier/invalid-splice.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/aarch64_generated_funcs.ll.nogenerated.expected
    M llvm/test/tools/llvm-readobj/MachO/file-headers.test
    A llvm/test/tools/llvm-reduce/reduce-sink-defs-to-uses.ll
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
    M llvm/tools/llvm-readobj/MachODumper.cpp
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    M llvm/tools/llvm-reduce/DeltaPasses.def
    A llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.h
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/IR/ModuleTest.cpp
    M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
    M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.cpp
    M llvm/utils/TableGen/Common/CodeGenTarget.h
    M llvm/utils/git/code-lint-helper.py
    M llvm/utils/gn/build/sync_source_lists_from_cmake.py
    M llvm/utils/gn/secondary/bolt/unittests/Passes/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
    R llvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/tools/clang-scan-deps/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
    A llvm/utils/gn/secondary/clang/unittests/DependencyScanning/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Mips/BUILD.gn
    M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
    M llvm/utils/profcheck-xfail.txt
    M llvm/utils/release/build_llvm_release.bat
    M mlir/docs/Interfaces.md
    M mlir/docs/LangRef.md
    M mlir/include/mlir/Bindings/Python/Nanobind.h
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    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/OpenACCUtils.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Interfaces.td
    M mlir/include/mlir/IR/Remarks.h
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/TableGen/Interfaces.h
    M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
    M mlir/include/mlir/Tools/PDLL/AST/Types.h
    M mlir/include/mlir/Transforms/CMakeLists.txt
    A mlir/include/mlir/Transforms/DialectInlinerInterface.td
    M mlir/include/mlir/Transforms/InliningUtils.h
    M mlir/include/mlir/Transforms/RegionUtils.h
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Bindings/Python/MainModule.cpp
    M mlir/lib/Bindings/Python/NanobindUtils.h
    M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
    M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
    M mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
    M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
    M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
    M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
    M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
    M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtils.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/Dialect/XeGPU/TransformOps/XeGPUTransformOps.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUOptimizeBlockLoads.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
    M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
    M mlir/lib/IR/Remarks.cpp
    M mlir/lib/TableGen/Interfaces.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Tools/PDLL/AST/Context.cpp
    R mlir/lib/Tools/PDLL/AST/TypeDetail.h
    M mlir/lib/Tools/PDLL/AST/Types.cpp
    M mlir/lib/Transforms/CMakeLists.txt
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/python/mlir/ir.py
    M mlir/test/Conversion/AMDGPUToROCDL/gfx1250.mlir
    M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
    A mlir/test/Dialect/AMDGPU/amdgpu-make-dma-descriptor-fold.mlir
    M mlir/test/Dialect/AMDGPU/invalid.mlir
    M mlir/test/Dialect/AMDGPU/ops.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
    A mlir/test/Dialect/Index/inliner-interface.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Dialect/OpenACC/invalid.mlir
    M mlir/test/Dialect/OpenACC/ops.mlir
    A mlir/test/Dialect/OpenACC/recipe-populate-private-from-firstprivate.mlir
    M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
    M mlir/test/Examples/NVGPU/Ch0.py
    M mlir/test/Examples/NVGPU/Ch1.py
    M mlir/test/Examples/NVGPU/Ch2.py
    M mlir/test/Examples/NVGPU/Ch3.py
    M mlir/test/Examples/NVGPU/Ch4.py
    M mlir/test/Examples/NVGPU/Ch5.py
    M mlir/test/Examples/NVGPU/lit.local.cfg
    M mlir/test/Examples/NVGPU/tools/nvdsl.py
    M mlir/test/Examples/NVGPU/tools/nvgpucompiler.py
    M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/wmma-matmul-f64.mlir
    M mlir/test/Integration/GPU/CUDA/async.mlir
    M mlir/test/Interfaces/InferIntRangeInterface/infer-int-range-test-ops.mlir
    A mlir/test/Interfaces/TilingInterface/query-fusability.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    A mlir/test/Target/LLVMIR/nvvm/fence-invalid.mlir
    A mlir/test/Target/LLVMIR/nvvm/fence.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    M mlir/test/Transforms/move-operation-deps.mlir
    M mlir/test/lib/Dialect/OpenACC/TestRecipePopulate.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
    M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
    M mlir/test/lib/Transforms/TestTransformsOps.td
    A mlir/test/mlir-tblgen/dialect-interface.td
    M mlir/test/python/execution_engine.py
    M mlir/test/python/ir/auto_location.py
    M mlir/test/python/ir/operation.py
    M mlir/tools/mlir-tblgen/CMakeLists.txt
    A mlir/tools/mlir-tblgen/DialectInterfacesGen.cpp
    M mlir/unittests/Dialect/OpenACC/OpenACCUtilsTest.cpp
    M mlir/unittests/IR/RemarkTest.cpp
    A offload/test/offloading/fortran/target-is-device-ptr.f90
    M openmp/CMakeLists.txt
    A openmp/cmake/modules/LibompCheckFortranFlag.cmake
    A openmp/cmake/modules/LibompHandleFlags.cmake
    A openmp/cmake/modules/LibompUtils.cmake
    A openmp/module/CMakeLists.txt
    A openmp/module/omp_lib.F90.var
    A openmp/module/omp_lib.h.var
    M openmp/runtime/CMakeLists.txt
    R openmp/runtime/cmake/LibompCheckFortranFlag.cmake
    M openmp/runtime/cmake/LibompExports.cmake
    R openmp/runtime/cmake/LibompHandleFlags.cmake
    R openmp/runtime/cmake/LibompUtils.cmake
    M openmp/runtime/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    R openmp/runtime/src/include/omp_lib.F90.var
    R openmp/runtime/src/include/omp_lib.h.var
    M utils/bazel/configure.bzl
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/4b1113a8a760...f927fb97fdf9

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