[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