[all-commits] [llvm/llvm-project] ef1330: [VPlan] Keep a recipe's metadata when converting i...
hidekisaito via All-commits
all-commits at lists.llvm.org
Tue Sep 22 13:32:08 PDT 2026
Branch: refs/heads/users/hidekisaito/perm-pk16-hazard
Home: https://github.com/llvm/llvm-project
Commit: ef1330915be676b84e2afcb714b470f763ce97d8
https://github.com/llvm/llvm-project/commit/ef1330915be676b84e2afcb714b470f763ce97d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-metadata.ll
Log Message:
-----------
[VPlan] Keep a recipe's metadata when converting it to a single scalar. (#224359)
If metadata applies to each lane, it also trivially applies when
narrowing an operation to just a single lane. Preserve metadata when
narrowing to single-scalar.
Commit: 9fc5ec3df34d3c6c600845aa246e7bf07764fc57
https://github.com/llvm/llvm-project/commit/9fc5ec3df34d3c6c600845aa246e7bf07764fc57
Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/avoid-ld4.ll
M llvm/test/CodeGen/AArch64/vector-deinterleave-load.ll
Log Message:
-----------
[AArch64] Support lowering of wider interleaved load (#222998)
After type legalization wider interleaved load gets spllitted into
legal chunked load, perform a dag combine to turn it into interleaved
load if chunked load is contiguous and operand to vector_deinterleave.
Commit: 10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
https://github.com/llvm/llvm-project/commit/10a37743cd3b5a15f800e16d4f8cf34a9e9f1c46
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-ir2vec/llvm-ir2vec.cpp
M llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
M llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
tools: Compute the module DataLayout from the triple, not the TargetMachine (#224259)
TargetMachine::createDataLayout is an unreliable cache given the
existence of module flags which change the datalayout, so this should be removed.
Migrate tool users to directly compute the datalayout.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: ef762d75e62ce06378fdfaa8a61ea2af150e6428
https://github.com/llvm/llvm-project/commit/ef762d75e62ce06378fdfaa8a61ea2af150e6428
Author: Akhil Goel <akhil.goel at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
Log Message:
-----------
[SPIR-V] Correct predicated load/store opcode values (#220062)
This PR fixes the `SPV_INTEL_predicated_io` extension instruction
opcodes to match the SPIR-V header definitions.
Commit: aba79e62699d157a36bb95b3ac5eabb4f8b48e29
https://github.com/llvm/llvm-project/commit/aba79e62699d157a36bb95b3ac5eabb4f8b48e29
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/use-device-addr-performance.f90
M offload/include/omptarget.h
M offload/libomptarget/exports
M offload/libomptarget/interface.cpp
A offload/test/offloading/fortran/target-use-device-addr-opt.f90
Log Message:
-----------
[Flang][OpenMP] Improve use_device_addr code generation (#221265)
Currently, the `use_device_addr` implementation reuses the standard
mapping mechanism, which is suboptimal for code like:
```
SUBROUTINE device_addr_func(x)
INTEGER, TARGET, INTENT(IN) :: x(:)
!$omp target data use_device_addr (x)
CALL bar_offload(c_loc(x))
```
For such code, Flang maps the temporary descriptor for the x array to
the GPU. This unnecessary mapping is time-consuming and can be a large
bottleneck for Fortran-to-C function wrappers that use `use_device_addr`
to pass a C pointer for offload code.
For `use_device_addr`, we only need to update the base address in the
descriptor that is used inside `use_device_addr`. This is cheaper than
mapping the whole descriptor to the GPU.
Scope of changes:
1) Modified mapping for the use_device_addr clause. Map only the
descriptor and do not check whether it is present on the GPU.
2) Generated a copy of the host descriptor with an updated base address
for the use_device_addr code region.
---------
Signed-off-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: e5801a2762497161e23e978ee13fd0698ae25a2f
https://github.com/llvm/llvm-project/commit/e5801a2762497161e23e978ee13fd0698ae25a2f
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
Revert "Mix bits in FileID::getHashValue() (#223794)" (#224394)
This reverts commit 9bc655d2852ec31199f2dba25d6f0749953fbe51.
It broke a couple of tests in clang/test/Analysis/html_diagnostics.
Commit: 2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
https://github.com/llvm/llvm-project/commit/2e055b8de1a1b08d2a2523673e2dc3df143ccf2f
Author: Weiwei C <weiwei.chen at modular.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
A llvm/test/CodeGen/Hexagon/hmx-attr-inline-compat.ll
A llvm/test/CodeGen/Hexagon/hmx-attr-no-autohvx.ll
Log Message:
-----------
[hexagon] Add `hexagon_hmx` function attribute. (#222340)
- [x] Add `hexagon_hmx` function attribute to be used to annotate hmx
functions.
- [x] Add logic to prevent hmx functions being inlined into hvx
functions to avoid unintended accidental vectorization.
Commit: 24f753696202a3598d094da38809b1f5208d918f
https://github.com/llvm/llvm-project/commit/24f753696202a3598d094da38809b1f5208d918f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-pr-benchmark.yml
M libcxx/utils/ci/lnt/machines.json
Log Message:
-----------
[libc++] Automatically detect the OS in benchmark jobs (#224386)
This simplifies the machines.json definition: we don't have to
explicitly say what OS we're running on, the job just figures it out.
Commit: 98039dad349cd3f40b0d39bf436f2b0159ba021c
https://github.com/llvm/llvm-project/commit/98039dad349cd3f40b0d39bf436f2b0159ba021c
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/cmake/config-ix.cmake
Log Message:
-----------
[libcxx][libc] Update LLVM-libc link list (#224164)
LLVM-libc provides all the libc functions in `libc.a` and `libm.a`, so
this PR adds the configuration flags that prevent linking
`libpthread.a` and `librt.a` (inside `libc.a`) and `libatomic.a` (inside
compiler-rt).
Assisted-by: Automated tooling, human reviewed.
Commit: 9b36b09a5b1097e0e0f75d37fe1b8474e916a802
https://github.com/llvm/llvm-project/commit/9b36b09a5b1097e0e0f75d37fe1b8474e916a802
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-drop-schedule.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll
Log Message:
-----------
[SLP][NFC]Add extra tests with missing vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224408
Commit: e710c538b902a65c54f31dd7526eef85a61b0b82
https://github.com/llvm/llvm-project/commit/e710c538b902a65c54f31dd7526eef85a61b0b82
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][bazel] Expose public inline memory headers and generic/builtin.h in string_memory_utils" (#224406)
Reverts llvm/llvm-project#223439
It was not needed, since the issue it was addressing was fixed by
https://github.com/llvm/llvm-project/commit/ecb96165dc0f95cb81267e1178f7e60a4ab7faa6.
And it was not the right fix.
Commit: 09c4f1cff36f70684702934ac9700cc53b17d1da
https://github.com/llvm/llvm-project/commit/09c4f1cff36f70684702934ac9700cc53b17d1da
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
Log Message:
-----------
[NVPTX] Fold abs into redux intrinsics (#220733)
Fold llvm.fabs into the absolute-value variants of floating-point redux
min/max intrinsics during InstCombine.
Commit: 08c03a56ce83363088332eb8e1d0cf61b368c877
https://github.com/llvm/llvm-project/commit/08c03a56ce83363088332eb8e1d0cf61b368c877
Author: neildhar <neildhar at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/fmax3.ll
Log Message:
-----------
[NVPTX] Fuse abs into min/max (#220445)
PTX supports a fused abs + min/max, emit that so we don't need to rely
on ptxas to do the fusion.
Commit: 2f3917f3be099ca83294ecc3f8c78460a7688808
https://github.com/llvm/llvm-project/commit/2f3917f3be099ca83294ecc3f8c78460a7688808
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/test-at-commit
Log Message:
-----------
[libc++] Include some Lit features in LNT submissions (#218043)
The Lit test suite already sniffs out some properties of the library
configuration we are testing / benchmarking. This patch augments the
run-benchmarks script to pick up a few of these detected features so
they can be included in the Machine information contained in
submissions.
This is important to help pin down exactly what is being benchmarked.
Commit: 16a9145bc71502f988674cddfbf61e6d4da79916
https://github.com/llvm/llvm-project/commit/16a9145bc71502f988674cddfbf61e6d4da79916
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/test/AST/ByteCode/records.cpp
M clang/test/SemaCXX/aggregate-default-member-initializers.cpp
Log Message:
-----------
[clang][test] Update ByteCode test expectations after #219288 (#224389)
### Summary
Fixes CI test failures introduced in #219288:
- In `clang/test/AST/ByteCode/records.cpp`, resolves the existing
`FIXME: See #85601` by updating `static_assert(discarded() == 1)` to
`static_assert(discarded() == 0)` now that temporary destruction timing
in aggregate default member initialization is fixed.
- In `clang/test/SemaCXX/aggregate-default-member-initializers.cpp`,
removes outdated `bytecode-error` and `bytecode-note` annotations in the
`lifetime` namespace that caused `-verify` failures ("diagnostics
expected but not seen") under `-fexperimental-new-constant-interpreter`.
Fixes build breakages on `main` affecting pre-merge CI across subsequent
PRs.
Cc: @yronglin
Commit: 367adb1b93018af34e3053a7cfd790152bfb27b3
https://github.com/llvm/llvm-project/commit/367adb1b93018af34e3053a7cfd790152bfb27b3
Author: Michael Jones <michaelrj at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libcxx/utils/libcxx/test/features/misc.py
Log Message:
-----------
[libcxx] Update libatomic check (#224162)
This PR is a proper fix for the libatomic workaround. The old system
just checked if adding `-latomic` succeeded, and added it if it worked.
After this change it checks if an example program works without
`-latomic` as well as with `-latomic`. It adds the flag only if the test
passes with `-latomic` and not without.
In short: the new version only adds `-latomic` if it's necessary.
Assisted-by: Automated tooling, human reviews.
Commit: 28660ab59038ffa169d598d9c567a6ad26de1972
https://github.com/llvm/llvm-project/commit/28660ab59038ffa169d598d9c567a6ad26de1972
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead packScalarIntoVectorizedValue (NFC). (#224391)
packScalarIntoVectorizedValue has no callers. Remove the dead function.
Commit: d8efed58ca9e324915f80c77524855d40a65d0c7
https://github.com/llvm/llvm-project/commit/d8efed58ca9e324915f80c77524855d40a65d0c7
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
R llvm/test/ExecutionEngine/OrcLazy/emulated-tls.ll
A llvm/test/ExecutionEngine/OrcLazy/tls.ll
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Honor explicit emulated TLS option in ORC mode (#217554)
JITTargetMachineBuilder enables emulated TLS by default, but lli's ORC
path did not forward the existing -emulated-tls option. Consequently,
explicitly passing -emulated-tls=false still produced emulated-TLS
accesses.
Forward an explicitly specified value into the ORC JIT target-machine
options. Leave the builder default unchanged when the command-line
option is omitted.
Extend the existing OrcLazy emulated-TLS test with the false case,
verifying that native lowering is selected instead of
__emutls_get_address.
Rename emulated-tls.ll to tls.ll, and add a TODO to replace the
error-based checks with successful TLS execution tests using the new ORC
runtime.
Commit: d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
https://github.com/llvm/llvm-project/commit/d093631e8ea2e7c9c0c7d866ba6cc62b742d6467
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
M llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
M llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
Log Message:
-----------
[AArch64][PAC] Don't move sp adjustments to form better epilogue AUTs (#221009)
This has proven to be pretty fragile, and generally unsound. Instead, we
should treat the location of the PAUTH_EPILOGUE as _the_ location of the
AUT, and accept whatever that means in terms of the codegen we have to
emit for that pseudo at the time we emit it.
Commit: 877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
https://github.com/llvm/llvm-project/commit/877ee5fbc2ee7c9e3cae19428397ac917dc63e7e
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/RawBufferStoreDouble.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store-rawbuffer-wide-double.ll
Log Message:
-----------
[DirectX] Fix DXIL expansion of 64-bit ByteAddressBuffer stores (#224136)
Fixes #223558
In llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp we were not doing
Create add with the byte index offsets because were were looking at the
wrong argument.
- Fixes DXIL expansion of 64-bit ByteAddressBuffer stores by advancing
the byte index instead of the poison offset.
- Adds regression coverage for wide double stores with offsets confirmed
as 0, 16, 32, 48.
Commit: c60745d126c6d521f76e1a6d81a732d53f4b5ad2
https://github.com/llvm/llvm-project/commit/c60745d126c6d521f76e1a6d81a732d53f4b5ad2
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[GOFFObjectFile] replace snprintf with formatv (#224435)
Use formatv instead of snprintf
Commit: cd024334327520d4cdf2116f89bb38a02b3a128c
https://github.com/llvm/llvm-project/commit/cd024334327520d4cdf2116f89bb38a02b3a128c
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Add OPERAND_UIMM4_PLUS1 to RISCVInstrInfo::verifyInstruction (#224423)
Commit: 697570d3ca9f99cc30662fc80fd0beb1b715e478
https://github.com/llvm/llvm-project/commit/697570d3ca9f99cc30662fc80fd0beb1b715e478
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M llvm/utils/git/requirements_linting.txt
Log Message:
-----------
[Github] Bump tooling containers to 26.04 (#224052)
Mainly to pull in a new CMake version.
Commit: 3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
https://github.com/llvm/llvm-project/commit/3d88c0ebbb97d3a6acbc7d5feae608ca42c612ea
Author: Dave Lee <davelee.com at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
Log Message:
-----------
[lldb] Add APSInt literal support to formatter_bytecode.py (#223805)
Follow up to #220665.
Commit: a883d1050d8ed2324bc948ef7effc4393e935f3e
https://github.com/llvm/llvm-project/commit/a883d1050d8ed2324bc948ef7effc4393e935f3e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[GOFF] Add missing include (#224441)
Caused by #224435
Commit: 40762f3830da76955dce975084b63b7bff884288
https://github.com/llvm/llvm-project/commit/40762f3830da76955dce975084b63b7bff884288
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Revert "[GOFFObjectFile] replace snprintf with formatv (#224435)" (#224444)
This reverts commit c60745d126c6d521f76e1a6d81a732d53f4b5ad2.
Commit: 65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
https://github.com/llvm/llvm-project/commit/65d1a5cadd5b6b2b2f0904fce85ce14c17d3023b
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
A flang/test/Transforms/OpenACC/acc-implicit-routine.fir
M mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitRoutine.cpp
M mlir/test/Dialect/OpenACC/acc-implicit-routine.mlir
Log Message:
-----------
[mlir][OpenACC] Error on external calls without acc routine info (#223815)
Implicit routine can only be applied to procedures defined in the
current compilation unit. Diagnose external callees in compute regions
and existing routines, and treat Fortran intrinsics and `BIND(C)`
procedures as valid device symbols.
Commit: 797dfd05b0785678235d31cfae91ecf3186747f6
https://github.com/llvm/llvm-project/commit/797dfd05b0785678235d31cfae91ecf3186747f6
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
Revert "[SLP] More accurately cost RISCV scalar splats" (#224426)
Reverts llvm/llvm-project#213104
Commit: 899c2614d4635b4826a85d41b02860f2b737861d
https://github.com/llvm/llvm-project/commit/899c2614d4635b4826a85d41b02860f2b737861d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/build-ci-container-tooling.yml
Log Message:
-----------
[Github] Rename CI Tooling Containers to 26.04 (#224447)
697570d3ca9f99cc30662fc80fd0beb1b715e478 made them actually use Ubuntu
26.04, but I forgot to rename them. Do that in this commit. Everything
is hash pinned so nothing should break even if there are real issues.
Commit: c3bfaa8118a04b41aacd5f39d7cf209957532b62
https://github.com/llvm/llvm-project/commit/c3bfaa8118a04b41aacd5f39d7cf209957532b62
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Move helper to create constraint row (NFC) (#224417)
Move logic to grate a new row for the constraint system to helper, to
more clearly separate logic, and allow re-use in follow-ups.
This includes minor code reodering in the moved logic.
Commit: 870d762546ee5c602c7bd0ef6f5d83c6339069a1
https://github.com/llvm/llvm-project/commit/870d762546ee5c602c7bd0ef6f5d83c6339069a1
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] NOESCAPE is ignored in a template function (#223942)
RawPtrRefLambdaCapturesChecker only consults NOESCAPE when it can find a
FunctionDecl for a call. Because a lambda argument is type-dependent, a
call taking one inside a template is dependent, and its callee is often
still unresolved in the template pattern: an UnresolvedLookupExpr for an
unqualified call or a call to a function template, an
UnresolvedMemberExpr for an overloaded member function or a member
function template, and a CXXDependentScopeMemberExpr for a member of a
dependent object. checkParameters never ran for those, so a lambda was
reported even when the parameter it's passed to is annotated with
NOESCAPE. The same happened for a lambda passed to a constructor which
isn't resolved until the instantiation, which appears as a
CXXUnresolvedConstructExpr or as a dependent ParenListExpr /
InitListExpr.
Whether such a lambda can escape isn't known before the enclosing
template is instantiated, so ignore these lambdas and let the
instantiation check them, matching what RetainPtrCtorAdoptChecker
already does. A lambda in a template which is never instantiated is
never used, so not checking it is fine.
Waiting for the instantiation also requires traversing the
instantiations of a generic lambda's call operator.
RecursiveASTVisitor::TraverseLambdaExpr only traverses the lambda's
body, which is a template pattern for a generic lambda, so those
instantiations were never visited and the calls in them were never
resolved. Traverse the body of each specialization, not the
CXXMethodDecl, so that the lambda stays associated with the class
enclosing it and captures of this are still reported.
Commit: 826f78dee748c53057bf27c297b90964aaaedcfb
https://github.com/llvm/llvm-project/commit/826f78dee748c53057bf27c297b90964aaaedcfb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/NativePDB/unknown-udt-decl.ll
Log Message:
-----------
lldb: Require x86_64 for x86_64-specific NativePDB tests (#224140)
These tests contained x86_64 datalayout and triples, but only
required system-windows. On an aarch64 windows host, %build will
be an incompatible datalayout, so require exactly x86_64 windows
hosts. Alternatively the test could be changed to not have the
datalayout, but I'm not sure if that's correct here.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 45cb52f63cc38f0f8e8ce46df07585b68cbc018f
https://github.com/llvm/llvm-project/commit/45cb52f63cc38f0f8e8ce46df07585b68cbc018f
Author: Alex Langford <alangford at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
Log Message:
-----------
[lldb] Remove remaining ConstString section names in ObjectFileELF (#224407)
Commit: 01d1d4dacb0e7726a7dc6c24ca10359251caa698
https://github.com/llvm/llvm-project/commit/01d1d4dacb0e7726a7dc6c24ca10359251caa698
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/CMakeLists.txt
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Conversion/VectorToLLVM/vector-load-store-to-llvm.mlir
Log Message:
-----------
[mlir][LowerToLLVM] Pass DataLayoutAnalysis to LowerToLLVMOptions in `ArithToLLVM`, `ControlFlowToLLVM`, and `VectorToLLVM` passes (#206380)
These three conversion passes constructed `LowerToLLVMOptions` without a
`DataLayout`, causing the index bitwidth to be hard-wired to 64 even
when the module declares a narrower index via `dlti.dl_spec`.
```cpp
// Before (all three passes):
LowerToLLVMOptions options(&getContext());
LLVMTypeConverter converter(&getContext(), options);
// After:
const auto &dataLayoutAnalysis = getAnalysis<DataLayoutAnalysis>();
LowerToLLVMOptions options(&getContext(),
dataLayoutAnalysis.getAtOrAbove(getOperation()));
LLVMTypeConverter converter(&getContext(), options, &dataLayoutAnalysis);
```
I used AI to investigate this problem and to write the tests.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: ad6f8425783ef7dda2d5018143269935998460cd
https://github.com/llvm/llvm-project/commit/ad6f8425783ef7dda2d5018143269935998460cd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
A llvm/test/CodeGen/AMDGPU/schedule-pressure-dead-superreg-live-subreg.mir
Log Message:
-----------
Partially revert "RegisterPressure: Remove dead defs correctly" (#224371)
This partially reverts the lane-mask collector change from #222627
(bde5e74309f6). That flipped the dead-def reconciliation in both
RegisterOperandsCollector::collectInstr (register units) and
collectInstrLanes (lane masks). Instead of removing units covered by a
live def from the dead def set, it removed units covered by a dead def
from the live def set.
The flip regressed targets that track subregister liveness, which use
the
lane-mask collector path. When a live sub-register def overlaps a dead
super-register def, the shared register unit is flagged live on one
operand and dead on another. Removing the live def then drops the
genuinely-live unit, so the cached PressureDiff under-counts it and
trips
the EXPENSIVE_CHECKS pressure cross-check in GCNSchedStrategy.
Restore the original lane-mask path while keeping the new behavior on
the
register-unit path, which is enough to preserve the X86 fixes from
#222627.
This is a targeted workaround. Deadness here is still taken from the
operand
flags, which are not authoritative. The principled fix is to derive
deadness
from LiveIntervals when building the PressureDiff, as the pressure
tracker
already does on the recede path.
Also adds a reduced mir test which triggers the expensive_checks
failure.
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>
Commit: ed554f2f540a44ae76ffa54dd785c480765bb4b4
https://github.com/llvm/llvm-project/commit/ed554f2f540a44ae76ffa54dd785c480765bb4b4
Author: Md Abdullah Shahneous Bari <md.abdullah.shahneous.bari at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Conversion/XeGPUToXeVM/failed_conversion.mlir
A mlir/test/Conversion/XeGPUToXeVM/loadstore_gather_coalesce.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup-invalid.mlir
M mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
M mlir/test/Dialect/XeGPU/propagate-layout.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[mlir][xegpu] Remove chunk_size attribute; infer from types (#205122)
The chunk_size attribute on xegpu.load (LoadGatherOp) and xegpu.store
(StoreScatterOp) was redundant with the operand/result types: the XeVM
lowering never read it, VectorToXeGPU already built these ops with an
empty chunk_size, and the op docs noted it could be inferred from the
type.
Remove the attribute and infer the chunk size from the value/result and
mask types via a computed getChunkSize() op method. The mask carries one
element per lane, so the chunk size is the trailing value dimension when
the value has more elements than the mask, and 1 otherwise. This keeps
the existing op.getChunkSize() call sites working while respecting
library layering (no XeGPUUtils dependency from the IR library).
Update the gather/scatter builders, transforms (propagate-layout,
sg-to-lane, wg-to-sg, unroll), VectorToXeGPU lowerings, and lit tests.
Two invalid.mlir cases that were only invalid because a stated
chunk_size contradicted the type are removed; two others are
reclassified to the type/shape diagnostic.
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: e85bbe94d5d595850f790faf9d7a039b9373b679
https://github.com/llvm/llvm-project/commit/e85bbe94d5d595850f790faf9d7a039b9373b679
Author: Moazin K. <mkhatti at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-worker-barrier.mlir
Log Message:
-----------
[ACCCGToGPU] Generate a per row barrier for a predicate region inside threadY loop. (#224461)
When a predicate region is inside a threadY (worker) loop, the generated
barrier should be to synchronize all threadsX (vector lanes) for that
threadY.
Previously, this code would generate a barrier for all inactive
dimensions and that can be problematic if we have no outer gang loop
(hence an inactive blockX dim) and trip count for worker loop isn't
divisible by number of workers. This would lead to a barrier for all
threads within the block leading to a deadlock.
Assisted-by: Codex
Commit: 38c995786a2262f949542191928f1f9f85e7b530
https://github.com/llvm/llvm-project/commit/38c995786a2262f949542191928f1f9f85e7b530
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 01d1d4d (#224462)
This fixes 01d1d4dacb0e7726a7dc6c24ca10359251caa698 (#206380).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=01d1d4dacb0e7726a7dc6c24ca10359251caa698
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
https://github.com/llvm/llvm-project/commit/dd0ee5e10da57e2b1ebf0cbf066b32a8ffe92c28
Author: alexey-gusarov <alexey.gusarov at gmail.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/test/API/commands/frame/recognizer/step-through/recognizer.py
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
Log Message:
-----------
[lldb] Read the bool that a scripted thread plan's should_step returns (#215521)
Fixes part (1) of #215189.
`ScriptedThreadPlanPythonInterface::GetRunState()` used
`GetUnsignedIntegerValue()` to read the script's `should_step` return
value. A
Python `bool` arrives as a `StructuredData::Boolean`, so the return
value was
discarded and every scripted thread plan reported `eStateStepping`: a
plan
returning `False` single-stepped exactly like one returning `True`.
The documented contract for `should_step` is a bool
(`lldb/docs/use/tutorials/automating-stepping-logic.md` and
`lldb/examples/python/templates/scripted_thread_plan.py`). Read it as
one; any
other return value is logged and causes the plan to step.
### Behavior change
| `should_step` returns | before | after |
| --------------------------------- | ------- | ------- |
| `True` | step | step |
| `False` | step | **run** |
| `0`, `1`, or `lldb.eStateRunning` | **run** | step |
| `lldb.eStateStepping` | step | step |
The integer case is an intentional behavior change. Integers used to be
reinterpreted as a `StateType`, which also made them the only way to
make a
scripted plan run while boolean `False` was being discarded. They are
not part
of the documented `should_step` contract.
The behavior for a missing `should_step` is unchanged by this PR: it
continues
to step.
### In-tree user of the old behavior
`commands/frame/recognizer/step-through/TestFrameRecognizerStepThrough.py`
returns `False` from `should_step` and relied on being single-stepped
anyway.
With `False` honored, its `ThreadPlanRunToAddress` sub-plan handles the
stop
that completes it, so `explains_stop` is not called.
Update the plan to notice completion of the sub-plan in `should_stop`
and call
`SetPlanComplete` there, as described by the `ScriptedThreadPlan`
documentation.
### Testing
`lldb/test/API/functionalities/step_scripted/` covers:
* `should_step == True` stepping one instruction;
* `should_step == False` running to the next breakpoint;
* non-bool integer and `StateType` returns stepping.
The `False` and invalid-return cases fail before this change on both
Linux and
Windows.
### Landing order
This change allows scripted plans returning `False` from `should_step`
to reach
the `SetAutoContinue(true)` path in
`Thread::SetupToStepOverBreakpointIfNeeded()`. #215522 fixes the
independent
thread-plan-stack issue on that path. The two changes are independent,
but are
best landed together.
---
Tool-use disclosure, per the LLVM AI tool policy: this change was
prepared with
the assistance of Claude Code (`Assisted-by:` trailer on the commit).
Everything
in the change was read and reviewed before posting.
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 846719ae2259eb2829a251fa7ca965976376abbd
https://github.com/llvm/llvm-project/commit/846719ae2259eb2829a251fa7ca965976376abbd
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
[LLDB] Skip tests with older versions of clang (#224468)
Commit: ea158b1e145680795e08e35426b850ba03c8f5a3
https://github.com/llvm/llvm-project/commit/ea158b1e145680795e08e35426b850ba03c8f5a3
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/QualTypeMapper.cpp
M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
M clang/test/CodeGen/AArch64/args-hfa.c
M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
M llvm/include/llvm/ABI/Types.h
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/lib/ABI/Types.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
M llvm/unittests/ABI/FunctionInfoTest.cpp
M llvm/unittests/ABI/IRTypeMapperTest.cpp
M llvm/unittests/ABI/TypesTest.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
Log Message:
-----------
[LLVMABI][AARCH64] Support homogeneous aggregate arguments (#224138)
This adds support for handling homogeneous aggregate arguments in the
AArch64 implementation of the LLVM ABI library.
This required adding a new field to the llvm::abi::Type class to track
the unadjusted alignment of the field. This meant I needed to make
updates to the CIR calling convention lowering pass, but AArch64 isn't
supported in the CIR pass yet, so that part of the change is strictly
NFC at this point.
I'm removing the aarch64-pc-windows-msvc run lines from the
abi-classify-arg-types.cpp test because the new test cases added would
land in NYI diagnostic in isPermittedToBeHomogeneousAggregate(), and
they weren't adding any unique coverage.
Assisted-by: Cursor / various models
Commit: 41b7eedb0974528d53e2ecaa950587562be5cb67
https://github.com/llvm/llvm-project/commit/41b7eedb0974528d53e2ecaa950587562be5cb67
Author: Petr Hosek <phosek at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fclose.cpp
A libc/src/stdio/baremetal/fseek.cpp
A libc/src/stdio/baremetal/fseeko.cpp
A libc/src/stdio/baremetal/ftell.cpp
A libc/src/stdio/baremetal/ftello.cpp
Log Message:
-----------
[libc] Embeddeding API for seek and close (#221880)
This change introduces two new symbols to the embedding API hooks:
__llvm_libc_stdio_seek and __llvm_libc_stdio_close. These are used to
implement fclose, fseek, fseeko, ftell and ftello for baremetal.
The implementation was extracted from #221211.
Authored-by: voltur01
Commit: 6486ab38c00159b3ded94ac2855a5b90311eb61d
https://github.com/llvm/llvm-project/commit/6486ab38c00159b3ded94ac2855a5b90311eb61d
Author: Matsu <47756807+khaki3 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGEnums.td
M mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
M mlir/test/Conversion/OpenACCToLLVM/data-runtime.mlir
M mlir/test/Conversion/OpenACCToLLVM/data.mlir
Log Message:
-----------
[OpenACC] Add a map flag for the attach/detach clause (#224433)
Example:
```fortran
!$acc enter data create(arr)
p => arr(:,1)
!$acc enter data attach(p)
```
In this code, computeDataClauseMapFlags returns no flag for
acc_attach/detach, so the resulting acc.map_info is indistinguishable
from one formed for a create/delete of the target, and the clause itself
is gone by that point.
Fix: give the attach/detach clause its own map flag.
Commit: 31f5ae6ba9105531001af6baa8357b6fb5613f46
https://github.com/llvm/llvm-project/commit/31f5ae6ba9105531001af6baa8357b6fb5613f46
Author: Matsu <47756807+khaki3 at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-predicate-region-active-dims.mlir
Log Message:
-----------
[OpenACC] Honor precomputed active par dims on a predicate region (#224390)
Example:
```mlir
acc.predicate_region {
memref.store %updated, %shared[] : memref<f64>
} {acc.active_par_dims = #acc<active_par_dims[]>}
```
Code outside a gang-level loop runs on every thread block, so the block
dims are treated as active and never predicated away. That is right for a
redundant computation, but not for an in-place update of memory the whole
launch shares: every block applies it. The attribute above was ignored
here, because only a privatization could state which dims run it
unpredicated.
Fix: honor a precomputed active set on a predicate region too. An empty
set leaves one block and one thread performing the update; listing the
thread dims of the enclosing loops keeps a work-shared update distributing
its iterations. Behavior is unchanged for a region without the attribute.
Commit: fd606c15d0d3131209357e6eeeee4bba025c45a9
https://github.com/llvm/llvm-project/commit/fd606c15d0d3131209357e6eeeee4bba025c45a9
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
M llvm/lib/ExecutionEngine/Orc/LookupAndApply.cpp
M llvm/unittests/ExecutionEngine/Orc/LookupAndApplyTest.cpp
Log Message:
-----------
[ORC] Share one Mangler across a lookupAndApply group (#224285)
LookupPrepareFn now receives a Mangler that lookupAndApply builds once
from the search order's target triple, rather than each recordAddr /
recordProxy constructing its own per entry.
Commit: b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
https://github.com/llvm/llvm-project/commit/b489ab0a5fd38515ae1642eb197c66cb1d6d1eea
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
R llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
M llvm/unittests/Target/AArch64/AArch64RegisterInfoTest.cpp
Log Message:
-----------
Revert "[CodeGen][AArch64] Avoid duplicate hints in register allocation (#219007)" (#224451)
This reverts commit 6396f14184cb506420503e0a46fcf681fd91a90a.
Newly added CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
is failing downstream CI's where the model name is not `release`.
Link: #219007
Commit: a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
https://github.com/llvm/llvm-project/commit/a56ce734ca42c1fa10e50d3a5b4af336cddd7b5e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M lldb/source/Symbol/ObjectFile.cpp
Log Message:
-----------
[lldb] Don't dereference a possibly null DataExtractor in FindPlugin (#224347)
Restore the behavior from before e4c83b7b119c, which changed the
parameter from a DataBufferSP the branch guaranteed to be null-or-empty
into a DataExtractorSP it unconditionally dereferences.
No in-tree caller reaches this branch with a null extractor, so there is
no test.
rdar://168105064
Commit: 75c8398a7dbfd37d5acbf40853783a403c5d16c9
https://github.com/llvm/llvm-project/commit/75c8398a7dbfd37d5acbf40853783a403c5d16c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
M .github/workflows/ids-check.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/subscriber.yml
Log Message:
-----------
[Github] Bump non-build jobs to Ubuntu 26.04 (#224471)
Mostly so we pull in a new CMake version for the jobs that need it like
ids.
Commit: a1334044f870828e552df8cde360b61bd14deab2
https://github.com/llvm/llvm-project/commit/a1334044f870828e552df8cde360b61bd14deab2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
Log Message:
-----------
[Github] Bump build workflows to Ubuntu 26.04 (#224455)
To pull in the new version of CMake and also now that the 24.04 images
won't recieve any new updates.
Commit: f909f84555392f8395a916b4c72d03315f1437ad
https://github.com/llvm/llvm-project/commit/f909f84555392f8395a916b4c72d03315f1437ad
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[MLIR][XeGPU] Fix insert_strided_slice distribution divisor for partial-lane dims (#223060)
SgToLaneVectorInsertStridedSlice divided the distributed dimension's
size and offset by the full subgroup size. That divisor holds only when
the dimension spans every lane. When it spans a subset (lane_layout[dim]
< subgroupSize) — say size 2 across 2 lanes — 2 % 16 != 0 made the
pattern reject the op and failing legalization.
This PR divides the dimension size by lane_layout[destDistDim], the
number of lanes actually covering that dimension.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 08cedc596007ff6bdc8657247fcf21e75cbac75d
https://github.com/llvm/llvm-project/commit/08cedc596007ff6bdc8657247fcf21e75cbac75d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/commit-access-greeter.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/subscriber.yml
Log Message:
-----------
[Github] Fix container references from #224471 (#224490)
I screwed up some of the references (copying and pasting added an extra
sh256:) and they didn't show up because the workflow definitions for all
of these jobs only comes from main.
Commit: a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
https://github.com/llvm/llvm-project/commit/a18489c9bd9aea389c2e3b1cb9b23f79303ca1b1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M .github/workflows/test-suite.yml
Log Message:
-----------
[Github] Remove additional cmake install from test-suite (#224486)
Now that we are on ubuntu 26.04 we can resolve this todo as the system
CMake is new enough and already installed.
Commit: 3ac17f2256564f86e6e28394853fb71b1fe41227
https://github.com/llvm/llvm-project/commit/3ac17f2256564f86e6e28394853fb71b1fe41227
Author: Andre Sun <andsun9999 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
Log Message:
-----------
[clang-tidy] Fix readability-redundant-parentheses false positive on typeof (#223512)
Preserve the required parentheses around the operand of `typeof`,
`typeof_unqual`, and GNU `__typeof__` by skipping `ParenExpr` nodes
whose immediate parent is a `TypeOfExprTypeLoc`. Redundant inner
parentheses such as those in `typeof((x))` are still diagnosed.
Fixes #220899.
Commit: 5fa7f81e0a2208b87584f2fec12e09c73105fed1
https://github.com/llvm/llvm-project/commit/5fa7f81e0a2208b87584f2fec12e09c73105fed1
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
M flang/test/Fir/box-elesize-canonicalize.fir
M flang/test/Fir/struct-passing-ppc64le-byval.fir
M flang/test/Fir/struct-passing-systemz-reference.fir
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad-llvm.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad.f90
M flang/test/Transforms/allocation-placement.fir
Log Message:
-----------
[flang] Fix RecordType sizes, TRANSFER lowering, and BIND(C) ABI on SystemZ/PPC64le (#220377)
### Summary
`fir::getTypeSizeAndAlignment` had two bugs in its `RecordType` branch:
1. **Packed records**: `isPacked()` was ignored. LLVM packed structs
advance by `getTypeAllocSize` per field (not `getTypeStoreSize`), so
each component occupies `alignTo(storeSize, ABIalign)` bytes with no
inter-field or tail padding, and the struct ABI alignment is 1. For
example, a packed `{i32, f64}` on x86-64 is 12 bytes, not 16.
2. **Tail padding**: the unpacked field loop returned the raw summed
size without the final `alignTo(size, align)`. For example, `{i32, i8}`
(sum = 5 bytes, align = 4) was returned as 5 bytes instead of the
correct allocation size 8 bytes.
### Changes
- **`RecordType` Sizing**: Fixed `fir::getTypeSizeAndAlignment` to
respect `isPacked()` and include the final alignment padding for
unpacked records.
- **`TRANSFER` Inline Gate**: Updated `genTransfer` to compare sizes
using `fir::getTypeSizeAndAlignment`, which includes tail padding for
`RecordType`, matching the allocation extent used by Fortran
`STORAGE_SIZE`, descriptor element extent, and the runtime `TRANSFER`
path.
- **Aligned Temporary & Byte Copy**: For `RecordType` sources where
`sourceAlign < resultAlign` (e.g. `{i32, i8}` with 4-byte alignment
transferred to `integer(8)` with 8-byte alignment), copy via `fir.copy`
(a non-overlapping byte copy / `memcpy` of the full allocation extent)
into a result-aligned alloca instead of loading directly from the source
pointer. This avoids UB from over-aligned loads and preserves both
inter-field and tail padding bytes, satisfying F2023 16.9.212.
- **`BIND(C)` / `VALUE` ABI on SystemZ and PPC64le**: The corrected
allocation sizes propagate into `Target.cpp`'s ABI classification,
fixing argument passing for both packed and tail-padded records. In the
SystemZ and PPC64le examples the record layout already included the
padding, but the size query used for argument classification was wrong:
- SystemZ: `{i32, i8}` (allocation size 8 bytes) now correctly passes as
`i64`; `{i16, i8}` (4 bytes) as `i32`.
- PPC64le: `{f128, i8}` (allocation size 32 bytes) now correctly passes
as `[4 x i64]`.
Both now match the C ABI. Programs that pass `BIND(C)` `VALUE`
derived-type arguments of these shapes to C functions were already
producing incorrect results. Programs compiled entirely in Fortran
relying on the old convention must be recompiled.
Assisted-by: IBM Bob
Commit: 1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
https://github.com/llvm/llvm-project/commit/1b1e9d1ea1755187d87bb060b960f8fe1c5e3b95
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
Recommit [GOFFObjectFile] replace snprintf with formatv (#224435) (#224489)
Recommit [GOFFObjectFile] replace snprintf with formatv (#224435)
Commit: 09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
https://github.com/llvm/llvm-project/commit/09046d9715378c777ff28bb6c2e1e0b20c7bd1c8
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/mathvec/sinf_test.cpp
Log Message:
-----------
[libc] Fix sinf unit test failures (#224475)
https://github.com/llvm/llvm-project/pull/224339 suppressed the tests
but the executable still runs. This change further suppressed the
executable so lit didn't discover and run it.
Bot kept failing on the libc test:
https://lab.llvm.org/buildbot/#/builders/10/builds/36051
tested locally:
>Total Discovered Tests: 817
Passed: 817 (100.00%)
Commit: 04659071744a6153a29860b51c28abf5cc2061c4
https://github.com/llvm/llvm-project/commit/04659071744a6153a29860b51c28abf5cc2061c4
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
M mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
Log Message:
-----------
[mlir][xegpu] Fix lane-local classification for packed-lane-data reductions (#223077)
isReductionLaneLocal decided whether a subgroup vector.multi_reduction
reduces within a lane by comparing the result vector type against its
distributed type. This assumes the lane_layout along the non-reduction
dim is always larger than 1, which is not always true.
This PR fixes it by checking the source's lane_layout along the
reduction dimension is 1.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
https://github.com/llvm/llvm-project/commit/c36b84c711a2a45aa7ae8bde8eb74ba1fc3214a1
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix noalias metadata for calls that capture a pointer earlier (#219887)
A call could get `!noalias` against a kernel noalias argument even when
that argument was captured into a global earlier and the call can reach
it that way
Only calls that touch just their own argument pointees are actually safe
to mark this way
Commit: 90a8d09917f0d508292405a68ae1f6de3b40fd93
https://github.com/llvm/llvm-project/commit/90a8d09917f0d508292405a68ae1f6de3b40fd93
Author: chandan singh <36783761+chandankds at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
A llvm/test/Transforms/SampleProfile/pseudo-probe-call-vs-invoke-hash.ll
A llvm/test/Transforms/SampleProfile/pseudo-probe-cyclic-normal-dest.ll
Log Message:
-----------
[CSSPGO] [Pseudo-Probe] Avoid infinite loop on cyclic invoke destinations (#221630)
SampleProfileProber::getOriginalTerminator() walks invoke normal
destinations (and ignored single-successor blocks) so the CFG hash stays
stable across call-to-invoke conversion. That walk assumes the chain is
acyclic.
Valid IR can have a self-looping invoke (normal dest == the invoke
block). The walk then never returns, and opt -passes=pseudo-probe hangs.
Example Testcase:
```cpp
void f1();
void test() {
try {
for (;;)
f1();
} catch (...) {}
}
```
This patch walk iteratively and record visited blocks. If the next block
was already seen, stop at the terminator that closes the cycle. Acyclic
invoke continuation chains are unchanged.
Commit: 9215947c3d1a80640cf1366c0a470f22c72b5128
https://github.com/llvm/llvm-project/commit/9215947c3d1a80640cf1366c0a470f22c72b5128
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[Clang][RISCV] Add scalar saturating add/sub, absolute value and rev intrinsics (#224377)
First batch of the P extension `Scalar Intrinsics` group, covering the
operations that map onto a single existing LLVM IR intrinsic
(llvm.sadd.sat, llvm.uadd.sat, llvm.ssub.sat, llvm.usub.sat, llvm.abs,
llvm.bitreverse) that the backend already selects, so no codegen changes
are needed.
Commit: d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
https://github.com/llvm/llvm-project/commit/d22a72cebb2dce4be4b64bfd196ac85d36f85bd1
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/test/Transforms/RelLookupTableConverter/X86/relative_lookup_table.ll
Log Message:
-----------
[RelLookupTableConverter] Reject volatile loads (#224414)
The pass converts absolute pointer lookup tables to relative lookup
tables and replaces the table load with a call to `@llvm.load.relative`.
However, `@llvm.load.relative` is an intrinsic with `memory(argmem:
read)` and cannot represent volatile access semantics. Replacing a
volatile load with `@llvm.load.relative` drops volatile side effects.
Commit: ac0c8eb5aa55af2387b6c925de26e159b7a8a271
https://github.com/llvm/llvm-project/commit/ac0c8eb5aa55af2387b6c925de26e159b7a8a271
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Headers/riscv_packed_simd.h
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
Log Message:
-----------
[Clang][RISCV] Add packed subvector extract intrinsics (#224429)
Add the Packed Subvector Extract intrinsics:
- `__riscv_pget_i8x8_i8x4`
- `__riscv_pget_u8x8_u8x4`
- `__riscv_pget_i16x4_i16x2`
- `__riscv_pget_u16x4_u16x2`
Each extracts the 32-bit packed subvector selected by a constant index
(0 = low, 1 = high) from a 64-bit packed vector. The index is
range-checked with `__enable_if__`, as for the element extract
intrinsics.
This is header-only: the shuffle is selected without backend changes, so
no new IR intrinsics or builtins are required.
Commit: 0528425063b731228ef28c3c5e1adb9ba15d0907
https://github.com/llvm/llvm-project/commit/0528425063b731228ef28c3c5e1adb9ba15d0907
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld] Use LLVM_CONSTRUCT_OPT_INFO. NFC (#224503)
Commit: c9a08bdff6890a073193f23f5b91517e300939f6
https://github.com/llvm/llvm-project/commit/c9a08bdff6890a073193f23f5b91517e300939f6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Avoid some unnecessary diagnostic work (#224333)
We emit these diagnostics a lot, but we almost never see them. Try to
short-circuit these functions if nobody will see the diagnostics anyway.
Commit: 5d7bda4e51049f43d39ce6a35d7c44fa44036509
https://github.com/llvm/llvm-project/commit/5d7bda4e51049f43d39ce6a35d7c44fa44036509
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[lldb] Turn GetDeclContextDIEContainingDIE into a worklist (NFC) (#224453)
Convert GetDeclContextDIEContainingDIE from a recursive to a worklist
approach, avoiding a stack frame per DIE for long chains. The behavior
remains the same.
Commit: 3c30abb2a47c83adee8aeaf034727f32b2a05acb
https://github.com/llvm/llvm-project/commit/3c30abb2a47c83adee8aeaf034727f32b2a05acb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
Log Message:
-----------
[NFC][ThinLTOBitcodeWriter] Add test for cfi.functions metadata hotness encoding (#223843)
Add pre-commit test coverage establishing the baseline cfi.functions
metadata linkage operand values before implementing hotness encoding.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* ➤ https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: b2f2c6b539df45710a2fced363370ec508575dca
https://github.com/llvm/llvm-project/commit/b2f2c6b539df45710a2fced363370ec508575dca
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
Log Message:
-----------
[clang-tidy] Speed up misc-static-initialization-cycle (#224243)
Closes #224219
Commit: af8039273a760a21b3cf8006ebaa107481227fd6
https://github.com/llvm/llvm-project/commit/af8039273a760a21b3cf8006ebaa107481227fd6
Author: Mohammed Ashraf <125150223+Holo-xy at users.noreply.github.com>
Date: 2026-09-17 (Thu, 17 Sep 2026)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[BoundsSafety] Unify ParseLexedAttributeTokens (#206689)
This PR is a continuation of the previous [Unify ParseLexedAttribute
PR](https://github.com/llvm/llvm-project/pull/186033)
Commit: 3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
https://github.com/llvm/llvm-project/commit/3d3dbe5fdf4c274c97d5c370218a6f38db5df78d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
Log Message:
-----------
[ORC] Fix wrong callee in EPCGenericRTDyldMemoryManager dtor (#224493)
The destructor invoked the reserve wrapper with the release signature
when freeing FinalizedAllocs. Call the release wrapper instead.
No testcase. This was spotted by inspection, and this class is expected
to be deprecated shortly.
Commit: 1ddec116ccd78a04c657a1e8ad43d5afc458d19c
https://github.com/llvm/llvm-project/commit/1ddec116ccd78a04c657a1e8ad43d5afc458d19c
Author: Vikram Hegde <Vikram.Hegde at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/ResetMachineFunctionPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Port ResetMachineFunction to NPM (#222886)
Assisted by: Opus 5
Commit: d46351c80ee1b1bf356bdb69318069b94853cddf
https://github.com/llvm/llvm-project/commit/d46351c80ee1b1bf356bdb69318069b94853cddf
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Analysis/models/interactive_host.py
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll
Log Message:
-----------
[MLGO] Saturate out-of-range regalloc priority advice (#224062)
Converting the float advice to unsigned is undefined outside `[0, 2^32)`
interval
Negative advice wrapped to near UINT_MAX and flipped the priority order,
NaN or advice below 1.0 made every priority 0
Commit: 7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
https://github.com/llvm/llvm-project/commit/7f35f5f2b2a4976725714beb35e3e0399fc7c4a7
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A libcxx/test/std/containers/associative/map/types.compile.pass.cpp
R libcxx/test/std/containers/associative/map/types.pass.cpp
A libcxx/test/std/containers/associative/multimap/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/types.pass.cpp
A libcxx/test/std/containers/associative/multiset/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/types.pass.cpp
A libcxx/test/std/containers/associative/set/types.compile.pass.cpp
R libcxx/test/std/containers/associative/set/types.pass.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/protected_members.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.pass.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
A libcxx/test/std/containers/sequences/array/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/array/types.pass.cpp
A libcxx/test/std/containers/sequences/deque/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/types.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
A libcxx/test/std/containers/sequences/list/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/types.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
A libcxx/test/std/containers/sequences/vector/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector/types.pass.cpp
A libcxx/test/std/containers/unord/unord.map/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
A libcxx/test/std/containers/unord/unord.set/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/types.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/types.compile.pass.cpp
R libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
A libcxx/test/std/containers/views/views.span/types.compile.pass.cpp
R libcxx/test/std/containers/views/views.span/types.pass.cpp
Log Message:
-----------
[libc++] Refactor container's types.pass.cpp tests (#223602)
Convert types.pass.cpp to compile-only tests because there is no runtime
component.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
https://github.com/llvm/llvm-project/commit/1b5da535082e9f2b7bd469fbaaa1ac9aa65ba562
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Log Message:
-----------
[lldb-server] Fix GetMemoryRegionInfo syntax to include trailing `;` (#224319)
GDBRemoteCommunicationClient::GetMemoryRegionInfo parses fields of this
packet using `StringExtractor::GetNameColonValue`, which expects a `;`
even for the last field. The documentation of the packet doesn't
explicitly say so, but implies these fields should always be
;-terminated. As a result, before this patch, that field was not parsed
at all.
Commit: 77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
https://github.com/llvm/llvm-project/commit/77cb8a9fd7d80e54bad6cbbe8a0e3507c34fe51b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/ExecutionEngine/ExecutionEngine.cpp
M mlir/lib/Target/LLVM/ModuleToObject.cpp
M mlir/lib/Target/LLVMIR/Transforms/TargetUtils.cpp
Log Message:
-----------
mlir: Avoid using TargetMachine::createDataLayout (#224456)
Commit: 29bddf3dca241381ef55005a3b003ff4e7c44959
https://github.com/llvm/llvm-project/commit/29bddf3dca241381ef55005a3b003ff4e7c44959
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/docs/tutorial/BuildingAJIT3.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.md
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
Log Message:
-----------
docs: Compute the DataLayout from the triple in the tutorials (#224458)
Commit: 7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
https://github.com/llvm/llvm-project/commit/7dd3c5f4a6273ea730745b3b97e4fa30b3d7558a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
Require Darwin for TestSynthesizedPropertyAccessor so that it won't fail on every PR. (#224531)
Commit: 813cfb0b95374a89d08a6b9a6883a26bc426c5d2
https://github.com/llvm/llvm-project/commit/813cfb0b95374a89d08a6b9a6883a26bc426c5d2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/test/Integration/RISCV/riscv-target-abi.f90
Log Message:
-----------
flang: Compute the module DataLayout from the triple and ABI (#224419)
Commit: 42f0538637620524486f7b87db764fa42899f568
https://github.com/llvm/llvm-project/commit/42f0538637620524486f7b87db764fa42899f568
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/lib/MC/MCObjectFileInfo.cpp
A llvm/test/MC/ELF/section-callgraph.s
Log Message:
-----------
[MC] Remove unused pre-created .llvm.callgraph section (#224369)
getCallGraphSection always creates a per-function SHF_LINK_ORDER
section, so the pre-created one is unused. Its only effect is that
hand-written `.section .llvm.callgraph` silently gets
`SHT_LLVM_CALL_GRAPH`, while the same directive within a group (e.g.
`.pushsection .llvm.callgraph,"?"` after a group member) gets
SHT_PROGBITS.
Remove it so that an omitted type gives SHT_PROGBITS in both cases, like
GNU assembler. Specify `%llvm_call_graph` to get SHT_LLVM_CALL_GRAPH.
Commit: f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
https://github.com/llvm/llvm-project/commit/f17b2d1241b235c5a29e3eda2fd0ecfefee49ec1
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
Log Message:
-----------
[lldb][test] Add missing import to TestSynthesizedPropertyAccessor (#224543)
The decorators were introduced in 846719ae22 .
Commit: 2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
https://github.com/llvm/llvm-project/commit/2f7f8d1f7c70b6a016cd25d82d4a0a8f43c144aa
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
Log Message:
-----------
[ORC] Drive EPCGenericRTDyldMemoryManager via proxies (#224532)
Replace its three callSPSWrapper sites (reserve, initialize, release)
with a SimpleMemoryMapBindings handle, matching the memory manager
already used by EPCGenericJITLinkMemoryManager. Dispatch and callee
errors now arrive on a single channel, so the paired error checks
collapse into one.
Commit: 8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
https://github.com/llvm/llvm-project/commit/8d3c2f7eeab5fc3441f20de51bffbdfc015231d6
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/test/DebugInfo/X86/fission-ranges.ll
A llvm/test/DebugInfo/X86/prologue-end-phi-incoming-constant.ll
Log Message:
-----------
[FastISel] Give PHI incoming materializations a debug location (#223677)
When a block only sets up a successor's PHI nodes before falling
through, nothing follows those materializations for flushLocalValueMap
to take a location from, so the loop's line got its first is_stmt entry
inside the header, which is also the back edge target. Use the
terminator's location instead (which branches to the PHI).
The motivation is to fix
https://github.com/llvm/llvm-project/issues/202065 where
compiler generated loops for Fortran array expressions caused
breakpoints on the statement to fire at each iteration inside the loop
body instead of once inside the header.
Assisted-by: AI
Commit: a543cc18874c79a25948022eeb2299e6dc6fda73
https://github.com/llvm/llvm-project/commit/a543cc18874c79a25948022eeb2299e6dc6fda73
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
[flang][HLFIR] make copyin/copyout allocation inline (#224063)
This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.
In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits. Plus, I rather keep
the copy-out inside the runtime only while @eugeneepshteyn is working on
making it "copy on change".
Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).
A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.
Assited-by: AI
Commit: 597b9360616e3a24b11940593a5b475bf1edbaf7
https://github.com/llvm/llvm-project/commit/597b9360616e3a24b11940593a5b475bf1edbaf7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
Log Message:
-----------
[SPIR-V] Preserve struct name when rebuilding nested types (#224544)
Follow up on comment from
https://github.com/llvm/llvm-project/pull/222968
Commit: 6578ab22aa65c308c41ac3b0979f65dfb797b311
https://github.com/llvm/llvm-project/commit/6578ab22aa65c308c41ac3b0979f65dfb797b311
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
Revert "[flang][HLFIR] make copyin/copyout allocation inline" (#224564)
Reverts llvm/llvm-project#224063
Breaks shared library builds
Commit: 93c5d8dc62aed90249af2a821d6fd86f3aa78425
https://github.com/llvm/llvm-project/commit/93c5d8dc62aed90249af2a821d6fd86f3aa78425
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
Log Message:
-----------
[ORC][Mips] Fix calling convention handling for lazy calls (#223830)
Move the resolved address into $t9 before jumping to it, as jumping
target is evaluated before delay slot execution.
Correct the o32 stub size to 16 bytes and reserve the required argument
save area around the reentry call for saved registers.
Update resolver sizes to match the emitted instructions.
Validated with existing tests on Mips Linux for both o32 and n64.
Commit: 4772a40be634e8b343fab504db691c473e12232b
https://github.com/llvm/llvm-project/commit/4772a40be634e8b343fab504db691c473e12232b
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
Revert "[WebKit checkers] Treat the return value of an instance method as an unsafe pointer origin (llvm#160569)" (#224479)
This reverts commmit d08a2a43abd91865002a42938b60f172527defa3 as it
introduced too many new warnings.
Commit: af59e6e8eef55e3651dee022bd0874a695637bb2
https://github.com/llvm/llvm-project/commit/af59e6e8eef55e3651dee022bd0874a695637bb2
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Remove `hasSideEffects` from `SI_IF`, `SI_ELSE` and `SI_LOOP` (#224007)
An arbitrary side-effect flag blocks sinking of memory operations due to
the unmodelled-side-effect check returning true. This change has no
effect on other transformations as modeled side effects (EXEC and SCC
defs) are still accounted for and sufficient to gate unsound code
motion. All three instructions are still rejected by `isSafeToMove` as
they carry the terminator flag.
This commit is part of the effort to enhance `MachineSink` on the AMDGPU
target. By itself itself it does not unblock more code motion
opportunities but it is a prerequisite to do so.
Commit: d9324899756c7c85f0badd387b2138d75a050bb8
https://github.com/llvm/llvm-project/commit/d9324899756c7c85f0badd387b2138d75a050bb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGException.cpp
Log Message:
-----------
[CodeGen] Don't use CreateRuntimeFunction() for intrinsics (#224329)
These should just use getIntrinsic().
Commit: e1c8d715d2b034526808b8b046ba6fcbe950c3de
https://github.com/llvm/llvm-project/commit/e1c8d715d2b034526808b8b046ba6fcbe950c3de
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
R lld/test/ELF/Inputs/icf-merge-sec.s
R lld/test/ELF/Inputs/icf-merge.s
R lld/test/ELF/Inputs/icf-merge2.s
R lld/test/ELF/Inputs/icf-merge3.s
R lld/test/ELF/Inputs/icf2.s
R lld/test/ELF/icf-merge-sec.s
M lld/test/ELF/icf-merge.s
A lld/test/ELF/icf-reference-graph.s
R lld/test/ELF/icf14.s
R lld/test/ELF/icf2.s
R lld/test/ELF/icf3.s
Log Message:
-----------
[ELF,test] Reorganize ICF tests by the property they exercise (#224567)
icf-merge.s now covers relocations into SHF_MERGE sections, adding
section symbol addends at and past the end of the section.
icf-reference-graph.s collects reference shapes: the cycle from icf2.s
and icf3.s, a section referencing itself, and chains that differ only
beyond the initial hash's reach. Only the cycle was covered before.
Commit: 7db8a89e290d8ff44a972b096282c59340a788b7
https://github.com/llvm/llvm-project/commit/7db8a89e290d8ff44a972b096282c59340a788b7
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/Passes/RunCodeGen.h
M llvm/include/llvm/Support/RWMutex.h
M llvm/include/llvm/Transforms/Scalar/LogicalSROA.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
Log Message:
-----------
[llvm] Adjust LLVM_ABI annotations (#224293)
The automatic LLVM_ABI annotations script has been broken since #208780.
PR #223354 restores its functionality. In the meantime, some API
annotations regressed. This PR aims to fix all of these regressions.
This was applied by calling the updated ids-check-helper.py from #223354
on the public LLVM headers on a macOS host and clang-formatting the
results.
The effort to build LLVM as a dylib is tracked in #109483.
Commit: 69410be09b4c82f45ed5c9dbe68a326cce9e428f
https://github.com/llvm/llvm-project/commit/69410be09b4c82f45ed5c9dbe68a326cce9e428f
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
Log Message:
-----------
[AMDGPU][CodeGen] Replace non-existent opcodes in gfx1250 test (#223767)
`IMAGE_LOAD_V5_V1` and `IMAGE_SAMPLE_C_CL_O_V4_V8` don't exist on
gfx1250. This keeps the tests' intent without relying on them.
Commit: b35e49363c57376c40a250b57b4acd0c1138a0dd
https://github.com/llvm/llvm-project/commit/b35e49363c57376c40a250b57b4acd0c1138a0dd
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Log Message:
-----------
[MemoryDependenceAnalysis] Migrate `isStorePreservingMemoryLocation` to Loads (NFC) (#223700)
Minor opportunity to expose the helper and move it out of MDA.
Commit: 1985f37b5d3a314bbcadebc716bd216bca38e8b4
https://github.com/llvm/llvm-project/commit/1985f37b5d3a314bbcadebc716bd216bca38e8b4
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[CMake] Do not use llvm-rc without Clang in external projects (#224505)
On Windows, configuring LLVM without Clang but with external projects
i.e.
```
-DLLVM_ENABLE_PROJECTS=
-DLLVM_ENABLE_RUNTIMES=orc-rt
```
llvm-rc is selected as the rc compiler but requires clang for
pre-processing. Only select llvm-rc for external projects when Clang is
also part of the toolchain, otherwise CMake uses the host rc compiler.
Commit: ad0072d503a035d3e30fab668695a72d5774556f
https://github.com/llvm/llvm-project/commit/ad0072d503a035d3e30fab668695a72d5774556f
Author: jeanPerier <jperier at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Runtime/assign.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
Log Message:
-----------
Reland [flang][HLFIR] make copyin/copyout allocation inline (#224063) (#224570)
This patch moves most allocations of copyin/copyout to the compiler so
that small buffers can be stack allocated, even when the loops are not
inlined. The main motivation is to allow better memory management when
the code ends-up in device region, but this also benefits CPU by giving
more control over allocations.
In the future, we may just consider inlining everything including
copyout, but very early attempts to do so showed that this increased WRF
compile times significantly at O2 for no benefits and the copyout runtime
was just modified to do "copy on change" so I do not want to inline it
until more this new approached is tested more broadly.
Hence this patch just moves to use `ShallowCopyDirect` for the copy-in
and a new `CopyOutAssignDirect` for the copy-out (so that the new copy
on change policy can be integrated) for non assumed-rank non polymorphic
copy-in/copy-out, and does the allocation inline for the buffer
following the same rules as in `inlineHLFIRCopyin` (i.e. small buffers
on stack, everything else on the heap for now).
A new "mustFree" boolean has to be added as a result to hlfir.copyin and
input from hlfir.copyout to tell if the buffer needs to be deallocated
or not (stack or heap allocated) to avoid having to make assumptions on
how the buffer was allocated in hlfir.copyout codegen.
Assited-by: AI
Relands #224063 with a CMakeLists.txt change that fixes shared library builds.
Commit: 6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
https://github.com/llvm/llvm-project/commit/6f653e2e40ef7095b5cb04cd0b34d8d5b754301b
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/grp.yaml
M libc/src/grp/CMakeLists.txt
A libc/src/grp/endgrent.cpp
A libc/src/grp/endgrent.h
A libc/src/grp/getgrent.cpp
A libc/src/grp/getgrent.h
A libc/src/grp/setgrent.cpp
A libc/src/grp/setgrent.h
M libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrent_test.cpp
A libc/test/src/grp/grp_test_utils.h
Log Message:
-----------
[libc] Add getgrent, setgrent, and endgrent entrypoints (#224372)
Implement the POSIX group database iteration entrypoints getgrent,
setgrent, and endgrent on top of grp_utils and FlatFileDatabase.
Non-reentrant calls read into a process-global DynamicBuffer that grows
to the high-water mark of the largest group record seen. endgrent closes
the file stream without freeing the buffer so pointers returned prior to
endgrent remain valid until the next non-reentrant call.
* Add getgrent, setgrent, and endgrent entrypoints
* Define getgrent, setgrent, and endgrent in include/grp.yaml
* Expose entrypoints across Linux target architectures
* Add hermetic integration tests in test/src/grp/getgrent_test.cpp
Assisted-by: Automated tooling, human reviewed.
Commit: 47f4f0fdb9d4f52b5936478f4d43064c877065e3
https://github.com/llvm/llvm-project/commit/47f4f0fdb9d4f52b5936478f4d43064c877065e3
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/recurrence.ll
Log Message:
-----------
[ValueTracking] Compute known bits for `umin` and `umax` recurrences (#222890)
Commit: bb50aa72c5eecafc831cc636006fcb926af35fa4
https://github.com/llvm/llvm-project/commit/bb50aa72c5eecafc831cc636006fcb926af35fa4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A libcxx/test/benchmarks/regex.bench.cpp
Log Message:
-----------
[libc++] Add some basic benchmarks for std::regex (#223633)
Commit: db349a40f94f8d3fe089b396d688f38dcb794ebf
https://github.com/llvm/llvm-project/commit/db349a40f94f8d3fe089b396d688f38dcb794ebf
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
Log Message:
-----------
[clang-tidy] Fix false positive in readability-non-const-parameter for atomic builtins (#221951)
Atomic builtins are represented in the AST by `AtomicExpr` rather than
`CallExpr`, so `readability-non-const-parameter` never analysed their
operands and assumed the pointed-to data was only read. It then
suggested making those pointer parameters point to const, and applying
the fix-it produced code that no longer compiles.
The most visible case is the `expected` operand of a compare-exchange,
which per the C standard must be a pointer to non-const because it
receives the old value when the exchange fails:
https://godbolt.org/z/sovKf3G3c
Before this change the check reported `expected` as a candidate for
pointer-to-const. The GNU builtins are affected the same way, and there
the address operand `obj` was reported too, as were the destination
operand of `__atomic_load()` and the old-value operand of
`__atomic_exchange()`.
Match `atomicExpr()` and mark all of its operands, mirroring how
arguments of ordinary calls are already treated.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: 24c737781980610b358c351c40eb932a2b68f735
https://github.com/llvm/llvm-project/commit/24c737781980610b358c351c40eb932a2b68f735
Author: Julien Villette <julien.villette at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
Log Message:
-----------
[AArch64][NeoverseV1/V2] Fix extended/shifted-register scheduling for ADD[S]/SUB[S]/AND[S]/BIC[S] (#220920)
Verified with llvm-exegesis on Neoverse V1 and V2 hardwares.
Opcodes | Before | After
-----------------------|---------------------|------------------------------
ADDWrx/SUBWrx | 2c (SchedAlias) | IsRealArithExtendW: 1c or 2c
ADDSWrx/SUBSWrx | IsCheapLSL | IsRealArithExtendW: 1c or 2c
ADDSXrx/SUBSXrx | IsCheapLSL | static 2c (always real extend)
ADDSXrx64/SUBSXrx64 | IsCheapLSL | static 1c (always passthrough)
ANDS/BICS Wrs,Xrs | static 2c | NeoverseShift0: 1c or 2c
IsCheapLSL checks the shift *amount* (<=4), which is the wrong axis for
the extend-register forms (need the extend *type* instead) and does not
apply to ANDS/BICS (no amount threshold, just shift-present-or-not).
NeoverseNoLSL becomes NeoverseShift0: adding LSR, ASR and ROR in
addition to LSL. Does not apply it on NeoverseV3 and others as it is not
validated using llvm-exegesis on these hardwares.
Commit: 03ad73a3aa2e1c604b73f8ae11f9b424fa9a8844
https://github.com/llvm/llvm-project/commit/03ad73a3aa2e1c604b73f8ae11f9b424fa9a8844
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/VPlan/for-phi-ordering.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
Log Message:
-----------
[LV] Fold invariant reduction phis to their start value. (#223279)
A reduction phi whose backedge value is the phi itself is invariant and
equal to its start value. This can happen when the reduction operation
folds away, e.g. `or X, 0`, `and X, -1`, `add X, 0` or `mul X, 1`.
Clean up such trivial non-reductions early.
PR: https://github.com/llvm/llvm-project/pull/223279
Commit: 69ea592d55f3491df20cc58e08c486a47e551340
https://github.com/llvm/llvm-project/commit/69ea592d55f3491df20cc58e08c486a47e551340
Author: Nerixyz <nerixdev at outlook.de>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A llvm/test/tools/llvm-pdbutil/invalid-yaml.test
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
Log Message:
-----------
[llvm-pdbutil] Print error on invalid YAML (#207528)
From
https://github.com/llvm/llvm-project/pull/207058#discussion_r3522204565:
We should print out an error if we encounter invalid YAML.
With this PR, the error is printed. I included the diagnostics here,
because they provide better error messages and allow you to locate the
error easier.
Commit: c23e28a79117faf5d6530f19549f602525b72128
https://github.com/llvm/llvm-project/commit/c23e28a79117faf5d6530f19549f602525b72128
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
Log Message:
-----------
ExecutionEngine: Compute the DataLayout from the triple and ABI (#224547)
Commit: db0e752a8833b933b41ec15d8311b37d125f655d
https://github.com/llvm/llvm-project/commit/db0e752a8833b933b41ec15d8311b37d125f655d
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-pointer-arithmetic-in-alloc.cpp
Log Message:
-----------
[clang-tidy] Fix crash in bugprone-misplaced-pointer-arithmetic-in-alloc (#224509)
This commit checks for an empty constructor argument list before
accessing its last element.
Reproducer at: https://godbolt.org/z/Tfvnbhx19
AI Usage: the issue was found by Grok 4.6. Although IMO this is a pretty
uncommon/rare case, less crash-on-valid is always better.
Commit: 8c62ebfe131b6bdf9d1ab96a680ee0f85ce1b325
https://github.com/llvm/llvm-project/commit/8c62ebfe131b6bdf9d1ab96a680ee0f85ce1b325
Author: Raphael Isemann <rise at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/include/lldb/Host/Host.h
M lldb/include/lldb/Target/Platform.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/emscripten/Host.cpp
M lldb/source/Host/freebsd/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/netbsd/HostNetBSD.cpp
M lldb/source/Host/openbsd/Host.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/Shell/lit-lldb-init.in
Log Message:
-----------
[lldb] Make the shell expansion timeout an LLDB setting (#221952)
LLDB launches a small utility program that prints its own arguments to
expand launch arguments. This lldb-argdumper invocation was previously
capped with a hardcoded 10 second timeout, which is low enough that we
kept hitting it on CI bots in random tests:
```
runCmd failed!
>>> error: shell expansion failed (reason: timed out waiting for shell command to complete). consider launching with 'process launch'.
```
This turns the timeout into the new "platform.shell-expand-timeout"
setting (in seconds) so it can be tuned without recompiling. The
default is now three minutes, and a value of 0 disables the timeout
entirely.
The test suite now disables the timeout altogether as it serves
no purpose there.
Commit: 0d8654095aff13e18701d4cf954d638eda80d25a
https://github.com/llvm/llvm-project/commit/0d8654095aff13e18701d4cf954d638eda80d25a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
Log Message:
-----------
[SLP][NFC]Add a test with the missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224604
Commit: 9390e1be8652bbb4cfc54dd6ffdc1ee044ff77f5
https://github.com/llvm/llvm-project/commit/9390e1be8652bbb4cfc54dd6ffdc1ee044ff77f5
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll
Log Message:
-----------
[SCEV] Bound the max BE count by the range of End - Start. (#222752)
In same cases, like A < A + N, End - Start can give a tighter maximum
bound due to folding that gets missed when just subtracting the ranges.
This improves results in a few cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1256.
Found while working on unifying howManyLessThans & howManyGreaterThans.
The latter uses a hand-rolled variant of computeMaxBECountForLT for GT,
which computes the delta like that.
Compile-time increase is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=28f36e6d3912e3f9c50fbf57113f84cd336b7862&to=dfbe4dec46620effd87fe913b26b2f656f4b2750&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/222752
Commit: 8c013a1947a8c9fbe22fed19fdb2da1b2513aa5e
https://github.com/llvm/llvm-project/commit/8c013a1947a8c9fbe22fed19fdb2da1b2513aa5e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
Log Message:
-----------
[SLP]Do not stop the seed scan when a dependent seed is skipped
The dependency check leaves the current window short, and the
not-enough-instructions exit then ends the whole start-position scan for
the current VF, so later independent operations are never tried. Keep
scanning from the next position when the shortfall was caused by a
skipped dependent seed.
Fixes #224286
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224606
Commit: 032bea5e405e11122758d8d815d50e41cd3d243b
https://github.com/llvm/llvm-project/commit/032bea5e405e11122758d8d815d50e41cd3d243b
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/usm_functions.cpp
M libsycl/unittests/handler/test_helpers.hpp
M libsycl/unittests/mock/helpers.cpp
M libsycl/unittests/mock/helpers.hpp
M libsycl/unittests/mock/mock.cpp
M libsycl/unittests/queue/memcpy.cpp
M libsycl/unittests/usm/alloc.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M offload/languages/kernel/src/LanguageRuntime.cpp
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Context.cpp
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/Conformance/lib/DeviceResources.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfoSize.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[offload] add context to olMemAlloc* (#222677)
This is the last part of the context refactor. This patch:
- Adds context param to all memory allocation functions.
- Routes ptr info through the plugins instead of a global map.
- Removes allocation tracking from liboffload.
- olGetMemInfo(OL_MEM_INFO_DEVICE) now returns INVALID_ARGUMENT for host
allocations, which have no per-device affinity.
Assisted-by: Claude Opus 4.7
Commit: 70ba7b64200af3af7f9d26d66f3b08c8cbb2d357
https://github.com/llvm/llvm-project/commit/70ba7b64200af3af7f9d26d66f3b08c8cbb2d357
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Implement VPBlockUtils::blocksOnly using make_isa_range (NFC) (#224596)
Use make_isa_range to simplify blocksOnly implementation.
Commit: b19ba6516266a8c6b1a705aaa2cabb931ad4e2b6
https://github.com/llvm/llvm-project/commit/b19ba6516266a8c6b1a705aaa2cabb931ad4e2b6
Author: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/shl-accumulator-opt.ll
Log Message:
-----------
[TailRecElim] Handle discarded-call return conflicts with a shift accumulator (#221694)
Fixes a follow-up miscompile from #181331, reported by nikic in
https://github.com/llvm/llvm-project/pull/181331#issuecomment-5509668449,
similar but unrelated to #214503.
`findBaseCaseRetConstant` only scanned live `ret` instructions to check
that a shift accumulator's base case is consistent everywhere. A sibling
call site that discards its own recursive call and returns a fixed
constant is eliminated earlier, so its `ret` is already gone by the time
the scan runs. The scan missed it and `cleanupAndFinalize` would
silently replace that constant with the accumulator value.
With this PR we also check the false-value of already-inserted selects
for consistency, bailing out the accumulator transform on conflict.
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
Commit: 7ed0d7d42019ab5ad6df8fb89e968ecef24b01a5
https://github.com/llvm/llvm-project/commit/7ed0d7d42019ab5ad6df8fb89e968ecef24b01a5
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/over/over.match/over.match.best/p2.cpp
Log Message:
-----------
[clang][Sema] Fix tautological type check in sameFunctionParameterTypeLists (#224500)
hasSameType had duplicate parameters, which meant we weren't actually
checking if the function signatures are equal, so in the case they
aren't we could incorrectly accept ambiguous overload resolutions.
Fixes https://github.com/llvm/llvm-project/issues/224499
Commit: 61c6997eec7c8023f8927306d8ed166e3539123b
https://github.com/llvm/llvm-project/commit/61c6997eec7c8023f8927306d8ed166e3539123b
Author: Paweł Bylica <pawel at hepcolgum.band>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll
Log Message:
-----------
[X86][Hexagon] Remove the INSERT_VECTOR_ELT soft promotion workarounds (#223628)
SoftPromoteHalfOperand now handles INSERT_VECTOR_ELT, so neither target
needs to intercept the node on the scalar type to keep the type
legalizer from failing with "Do not know how to soft promote this
operator's operand!".
X86 did exactly what the generic code does: bitcast the vector to its
integer counterpart, insert an i16 and bitcast the result back. Hexagon
built the same vXi16 insert, and that one is still custom lowered
through the regular HVX path.
Both target hooks become unreachable once the operation actions are
gone, because the element operand is promoted to i16 before LegalizeDAG
runs, so drop them as well.
No codegen change: X86/bfloat.ll,
X86/vector-shuffle-combining-avx512bf16.ll and the autohvx tests that
insert into half or bfloat vectors (hfinsert.ll,
build-vector-float-type.ll, splat.ll, calling-conv.ll) all produce
identical output.
The new test `llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll` covers
the `bf16` path, which nothing exercised before: the existing autohvx
insert tests all use `half`. It uses a variable index so the insert
cannot fold into a `BUILD_VECTOR`. The removal is codegen-neutral there
as well: building `main` with only the `bf16` `setOperationAction`
deleted gives byte-identical output for a v81 `<64 x bfloat>` insert at
both a variable and a constant index.
Follow up to #223612.
Assisted-by: Claude Code
Commit: 6b7f72c11059e52dad5cf33895af3f2284ab8fc0
https://github.com/llvm/llvm-project/commit/6b7f72c11059e52dad5cf33895af3f2284ab8fc0
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-ptr-mask.cir
A clang/test/CIR/IR/ptr-mask.cir
A clang/test/CIR/Lowering/ptr-mask.cir
Log Message:
-----------
[CIR] Add cir.ptr_mask (#224143)
`cir.ptr_mask` ANDs a pointer with an integer mask and gives back a
pointer, lowering to llvm.intr.ptrmask. Paired with `cir.ptr_stride` it
rounds a pointer up to an alignment the way classic's
emitRoundPointerUpToAlignment does, without the round trip through an
integer that would lose provenance.
llvm.ptrmask needs the mask at exactly the target's pointer index width,
so the lowering extends or truncates it first. GEP takes an index of any
width, so `cir.ptr_stride` never needed this.
Assisted-by: Cursor / claude-opus-5
Commit: 7d65da41171927246d39929704bc79885e15f9f3
https://github.com/llvm/llvm-project/commit/7d65da41171927246d39929704bc79885e15f9f3
Author: Levi Laine <61821471+levish0 at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Support/ConvertEBCDIC.h
M llvm/lib/Support/ConvertEBCDIC.cpp
M llvm/unittests/Support/ConvertEBCDICTest.cpp
Log Message:
-----------
[Support] Correct UTF-8 error handling in ConvertEBCDIC (#185176)
`ConverterEBCDIC::convertToEBCDIC()` previously decoded only ASCII and
UTF-8 sequences beginning with `C2` or `C3`. Consequently, an incomplete
three- or four-byte sequence was reported as
`std::errc::illegal_byte_sequence`, even though the `TextEncoding`
contract uses `std::errc::invalid_argument` for incomplete input.
Decode each UTF-8 sequence using LLVM's shared `convertUTF8Sequence()`
utility before checking whether the decoded code point is supported by
the EBCDIC-1047 conversion table.
The resulting error handling is:
- Incomplete prefixes that can still form valid UTF-8 return
`std::errc::invalid_argument`.
- Malformed UTF-8 returns `std::errc::illegal_byte_sequence`.
- Valid UTF-8 code points outside U+0000 through U+00FF return
`std::errc::illegal_byte_sequence`.
Existing conversions of code points in U+0000 through U+00FF remain
unchanged. The public documentation now also specifies the supported
range, the empty-result precondition, and that a successfully converted
prefix remains in `Result` on error.
Regression tests cover incomplete two-, three-, and four-byte sequences,
malformed UTF-8 prefixes, invalid continuation bytes, and the converted
prefix retained on error.
### Testing
- `SupportTests.exe --gtest_filter=ConverterEBCDIC.*`
- `SupportTests.exe --gtest_filter=Encoding.*`
Commit: 747c011130b66c197ff5b18892646933f3a1c838
https://github.com/llvm/llvm-project/commit/747c011130b66c197ff5b18892646933f3a1c838
Author: Prashanth <ping at starone01.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/test/Sema/typo-correction-no-hang.cpp
M clang/test/Sema/typo-correction.c
Log Message:
-----------
[clang][Sema][Tests] Add test coverage for function-like macro diagnostic edge cases and C++ (#223895)
Add C++ and edge-case test coverage for function-like macro diagnostic
Follow-up to #123495.
Adds regression tests covering cases not exercised by the original PR:
- Macro call with intervening comment/whitespace before '(', confirms
findNextToken correctly skips these rather than misfiring
- Macro call with '(' across a line break
- Re-#define after #undef, confirms no stale state
- Array-size context (non-assignment expression)
- Variadic function-like macro
- New SemaCXX test confirming the diagnostic fires correctly in C++,
since the implementation lives in shared SemaExpr.cpp
No behavior change, test coverage only.
Commit: 6737b06ad3911eb7f3ef35f31307c63845a2a908
https://github.com/llvm/llvm-project/commit/6737b06ad3911eb7f3ef35f31307c63845a2a908
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
Log Message:
-----------
[clang][bytecode] Remove unused State::addNotes (#224599)
Commit: d569554ee8db7de233e0a866ba1df6cc7e5a1a72
https://github.com/llvm/llvm-project/commit/d569554ee8db7de233e0a866ba1df6cc7e5a1a72
Author: yahia <yahia.a.abdrabou at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/fcntl.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fallocate.h
M libc/src/fcntl/CMakeLists.txt
A libc/src/fcntl/fallocate.h
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/fallocate.cpp
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/linux/CMakeLists.txt
A libc/test/src/fcntl/linux/fallocate_test.cpp
M libc/utils/docgen/fcntl.yaml
Log Message:
-----------
[libc] Implement fallocate (#222843)
Implement fallocate function by adding a syscall wrapper.
Assisted-by: gemini (for the tests and macros)
Commit: 35feca4d8b660134526eeb458179b54ad595abbe
https://github.com/llvm/llvm-project/commit/35feca4d8b660134526eeb458179b54ad595abbe
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port e78fdeba3f9a (#224615)
Commit: eebfba998a5ffaedc997bb305e1ab6d0ee378070
https://github.com/llvm/llvm-project/commit/eebfba998a5ffaedc997bb305e1ab6d0ee378070
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/test/CodeGen/SPIRV/transcoding/func_param_attr.ll
Log Message:
-----------
[SPIR-V] Emit NoCapture function parameter decoration for captures(none) args (#223694)
Commit: b9b96c85f40bc7ecaa68fb90651e7e973bd2761a
https://github.com/llvm/llvm-project/commit/b9b96c85f40bc7ecaa68fb90651e7e973bd2761a
Author: Sergey Semenov <sergey.semenov at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libsycl/include/sycl/__impl/queue.hpp
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/detail/queue_impl.hpp
M libsycl/src/queue.cpp
A libsycl/test/usm/Inputs/fill_memset_common.hpp
A libsycl/test/usm/fill.cpp
A libsycl/test/usm/memset.cpp
M libsycl/unittests/mock/helpers.cpp
M libsycl/unittests/mock/helpers.hpp
M libsycl/unittests/mock/mock.cpp
M libsycl/unittests/queue/CMakeLists.txt
A libsycl/unittests/queue/fill.cpp
A libsycl/unittests/queue/memset.cpp
Log Message:
-----------
[libsycl] Implement USM fill & memset queue API (#217933)
Commit: 4cd54e9dbd1c8353366ac3ce0ec605ad271a176e
https://github.com/llvm/llvm-project/commit/4cd54e9dbd1c8353366ac3ce0ec605ad271a176e
Author: Advit Arora <advitarora2 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/test/CodeGen/AMDGPU/scalar-branch-missing-and-exec.ll
M llvm/test/Transforms/Util/flatten-cfg.ll
Log Message:
-----------
[FlattenCFG] Merge parallel conditions with logical and/or (#218441)
`FlattenParallelAndOr` merges a short-circuit branch pair into one
branch using a bitwise `or`/`and`. Those propagate poison from either
operand, so a condition the source only evaluated behind a guard ends up
feeding an unconditional branch. Emit a logical or/and instead.
`MergeIfRegion` is left alone: `GetIfCondition` only matches when the
second condition already executes on every path, so a poison operand
there is UB before the transform too.
The merged weights compose, but the branch's !prof has the same
staleness problem and longer chains need the product carried through, so
the select is marked explicitly unknown here and the derivation is a
follow-up.
AMDGPU is the only in-tree user. `scalar-branch-missing-and-exec.ll` was
relying on flatten-cfg to build its and-chain, and the select chain
lowers to `s_and_b64 s[0:1], s[0:1], exec` rather than the `s_xor_b64`
it checks for. Nothing is miscompiled, but the test would stop covering
what it was written for, so it now hands the backend the merged
conditions directly. Its CHECK lines are unchanged and it passes on
main.
Fixes https://github.com/llvm/llvm-project/issues/217313
Commit: dbf4967a1f5c80984aa3b0087067dde352e755a4
https://github.com/llvm/llvm-project/commit/dbf4967a1f5c80984aa3b0087067dde352e755a4
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
Log Message:
-----------
[MCJIT] Add dependencies on TargetParser and MC. (#224610)
https://github.com/llvm/llvm-project/pull/224547 added dependencies on
the TargetParser and MC libraries. Update CMakeLists to include the
dependencies, which should fix the link failures caused by PR224547.
Commit: e6a7b7a45f98c53c81ee4df90503a6e1d00d952b
https://github.com/llvm/llvm-project/commit/e6a7b7a45f98c53c81ee4df90503a6e1d00d952b
Author: Paul Walker <paul.walker at arm.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/PowerPC/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/X86/abds-neg.ll
M llvm/test/CodeGen/X86/abdu-neg.ll
Log Message:
-----------
[LLVM][DAGCombiner] Relax requirements for "min(a,b)-max(a,b) -> -abd(a,b)". (#223725)
The combine "max(a,b)-min(a,b) -> abd(a,b)" has no legality check prior
to legalisation, but the matching "min(a,b)-max(a,b) -> -abd(a,b)"
combine does. This seems inconsistent and removing it does not look to
have any downsides.
Commit: c02e5de301c6cb20ba5d0942b71ad8c2b412fb99
https://github.com/llvm/llvm-project/commit/c02e5de301c6cb20ba5d0942b71ad8c2b412fb99
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/docs/Remarks.md
M mlir/include/mlir/IR/Remarks.h
M mlir/lib/IR/Remarks.cpp
M mlir/test/Pass/remark-final.mlir
M mlir/unittests/IR/RemarkTest.cpp
Log Message:
-----------
[MLIR] Drain remarks in RemarkEmittingPolicyFinal::finalize() (#224607)
`RemarkEmittingPolicyFinal::finalize()` iterates `postponedRemarks`
without clearing it. `MlirOptMain` calls `finalize()` after printing the
module, and `~RemarkEngine` calls it again when the context is
destroyed, so a YAML or bitstream streamer serializes every remark
twice. With `mlir/test/Pass/remark-final.mlir` the YAML output file
holds 10 records for 5 remarks. The console path hides this because the
diagnostic handler is already gone when the destructor runs.
This change swaps the pending set into a local before emitting. A second
`finalize()` then emits only the remarks reported since the first one. A
consequence worth stating: a `RelatedTo` link resolves only between
remarks drained by the same call. Both behaviours are documented in the
header comment and in `Remarks.md`.
A follow-up will make the emission order of the final policy
deterministic; today it is `DenseSet` iteration order, which is why the
lit test keeps `CHECK-DAG`.
Assisted-by: Claude Code (Claude Fable 5.1). I read and reviewed the
change before opening it.
Commit: ca7b8dc0df161ae1b36ab97465351acf13e3b633
https://github.com/llvm/llvm-project/commit/ca7b8dc0df161ae1b36ab97465351acf13e3b633
Author: Diego Novillo <dnovillo at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-constant.mir
A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-shared-constant.ll
Log Message:
-----------
[SPIRV] Fix compile abort on a switch case value shared with a module constant (#223548)
This fixes a failure I found when compiling shaders whose switch case
value is also emitted as a module constant. LLVM currently aborts with
```
Assertion `isCImm() && "Wrong MachineOperand accessor"' failed.
```
in `MachineOperand::getCImm`. Three shaders in
[BigWheels](https://github.com/google/bigwheels) and
[Vulkan-Samples](https://github.com/KhronosGroup/Vulkan-Samples) run
into this.
A case operand is a `G_CONSTANT` until the module emits a SPIR-V
constant for the same value, at which point the case register is
replaced with that constant. Both forms have to decode to the case
value, and only `G_CONSTANT` did. The other holds the type in operand 1,
which was read as a `ConstantInt`.
This change decodes the value from either form, walking every 32-bit
literal word so any width survives.
I've added two tests:
- `prelegalizer-switch-case-shared-constant.ll` calls a function
returning `<1 x float>`, so the module emits the constant 1 as the
`OpTypeVectorIdEXT` component count. One of the two case values collides
with it and the other does not, so it covers both forms at 32 bits.
- `prelegalizer-switch-case-constant.mir` tests `i64` and `i128`, and a
null constant of each width.
Commit: 54a71b0d38b63fc6df48fde0dc5ffd84b9f12a50
https://github.com/llvm/llvm-project/commit/54a71b0d38b63fc6df48fde0dc5ffd84b9f12a50
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/extract-feeds-address-latency.ll
Log Message:
-----------
[SLP][NFC]Add a test with non-profitable vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224627
Commit: cc9548d4a6f8b72f5efe84c968298815faad45dd
https://github.com/llvm/llvm-project/commit/cc9548d4a6f8b72f5efe84c968298815faad45dd
Author: Julien Villette <julien.villette at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/hip12-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Inputs/basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-basic-instructions.s
Log Message:
-----------
[AArch64] Extend llvm-mca basic instructions input tests (#224287)
Tests for extended/shifted-register ADD[S]/SUB[S]/ANDS.
Commit: 852425505d6290f358f08454544aac688dbb5399
https://github.com/llvm/llvm-project/commit/852425505d6290f358f08454544aac688dbb5399
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/test/Shell/Recognizer/assert.test
Log Message:
-----------
[lldb][Windows] Skip assert frame recognizer tests on Windows on Arm (#224602)
https://github.com/llvm/llvm-project/pull/224269 introduced the assert
frame recognizers on Windows. This caused a regression on the Windows
ARM64 build bot: `PECallFrameInfo` does not handle ARM64 yet.
This patch skips the test on arm64 Windows.
Tracking issue: https://github.com/llvm/llvm-project/issues/224600
Commit: a22291abb68744cb0b70978eb506a7c5592a3309
https://github.com/llvm/llvm-project/commit/a22291abb68744cb0b70978eb506a7c5592a3309
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll
Log Message:
-----------
[AMDGPU] Strip all incompatible return attrs in RewriteOutArgument (#224608)
Commit: 9c6a62c49ea9d344cb891db1c1a157fe807c0e26
https://github.com/llvm/llvm-project/commit/9c6a62c49ea9d344cb891db1c1a157fe807c0e26
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
Log Message:
-----------
[offload] plumb HostPtr through PluginContextTy::allocate (#224622)
Restore the memory manager pool for libomptarget allocations. Fixes
regression introduced by: #222677
Assisted-By: Claude Opus
Commit: 6d3f949e16618163ee5d74f580c5273af501b54e
https://github.com/llvm/llvm-project/commit/6d3f949e16618163ee5d74f580c5273af501b54e
Author: Marcos Maronas <mmaronas at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-non-amd.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-orderings.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-oversized.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-scopes.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-signatures.ll
M llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap.ll
Log Message:
-----------
[SPIRV] Translate {uinc/udec}_wrap as opaque intrinsics for AMD (#215507)
Translation of `uinc_wrap` and `udec_wrap` as if they were opaque llvm
intrinsics, so that they can be restored in the reverse translation to
the exact original code. This only applies to AMD targets.
Part 1 of #213685 split.
Commit: 540ee7cc012dad0bbfcef0352f6f63a60d27554a
https://github.com/llvm/llvm-project/commit/540ee7cc012dad0bbfcef0352f6f63a60d27554a
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
Log Message:
-----------
[lldb] Fix AddCacheData comments (#224383)
Fix the ambiguity of "substitute" in comments
Commit: 6c680076986c066a813c29e74a3c1183ea321adb
https://github.com/llvm/llvm-project/commit/6c680076986c066a813c29e74a3c1183ea321adb
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
A llvm/test/CodeGen/SPIRV/passes/SPIRVRegularizer-constexpr-metadata.ll
M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
Log Message:
-----------
[SPIR-V] Preserve constexpr vectors as OpSpecConstantComposite (#215794)
Let SPIRVEmitIntrinsics handle these the same as structs/arrays, instead
of eagerly expanding them to runtime insertelement chains
Commit: c4b7e08e60f5b0918795d246dc39ae834d492009
https://github.com/llvm/llvm-project/commit/c4b7e08e60f5b0918795d246dc39ae834d492009
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
Log Message:
-----------
Call FileID::getOpaqueValue() instead of getHashValue() for file identity (#224510)
The HTML diagnostics and rewriter code calls FileID::getHashValue() to
get a numeric identifier for each file.
#223794 changes getHashValue() so that it is no longer the identity
function, which breaks tests in clang/test/Analysis/html_diagnostics.
Call getOpaqueValue(), which is equivalent to the current implementation
of getHashValue(), from the HTML diagnostics/rewriter code instead. This
is a no-op today; it only matters once #223794 is reapplied.
Commit: b65f5aca2ba2ca10611c9b5fb6f80bc34619362d
https://github.com/llvm/llvm-project/commit/b65f5aca2ba2ca10611c9b5fb6f80bc34619362d
Author: Alex Strelnikov <strel at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/sys/xattr.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/flistxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/listxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/llistxattr.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/xattr/CMakeLists.txt
A libc/src/sys/xattr/flistxattr.h
A libc/src/sys/xattr/linux/CMakeLists.txt
A libc/src/sys/xattr/linux/flistxattr.cpp
A libc/src/sys/xattr/linux/listxattr.cpp
A libc/src/sys/xattr/linux/llistxattr.cpp
A libc/src/sys/xattr/listxattr.h
A libc/src/sys/xattr/llistxattr.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/xattr/CMakeLists.txt
A libc/test/src/sys/xattr/flistxattr_test.cpp
A libc/test/src/sys/xattr/listxattr_test.cpp
A libc/test/src/sys/xattr/llistxattr_test.cpp
A libc/test/src/sys/xattr/testdata/CMakeLists.txt
Log Message:
-----------
[libc] Add sys/xattr.h and entrypoints flistxattr, listxattr, and llistxattr. (#224357)
The header is non-POSIX, and the entrypoints, as described in
https://man7.org/linux/man-pages/man2/listxattr.2.html, have
Linux-specific signatures. BSD defines `listxattr` and `flistxattr`, but
with an additional parameter.
Assisted-by: Automated tooling, human reviewed.
Commit: 49eb6d9632a107c25e8673e47623c3dbbecf7d9a
https://github.com/llvm/llvm-project/commit/49eb6d9632a107c25e8673e47623c3dbbecf7d9a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
A llvm/test/Transforms/LoopVectorize/VPlan/record-execution-frequencies.ll
M llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
M llvm/test/Transforms/LoopVectorize/replicate-region-guard-unknown-prof.ll
Log Message:
-----------
[VPlan] Record execution frequencies on VPlan0. (#222337)
Move recording of the execution frequencies from
introduceMasksAndLinearize into a separate recordExecutionFrequencies
transform, run while VPlan0 still mirrors the original loop's CFG.
This more cleanly separates it from the unrelated transform and allows
the frequencies to be used to compute the cost of scalar VPlans:
https://github.com/llvm/llvm-project/pull/196845
PR: https://github.com/llvm/llvm-project/pull/222337
Commit: 52216bc4fa17a61dda6c6e9a3e91e6f3bfa17525
https://github.com/llvm/llvm-project/commit/52216bc4fa17a61dda6c6e9a3e91e6f3bfa17525
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/src/__support/math/setpayloadsig.h
M libc/src/__support/math/setpayloadsigbf16.h
M libc/src/__support/math/setpayloadsigf.h
M libc/src/__support/math/setpayloadsigf128.h
M libc/src/__support/math/setpayloadsigf16.h
M libc/src/__support/math/setpayloadsigl.h
M libc/test/shared/shared_math_constexpr_test.cpp
Log Message:
-----------
[libc] Make setpayloadsig functions constexpr (#223497)
Makes setpayloadsig(f,f16,bf16,f128,etc) function constexpr along with
adding tests for them
Commit: 6047bfd818b5f4a38654c80012f5661e6b291b29
https://github.com/llvm/llvm-project/commit/6047bfd818b5f4a38654c80012f5661e6b291b29
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc][docs] Add doc change for bazel (#223746)
This would include adding bazel entries when we add smoke and MPFR tests
for a function.
Commit: 33fe720a58f8ccdf53d004c3a242ebdfb38a3747
https://github.com/llvm/llvm-project/commit/33fe720a58f8ccdf53d004c3a242ebdfb38a3747
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/tools.cpp
Log Message:
-----------
[flang-rt] Compile ShallowCopyModifiedSuffix for the device (#224485)
#222101 introduced `ShallowCopyModifiedSuffix` as the callee of
`CopyOutAssign` and deliberately left it outside the offload API group,
with a comment claiming its only caller is host-only. This fix moves the
`ShallowCopyModifiedSuffix` family into the offload API group and marks
it `RT_API_ATTRS`, exactly like the `ShallowCopy` family it mirrors.
Also resolved the merge conflict with #224570 (the reland of #224063):
the new CopyOutAssignDirect entry point needed the same treatment.
Assisted-by: AI
Commit: c9074cfd0d956c0d3433eb2aea4adc899edc9887
https://github.com/llvm/llvm-project/commit/c9074cfd0d956c0d3433eb2aea4adc899edc9887
Author: Ambrose Leeb <aleeb at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Parser/cxx2c-expansion-statements.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
A clang/test/SemaCXX/cxx2c-expansion-stmts-warnings.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
M clang/test/SemaCXX/expansion-statements-local-extern-decls.cpp
A clang/test/SemaCXX/expansion-statements-local-extern-if-constexpr.cpp
Log Message:
-----------
Reapply "[Clang] Fix a number of issues involving expansion statements" (#220375) (#223005)
This reverts 7c44c505cd7688a8994779f1751e0f9b4b95ab4c and relands
#217110.
There were two tests that needed updating: one because a warning that
had previously been erroneously suppressed (because we thought we
weren’t in a function) now works properly, and another because it
crashes due to an unrelated bug. I’ve filed #223003 for the latter and
moved the crash into a separate XFAIL test so it can be reenabled when
the bug is fixed.
The plan was to backport this to the 23 release branch, so still no
release note.
Commit: c1881649126e88f262290eafa0374c3bc3593acd
https://github.com/llvm/llvm-project/commit/c1881649126e88f262290eafa0374c3bc3593acd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-benchmark.yml
A libcxx/test/configs/installed-libc++.cfg.in
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/ci/run-buildbot
M libcxx/utils/test-at-commit
Log Message:
-----------
[libc++] Allow specifying a configuration in test-at-commit (#224381)
test-at-commit always generated its own Lit configuration pointing at
the libc++ installation given with --libcxx-installation, which meant it
could only ever test libc++. This patch generalizes this to allow
support passing a custom Lit config, which allows using the script for a
wider array of use cases.
Commit: 024b25e8bdf3c4e171abbf98e45beb81924c6975
https://github.com/llvm/llvm-project/commit/024b25e8bdf3c4e171abbf98e45beb81924c6975
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libcxx/test/configs/stdlib-libstdc++.cfg.in
Log Message:
-----------
[libc++] Locate libstdc++ by querying GCC in the libstdc++ test configuration (#224335)
Instead of hardcoding various paths to locate libstdc++ artifacts, just
provide the compiler and derive all paths from that. This makes it
simpler to run against a pre-installed libstdc++.
Commit: 8fe013c728a2d29722925e9bebbd454a5e3ad365
https://github.com/llvm/llvm-project/commit/8fe013c728a2d29722925e9bebbd454a5e3ad365
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/GVN/assume-equal.ll
Log Message:
-----------
[Loads] Fix incorrect replacement of pointers with different provenance (#224281)
isPointerAlwaysReplaceable() uses getUnderlyingObject() to check whether
the two pointers have the same provenance, because in that case the
replacement is always legal. However, getUnderlyingObject() does not
actually guarantee that the provenance is the same: In particular, it
can look through some intrinsics like strip.invariant.group and
launder.invariant.group, which do change the provenance of the pointer.
And replacing the result of those intrinsics with their argument is
indeed incorrect.
Fix this by adding a MustPreserveProvenance argument to the relevant
APIs, and enable it in isPointerAlwaysReplaceable().
Noticed while working on
https://github.com/llvm/llvm-project/pull/224222.
Commit: 8f68ddfae4b36496d84ba9b7d54cdb0f7fe684d8
https://github.com/llvm/llvm-project/commit/8f68ddfae4b36496d84ba9b7d54cdb0f7fe684d8
Author: David Meng <davidmenggx at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-decltype-auto.cpp
Log Message:
-----------
[clang-tidy] Skip `decltype(auto)` variables in misc-const-correctness (#224465)
Since #157319 the check analyzes `auto` variables, which also pulled in
`decltype(auto)`. Its fix-it inserts `const`, but `decltype(auto)`
cannot be combined with other type specifiers, so the fix does not
compile:
```cpp
decltype(auto) x = get_ref();
decltype(auto) const x = get_ref(); // error
```
Exclude such variables from the analysis, as no `const` can be added.
Fixes #223940
Commit: fce3facdfe49924687eaba7b2239ee101104b2c3
https://github.com/llvm/llvm-project/commit/fce3facdfe49924687eaba7b2239ee101104b2c3
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M lld/tools/lld/lld.cpp
M llvm/cmake/modules/llvm-driver-template.cpp.in
A llvm/include/llvm/Support/Driver.h
R llvm/include/llvm/Support/LLVMDriver.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Driver.cpp
A llvm/test/tools/llvm-driver/session-dispatch.test
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-ar/llvm-ar.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-driver/llvm-driver.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/LLVMToolSession/CMakeLists.txt
A llvm/unittests/Support/LLVMToolSession/LLVMToolSessionTest.cpp
Log Message:
-----------
Reapply [Support] ToolSession for in-process tool invocation (#224515)
This PR Relands #221996, which was approved and merged but reverted in
#224368 after failures in the Fuchsia builders.
This PR contains two commits:
1. The original approved commit, reapplied without changes.
2. A small follow-up fixing the reported failures.
The problem was that a direct Clang invocation was incorrectly marked as
needing a prepended tool name. When Clang launched cc1 out of process,
we produced:
clang clang -cc1 ...
instead of:
clang -cc1 ...
This affected `cc-print-proc-stat.c` and the macOS runtime compiler
checks.
The second commit determines whether the session executable already
dispatches to the selected tool before setting `NeedsPrependArg`. It
also adds regression tests for direct invocation and overlapping tool
names.
Tested with the ToolSession unit tests, llvm-driver tests, the
previously failing Clang test, and forced out-of-process cc1
compilation.
Commit: 64902e09805506f786496030c5307e1a630cfbca
https://github.com/llvm/llvm-project/commit/64902e09805506f786496030c5307e1a630cfbca
Author: Philip Reames <listmail at philipreames.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/combine-mulo.ll
Log Message:
-----------
[DAG] Don't constant fold opaque constants in visitMULO (#224494)
Opaque constants (created for constants hoisted by ConstantHoisting) are
deliberately not folded by FoldConstantArithmetic for binary operations,
so that the hoisted constant is not rematerialized in each user. The MULO
fold in DAGCombiner did not check for this.
The second test reveals a second opaque constant problem - apparently
our constant RHS canonicalization isn't properly handling opaque
constants. (This change is about three split attempts off of something that
was supposed to be fairly trivial. I decided to stop here.)
Assisted-by: Claude Fable 5.1
Commit: a7a017ce5515fb3db8c4e175a3ce4a1a5a737140
https://github.com/llvm/llvm-project/commit/a7a017ce5515fb3db8c4e175a3ce4a1a5a737140
Author: Yue Huang <2292398666 at qq.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/ControlFlow/ops.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
Log Message:
-----------
[MLIR][Parser] Fix result numbers not being allowed in switch statements (#224581)
PR #87658 fixed this for the `case` branch for `cf.switch`, but not the
`default` case. Moreover, `llvm.switch` has the same problem. This PR
fixes them.
Commit: cb9d4cdf5e415d17aaa54a094939249c15871d2d
https://github.com/llvm/llvm-project/commit/cb9d4cdf5e415d17aaa54a094939249c15871d2d
Author: A. Cauble <accauble at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
M clang/unittests/offload-arch/OffloadArchTest.cpp
Log Message:
-----------
[offload-arch] Report gfx1250-strict to match rocminfo (#224480)
## Motivation
offload-arch would print gfx1250, but rocminfo reports gfx1250-strict on
revision 0s. We want to print the gfx1250-strict too.
Note: This is based off a [similar PR in
rocm-systems](https://github.com/ROCm/rocm-systems/pull/11639).
## Required Changes
* llvm already can parse the gfx1250 -strict target, so no changes
necessary there.
* offload-arch already printed gfx1250, so just needed to get the ASIC
Revision, which is in bits 25:22 in the capability property.
* If ASIC Revision is 0 and gfx_target_version is gfx1250, then report
"gfx1250-strict"
## Testing
* Tested this on a gfx1250-strict and offload-arch reports correctly.
* Added two unit tests to check for "gfx1250" v "gfx1250-strict"
depending on ASIC revision and guard against accidental parsing of
"capability2"
Commit: 88e118f2cf5df96d7e0f309414c5d26dc24de308
https://github.com/llvm/llvm-project/commit/88e118f2cf5df96d7e0f309414c5d26dc24de308
Author: Le Gia Bao <legiabao7300 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
A llvm/test/Transforms/LoopVectorize/X86/pr217019.ll
M llvm/test/Transforms/LoopVectorize/X86/replicating-load-store-costs.ll
Log Message:
-----------
[x86][CostModel] A runtime stride should cost one ADD on AVX2+ (#219903)
Runtime stride should cost one ADD per iteration. Only when the loop has
no fixed step do we need the AVX2 cut-off.
Closes #217019.
Commit: 6e25b1ca84812cffd3e373e91a619272d3d2a324
https://github.com/llvm/llvm-project/commit/6e25b1ca84812cffd3e373e91a619272d3d2a324
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
A clang/test/CIR/CodeGen/func-member-attrs.cpp
M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
M clang/test/CIR/CodeGen/global-tls-templates.cpp
M clang/test/CIR/CodeGen/inherited-ctors.cpp
M clang/test/CIR/CodeGen/lambda-generic-in-cxx11abi-lambda.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
M clang/test/CIR/CodeGen/static-local.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/invalid-func.cir
M clang/test/CIR/func-linkage.cpp
Log Message:
-----------
[CIR] Correctly pass func self-comdat & alignment (#223773)
Classic codegen does these, and it is important for when these end up
being stored as function pointers, as we discovered on a benchmark.
This patch does 2 things:
1- Properly passes the 'self' 'comdat' feature (that is, when the symbol
reference is 'self', not when it is a different name, which isn't
implemented anywhere). This mirrors what was done for GlobalOp.
2- Properly calculate and pass the 'alignment'/'preferred alignment' for
a function. Only the 'alignment' is passed to LLVM-IR, as the dialect
doesn't support preferred alignment, so a 'missing feature' is left in
place. That functionality isn't important to this patch, but was 'next
to' the alignment work in CodeGenModule.cpp, so it seemed like something
we should handle if at all possible.
Commit: f98160d33212cb3dcfa123fcc1fbf1563d90dd81
https://github.com/llvm/llvm-project/commit/f98160d33212cb3dcfa123fcc1fbf1563d90dd81
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/test/CIR/CodeGen/global-address-to-int.c
M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
Log Message:
-----------
[CIR] Give up when we hit a global-view in dense-element-attr lowering (#224379)
A ptr-to-int conversion can't be converted to an APInt/APFloat, so this
ends up not being able to produce a valid dense element attr. This patch
makes us 'fall back' to the insert-value version of any potential
dense-elements lowering if there is a global view as one of the values.
Commit: 7817563b3b117119d8f8ae5cbe04d656f9af638b
https://github.com/llvm/llvm-project/commit/7817563b3b117119d8f8ae5cbe04d656f9af638b
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/test/CodeGen/X86/fast-isel-gep.ll
Log Message:
-----------
[X86] Fix `FastISel` crash on `GEP` with a constant index wider than `64` bits (#223432)
Fixes #220954
When FastISel folds a GEP into an X86 addressing mode, it reads each
constant index with `getSExtValue()` and adds it to the displacement.
That call asserts if the constant has more than 64 significant bits, so
a `getelementptr` with an `i128` index of `2^64` feeding a legal-typed
load crashes at `-O0`. The LangRef says a GEP index is sign-extended or
truncated to the pointer width, and both generic FastISel and
SelectionDAGBuilder already do exactly that (added in 2015 for this same
assertion). The X86 address folder was the one GEP lowering that never
got the same treatment.
The index is now truncated to 64 bits before it is folded, mirroring
`FastISel::selectGetElementPtr`. For the reproducer the index becomes
zero and the load addresses the alloca directly, which is also what
SelectionDAG produces for the same IR. The other integer conversions in
`X86SelectAddress` are already safe: struct indices are
verifier-enforced `i32`, and the folded-add and `Add` paths only match
values whose type already equals the pointer width.
Commit: f7de7bca9aa0ca5a34bcb96d42b9543eac57f85e
https://github.com/llvm/llvm-project/commit/f7de7bca9aa0ca5a34bcb96d42b9543eac57f85e
Author: junfengd-nv <junfengd at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/docs/Aliasing.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
M flang/test/Lower/cray-pointer.f90
Log Message:
-----------
[flang] Mark visible Cray pointer associations as aliasing (#221350)
A visible Cray pointer association (ptr = loc(x) in the same procedure)
can alias x and the pointee. Flang treated them as no-alias and
miscompiled some codes at -O2.
-funsafe-cray-pointers is too broad. Instead, lowering now marks x as
TARGET for that procedure so later FIR passes (including TBAA) see the
aliasing. Default behavior: no-alias is unchanged.
Commit: c476f80e8f6d7cdaf462230611e3b07da5835da6
https://github.com/llvm/llvm-project/commit/c476f80e8f6d7cdaf462230611e3b07da5835da6
Author: elizabethandrews <elizabeth.andrews at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/Headers/__clang_spirv_builtins.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/CodeGenSYCL/address-space-conversions.cpp
M clang/test/CodeGenSYCL/address-space-mangling.cpp
M clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
M clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
M clang/test/SemaSPIRV/BuiltIns/generic_cast_to_ptr_explicit.c
M clang/test/SemaSYCL/address-space-conversions.cpp
A clang/test/SemaSYCL/sycl-address-space-attr-appertainment.cpp
M clang/test/SemaTemplate/address_space-dependent.cpp
Log Message:
-----------
[clang][SYCL] Implement address space attributes for SYCL (#200849)
This PR adds SYCL address space attributes. These attributes are
intended for use in the implementation of SYCL run-time libraries and
should not be used in any other context.
The following attributes were added - [[clang::sycl_private]],
[[clang::sycl_global]], [[clang::sycl_local]], [[clang::sycl_constant]]
and [[clang::sycl_generic]]. These correspond to the five address spaces
described by SYCL 2020 section 3.8.2, "SYCL device memory model" and
SYCL 2020 section 4.7.7, "Address space classes".
Assisted by Claude
---------
Co-authored-by: Tom Honermann <tom at honermann.net>
Commit: 2859acaeca642e0f823c87515ed3c5e23d7f5be4
https://github.com/llvm/llvm-project/commit/2859acaeca642e0f823c87515ed3c5e23d7f5be4
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/Basic/SourceLocation.h
Log Message:
-----------
Mix bits in FileID::getHashValue() (#224654)
FileID's identity hash was fine under DenseMap's old quadratic probing,
but #200595 switched DenseMap to linear probing with backward-shift
deletion. FileID's bucket index under an identity hash is just its low
bits, so two runs of file IDs can map to the same buckets, which can
turn into a long clustered probe chain under linear probing.
Multiply by 37 to spread the low bits, which matches
SourceLocation::getHashValue(). This fixes a 2.6x compile-time
regression observed with -Wdocumentation on an ObjC++ file.
Reapplies #223794, which was reverted because it broke tests in
clang/test/Analysis/html_diagnostics. It is safe to reapply now that
#224510 fixed the underlying issue.
rdar://187026883
Co-authored-by: Fred Riss <friss at apple.com>
Commit: 2d0fcac1b64edbb205696e4c83f5abe98679e027
https://github.com/llvm/llvm-project/commit/2d0fcac1b64edbb205696e4c83f5abe98679e027
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unused SDT_RISCVVNBinOp_RM_VL tablegen class. NFC (#224440)
Commit: 03a6445dd2835ab022aa7b48063bb69668d66fe2
https://github.com/llvm/llvm-project/commit/03a6445dd2835ab022aa7b48063bb69668d66fe2
Author: Philip Reames <listmail at philipreames.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/parity.ll
M llvm/test/CodeGen/X86/vector-reduce-xor.ll
Log Message:
-----------
[DAG] Constant fold ISD::PARITY (#224387)
Context: Starting a claude assisted sweep for small gaps in SDAG's core
routines, starting with constant folding. This is the first of a small series
of patches covering small obvious seeming gaps. My main motivation
is simply making sure we have full coverage and as an exercise in
getting myself re-started upstream as I've been inactive for a few
months.
ISD::PARITY was missing from getNode / FoldConstantArithmetic which
meant it wasn't being constant folded at construction. Also implement
the DAG combine so that an already created PARITY node can be folded
if it's arguments become constant. This is the path which actually
triggers outside of type legalization.
Since PARITY doesn't have an IR form, we have to form tests in a way to
let the DAG combine from ctpop form them. This results in somewhat
fragile tests which is unfortunate.
Assisted-by: Claude Fable 5.1
(By which I mean, entirely written by Claude with guidance from me on
taste)
Commit: 7dcbc96157933545eaf92a899950299c55dc423d
https://github.com/llvm/llvm-project/commit/7dcbc96157933545eaf92a899950299c55dc423d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/sibling-loops-different-trip-counts.ll
Log Message:
-----------
[SLP][NFC]Add a test with missing vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224676
Commit: 159880277335747a033414bf0c4031ffe0f4be31
https://github.com/llvm/llvm-project/commit/159880277335747a033414bf0c4031ffe0f4be31
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/MC/RISCV/rvv/xsfmm-invalid.s
Log Message:
-----------
[RISCV] Add missing feature to RUN line of xsfmm-invalid.s. NFC (#224473)
This test was supposed to test invalid operands not invalid
instructions.
Commit: a3d9bdd0c4cef5d81b88c8a8284580b783b614ff
https://github.com/llvm/llvm-project/commit/a3d9bdd0c4cef5d81b88c8a8284580b783b614ff
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
Log Message:
-----------
[Transforms] Use make_isa_range for type-filtered loops (NFC) (#224597)
Use make_isa_range (added in
https://github.com/llvm/llvm-project/pull/223414) for dyn_cast/continue
loops.
PR: https://github.com/llvm/llvm-project/pull/224597
Commit: 631894f3408aa724e9f6f8ba9eedbc37860ece49
https://github.com/llvm/llvm-project/commit/631894f3408aa724e9f6f8ba9eedbc37860ece49
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Passes.td
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
Log Message:
-----------
[CIR] Source LoweringPrepare target facts from the module (#219078)
LoweringPrepare reads a few target-derived facts (guard-variable width,
COMDAT format, _tlv_atexit/__cxa_thread_atexit selection) from the
ASTContext's TargetInfo.
This builds a LowerModule from the module's own cir.triple and reads
those facts from it instead, so target-derived lowering is consistent
with how the module was created rather than with the current invocation.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 4a5ed6dbeca683034fb553e3eddaac22c0e02e08
https://github.com/llvm/llvm-project/commit/4a5ed6dbeca683034fb553e3eddaac22c0e02e08
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
Log Message:
-----------
[RISCV] Remove combineTruncToVnclip. (#224418)
This is very similar to foldToSaturated but operating on RISCVISD _VL
nodes instead of generic nodes.
combineTruncToVnclip handled some additional cases that the middle end
doesn't consider canonical. This was necessary for VP intrinsics that
skipped middle end canonicalization.
For patterns that saturate a signed value into an unsigned value the
canonical form uses an smax to make negative values positive followed by
a umin.
I have updated the tests to be in canonical form or remove if there was
already a canonical test. I had to update one other transform to emit
code in canonical form.
Commit: 50c563998bac0a95226d034057c33f0b28019790
https://github.com/llvm/llvm-project/commit/50c563998bac0a95226d034057c33f0b28019790
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
Log Message:
-----------
[ThinLTOBitcodeWriter] Encode hotness into cfi.functions metadata (#223846)
Encode function hotness classification (`Hot`, `Other`, `Cold`, or
`Unknown`) into the upper bits of the linkage operand in `cfi.functions`
metadata.
`CfiFunctionHotness::fromFunction` mirrors `CodeGenPrepare` section
assignment logic using function attributes (`hot`/`cold`),
`ProfileSummaryInfo`, and `BlockFrequencyInfo`. This allows
`LowerTypeTests` to order CFI jump table entries by function hotness so
the jump table lands in a hot section and the hottest target benefits
from last-entry fall-through relaxation.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* ➤ https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: 194fbc4f8a282920ee7f06bea02dda4b34a1236e
https://github.com/llvm/llvm-project/commit/194fbc4f8a282920ee7f06bea02dda4b34a1236e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
R clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
Log Message:
-----------
Revert "[alpha.webkit.UnretainedCallArgsChecker] Emit a warning for a non-const RetainPtr member (#184243)" (#224464)
This reverts bf005a1227a4822c7c2535dd5f5f3626fbe441b2 as it introduced
too many new warnings.
Commit: 47b54ed6797f4446a3d2878c9a36ae8c872ca7c6
https://github.com/llvm/llvm-project/commit/47b54ed6797f4446a3d2878c9a36ae8c872ca7c6
Author: lntue <lntue at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/test/src/math/AddTest.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/ScalbnTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/bf16add_test.cpp
M libc/test/src/math/bf16addf128_test.cpp
M libc/test/src/math/bf16addf_test.cpp
M libc/test/src/math/bf16addl_test.cpp
M libc/test/src/math/bf16div_test.cpp
M libc/test/src/math/bf16divf128_test.cpp
M libc/test/src/math/bf16divf_test.cpp
M libc/test/src/math/bf16divl_test.cpp
M libc/test/src/math/bf16fma_test.cpp
M libc/test/src/math/bf16fmaf128_test.cpp
M libc/test/src/math/bf16fmaf_test.cpp
M libc/test/src/math/bf16fmal_test.cpp
M libc/test/src/math/bf16mul_test.cpp
M libc/test/src/math/bf16mulf128_test.cpp
M libc/test/src/math/bf16mulf_test.cpp
M libc/test/src/math/bf16mull_test.cpp
M libc/test/src/math/bf16sub_test.cpp
M libc/test/src/math/bf16subf128_test.cpp
M libc/test/src/math/bf16subf_test.cpp
M libc/test/src/math/bf16subl_test.cpp
M libc/test/src/math/ceil_test.cpp
M libc/test/src/math/ceilbf16_test.cpp
M libc/test/src/math/ceilf128_test.cpp
M libc/test/src/math/ceilf16_test.cpp
M libc/test/src/math/ceilf_test.cpp
M libc/test/src/math/ceill_test.cpp
M libc/test/src/math/copysign_test.cpp
M libc/test/src/math/copysignf_test.cpp
M libc/test/src/math/copysignl_test.cpp
M libc/test/src/math/daddl_test.cpp
M libc/test/src/math/ddivl_test.cpp
M libc/test/src/math/dfmal_test.cpp
M libc/test/src/math/dmull_test.cpp
M libc/test/src/math/dsqrtl_test.cpp
M libc/test/src/math/dsubl_test.cpp
M libc/test/src/math/exhaustive/acospif_test.cpp
M libc/test/src/math/exhaustive/cosf_float_test.cpp
M libc/test/src/math/exhaustive/fmodbf16_test.cpp
M libc/test/src/math/exhaustive/lgammaf_test.cpp
M libc/test/src/math/exhaustive/rsqrtf_test.cpp
M libc/test/src/math/exhaustive/sinf_float_test.cpp
M libc/test/src/math/f16add_test.cpp
M libc/test/src/math/f16addf_test.cpp
M libc/test/src/math/f16addl_test.cpp
M libc/test/src/math/f16div_test.cpp
M libc/test/src/math/f16divf_test.cpp
M libc/test/src/math/f16divl_test.cpp
M libc/test/src/math/f16fma_test.cpp
M libc/test/src/math/f16fmaf_test.cpp
M libc/test/src/math/f16fmal_test.cpp
M libc/test/src/math/f16mul_test.cpp
M libc/test/src/math/f16mulf_test.cpp
M libc/test/src/math/f16mull_test.cpp
M libc/test/src/math/f16sqrt_test.cpp
M libc/test/src/math/f16sqrtf_test.cpp
M libc/test/src/math/f16sqrtl_test.cpp
M libc/test/src/math/f16sub_test.cpp
M libc/test/src/math/f16subf_test.cpp
M libc/test/src/math/f16subl_test.cpp
M libc/test/src/math/fabs_test.cpp
M libc/test/src/math/fabsbf16_test.cpp
M libc/test/src/math/fabsf16_test.cpp
M libc/test/src/math/fabsf_test.cpp
M libc/test/src/math/fabsl_test.cpp
M libc/test/src/math/fadd_test.cpp
M libc/test/src/math/faddl_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/fdiv_test.cpp
M libc/test/src/math/fdivl_test.cpp
M libc/test/src/math/ffma_test.cpp
M libc/test/src/math/ffmal_test.cpp
M libc/test/src/math/floor_test.cpp
M libc/test/src/math/floorbf16_test.cpp
M libc/test/src/math/floorf128_test.cpp
M libc/test/src/math/floorf16_test.cpp
M libc/test/src/math/floorf_test.cpp
M libc/test/src/math/floorl_test.cpp
M libc/test/src/math/fmaf16_test.cpp
M libc/test/src/math/fmaf_test.cpp
M libc/test/src/math/fmax_test.cpp
M libc/test/src/math/fmaxf_test.cpp
M libc/test/src/math/fmaxl_test.cpp
M libc/test/src/math/fmin_test.cpp
M libc/test/src/math/fminf_test.cpp
M libc/test/src/math/fminl_test.cpp
M libc/test/src/math/fmod_test.cpp
M libc/test/src/math/fmodf_test.cpp
M libc/test/src/math/fmul_test.cpp
M libc/test/src/math/fmull_test.cpp
M libc/test/src/math/frexp_test.cpp
M libc/test/src/math/frexpbf16_test.cpp
M libc/test/src/math/frexpf16_test.cpp
M libc/test/src/math/frexpf_test.cpp
M libc/test/src/math/frexpl_test.cpp
M libc/test/src/math/fsqrt_test.cpp
M libc/test/src/math/fsqrtl_test.cpp
M libc/test/src/math/fsub_test.cpp
M libc/test/src/math/fsubl_test.cpp
M libc/test/src/math/generic_sqrt_test.cpp
M libc/test/src/math/generic_sqrtf_test.cpp
M libc/test/src/math/generic_sqrtl_test.cpp
M libc/test/src/math/ldexp_test.cpp
M libc/test/src/math/ldexpf_test.cpp
M libc/test/src/math/ldexpl_test.cpp
M libc/test/src/math/llrint_test.cpp
M libc/test/src/math/llrintbf16_test.cpp
M libc/test/src/math/llrintf16_test.cpp
M libc/test/src/math/llrintf_test.cpp
M libc/test/src/math/llrintl_test.cpp
M libc/test/src/math/llround_test.cpp
M libc/test/src/math/llroundbf16_test.cpp
M libc/test/src/math/llroundf16_test.cpp
M libc/test/src/math/llroundf_test.cpp
M libc/test/src/math/llroundl_test.cpp
M libc/test/src/math/logb_test.cpp
M libc/test/src/math/logbf_test.cpp
M libc/test/src/math/logbl_test.cpp
M libc/test/src/math/lrint_test.cpp
M libc/test/src/math/lrintbf16_test.cpp
M libc/test/src/math/lrintf16_test.cpp
M libc/test/src/math/lrintf_test.cpp
M libc/test/src/math/lrintl_test.cpp
M libc/test/src/math/lround_test.cpp
M libc/test/src/math/lroundbf16_test.cpp
M libc/test/src/math/lroundf16_test.cpp
M libc/test/src/math/lroundf_test.cpp
M libc/test/src/math/lroundl_test.cpp
M libc/test/src/math/modf_test.cpp
M libc/test/src/math/modff_test.cpp
M libc/test/src/math/modfl_test.cpp
M libc/test/src/math/nearbyint_test.cpp
M libc/test/src/math/nearbyintbf16_test.cpp
M libc/test/src/math/nearbyintf16_test.cpp
M libc/test/src/math/nearbyintf_test.cpp
M libc/test/src/math/nearbyintl_test.cpp
M libc/test/src/math/nextafter_test.cpp
M libc/test/src/math/nextafterf128_test.cpp
M libc/test/src/math/nextafterf_test.cpp
M libc/test/src/math/nextafterl_test.cpp
M libc/test/src/math/remquo_test.cpp
M libc/test/src/math/remquobf16_test.cpp
M libc/test/src/math/remquof16_test.cpp
M libc/test/src/math/remquof_test.cpp
M libc/test/src/math/remquol_test.cpp
M libc/test/src/math/rint_test.cpp
M libc/test/src/math/rintbf16_test.cpp
M libc/test/src/math/rintf16_test.cpp
M libc/test/src/math/rintf_test.cpp
M libc/test/src/math/rintl_test.cpp
M libc/test/src/math/round_test.cpp
M libc/test/src/math/roundbf16_test.cpp
M libc/test/src/math/roundeven_test.cpp
M libc/test/src/math/roundevenbf16_test.cpp
M libc/test/src/math/roundevenf16_test.cpp
M libc/test/src/math/roundevenf_test.cpp
M libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/roundf128_test.cpp
M libc/test/src/math/roundf16_test.cpp
M libc/test/src/math/roundf_test.cpp
M libc/test/src/math/roundl_test.cpp
M libc/test/src/math/rsqrtf_test.cpp
M libc/test/src/math/scalbn_test.cpp
M libc/test/src/math/scalbnf128_test.cpp
M libc/test/src/math/scalbnf_test.cpp
M libc/test/src/math/scalbnl_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/FromfpTest.h
M libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/GetPayloadTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/IsCanonicalTest.h
M libc/test/src/math/smoke/IsNanTest.h
M libc/test/src/math/smoke/IsSignalingTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NearbyIntTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextDownTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/NextUpTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/ScalbnTest.h
M libc/test/src/math/smoke/SetPayloadSigTest.h
M libc/test/src/math/smoke/SetPayloadTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/math/smoke/TotalOrderMagTest.h
M libc/test/src/math/smoke/TotalOrderTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/UfromfpTest.h
M libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/bf16add_test.cpp
M libc/test/src/math/smoke/bf16addf128_test.cpp
M libc/test/src/math/smoke/bf16addf_test.cpp
M libc/test/src/math/smoke/bf16addl_test.cpp
M libc/test/src/math/smoke/bf16div_test.cpp
M libc/test/src/math/smoke/bf16divf128_test.cpp
M libc/test/src/math/smoke/bf16divf_test.cpp
M libc/test/src/math/smoke/bf16divl_test.cpp
M libc/test/src/math/smoke/bf16fma_test.cpp
M libc/test/src/math/smoke/bf16fmaf128_test.cpp
M libc/test/src/math/smoke/bf16fmaf_test.cpp
M libc/test/src/math/smoke/bf16fmal_test.cpp
M libc/test/src/math/smoke/bf16mul_test.cpp
M libc/test/src/math/smoke/bf16mulf128_test.cpp
M libc/test/src/math/smoke/bf16mulf_test.cpp
M libc/test/src/math/smoke/bf16mull_test.cpp
M libc/test/src/math/smoke/bf16sub_test.cpp
M libc/test/src/math/smoke/bf16subf128_test.cpp
M libc/test/src/math/smoke/bf16subf_test.cpp
M libc/test/src/math/smoke/bf16subl_test.cpp
M libc/test/src/math/smoke/bfloat16_add_test.cpp
M libc/test/src/math/smoke/bfloat16_div_test.cpp
M libc/test/src/math/smoke/bfloat16_mul_test.cpp
M libc/test/src/math/smoke/bfloat16_sub_test.cpp
M libc/test/src/math/smoke/canonicalize_test.cpp
M libc/test/src/math/smoke/canonicalizebf16_test.cpp
M libc/test/src/math/smoke/canonicalizef128_test.cpp
M libc/test/src/math/smoke/canonicalizef16_test.cpp
M libc/test/src/math/smoke/canonicalizef_test.cpp
M libc/test/src/math/smoke/canonicalizel_test.cpp
M libc/test/src/math/smoke/cbrtf16_test.cpp
M libc/test/src/math/smoke/ceil_test.cpp
M libc/test/src/math/smoke/ceilbf16_test.cpp
M libc/test/src/math/smoke/ceilf128_test.cpp
M libc/test/src/math/smoke/ceilf16_test.cpp
M libc/test/src/math/smoke/ceilf_test.cpp
M libc/test/src/math/smoke/ceill_test.cpp
M libc/test/src/math/smoke/copysign_test.cpp
M libc/test/src/math/smoke/copysignbf16_test.cpp
M libc/test/src/math/smoke/copysignf128_test.cpp
M libc/test/src/math/smoke/copysignf16_test.cpp
M libc/test/src/math/smoke/copysignf_test.cpp
M libc/test/src/math/smoke/copysignl_test.cpp
M libc/test/src/math/smoke/daddf128_test.cpp
M libc/test/src/math/smoke/daddl_test.cpp
M libc/test/src/math/smoke/ddivf128_test.cpp
M libc/test/src/math/smoke/ddivl_test.cpp
M libc/test/src/math/smoke/dfmaf128_test.cpp
M libc/test/src/math/smoke/dfmal_test.cpp
M libc/test/src/math/smoke/dmulf128_test.cpp
M libc/test/src/math/smoke/dmull_test.cpp
M libc/test/src/math/smoke/dsqrtf128_test.cpp
M libc/test/src/math/smoke/dsqrtl_test.cpp
M libc/test/src/math/smoke/dsubf128_test.cpp
M libc/test/src/math/smoke/dsubl_test.cpp
M libc/test/src/math/smoke/erff16_test.cpp
M libc/test/src/math/smoke/expbf16_test.cpp
M libc/test/src/math/smoke/f16add_test.cpp
M libc/test/src/math/smoke/f16addf128_test.cpp
M libc/test/src/math/smoke/f16addf_test.cpp
M libc/test/src/math/smoke/f16addl_test.cpp
M libc/test/src/math/smoke/f16div_test.cpp
M libc/test/src/math/smoke/f16divf128_test.cpp
M libc/test/src/math/smoke/f16divf_test.cpp
M libc/test/src/math/smoke/f16divl_test.cpp
M libc/test/src/math/smoke/f16fma_test.cpp
M libc/test/src/math/smoke/f16fmaf128_test.cpp
M libc/test/src/math/smoke/f16fmaf_test.cpp
M libc/test/src/math/smoke/f16fmal_test.cpp
M libc/test/src/math/smoke/f16mul_test.cpp
M libc/test/src/math/smoke/f16mulf128_test.cpp
M libc/test/src/math/smoke/f16mulf_test.cpp
M libc/test/src/math/smoke/f16mull_test.cpp
M libc/test/src/math/smoke/f16sqrt_test.cpp
M libc/test/src/math/smoke/f16sqrtf128_test.cpp
M libc/test/src/math/smoke/f16sqrtf_test.cpp
M libc/test/src/math/smoke/f16sqrtl_test.cpp
M libc/test/src/math/smoke/f16sub_test.cpp
M libc/test/src/math/smoke/f16subf128_test.cpp
M libc/test/src/math/smoke/f16subf_test.cpp
M libc/test/src/math/smoke/f16subl_test.cpp
M libc/test/src/math/smoke/fabs_test.cpp
M libc/test/src/math/smoke/fabsbf16_test.cpp
M libc/test/src/math/smoke/fabsf128_test.cpp
M libc/test/src/math/smoke/fabsf16_test.cpp
M libc/test/src/math/smoke/fabsf_test.cpp
M libc/test/src/math/smoke/fabsl_test.cpp
M libc/test/src/math/smoke/fadd_test.cpp
M libc/test/src/math/smoke/faddf128_test.cpp
M libc/test/src/math/smoke/faddl_test.cpp
M libc/test/src/math/smoke/fdim_test.cpp
M libc/test/src/math/smoke/fdimbf16_test.cpp
M libc/test/src/math/smoke/fdimf128_test.cpp
M libc/test/src/math/smoke/fdimf16_test.cpp
M libc/test/src/math/smoke/fdimf_test.cpp
M libc/test/src/math/smoke/fdiml_test.cpp
M libc/test/src/math/smoke/fdiv_test.cpp
M libc/test/src/math/smoke/fdivf128_test.cpp
M libc/test/src/math/smoke/fdivl_test.cpp
M libc/test/src/math/smoke/ffma_test.cpp
M libc/test/src/math/smoke/ffmaf128_test.cpp
M libc/test/src/math/smoke/ffmal_test.cpp
M libc/test/src/math/smoke/floor_test.cpp
M libc/test/src/math/smoke/floorbf16_test.cpp
M libc/test/src/math/smoke/floorf128_test.cpp
M libc/test/src/math/smoke/floorf16_test.cpp
M libc/test/src/math/smoke/floorf_test.cpp
M libc/test/src/math/smoke/floorl_test.cpp
M libc/test/src/math/smoke/fma_test.cpp
M libc/test/src/math/smoke/fmabf16_test.cpp
M libc/test/src/math/smoke/fmaf16_test.cpp
M libc/test/src/math/smoke/fmaf_test.cpp
M libc/test/src/math/smoke/fmax_test.cpp
M libc/test/src/math/smoke/fmaxbf16_test.cpp
M libc/test/src/math/smoke/fmaxf128_test.cpp
M libc/test/src/math/smoke/fmaxf16_test.cpp
M libc/test/src/math/smoke/fmaxf_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf16_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_test.cpp
M libc/test/src/math/smoke/fmaximum_magbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_magf128_test.cpp
M libc/test/src/math/smoke/fmaximum_magf16_test.cpp
M libc/test/src/math/smoke/fmaximum_magf_test.cpp
M libc/test/src/math/smoke/fmaximum_magl_test.cpp
M libc/test/src/math/smoke/fmaximum_num_test.cpp
M libc/test/src/math/smoke/fmaximum_numbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_numf128_test.cpp
M libc/test/src/math/smoke/fmaximum_numf16_test.cpp
M libc/test/src/math/smoke/fmaximum_numf_test.cpp
M libc/test/src/math/smoke/fmaximum_numl_test.cpp
M libc/test/src/math/smoke/fmaximum_test.cpp
M libc/test/src/math/smoke/fmaximumbf16_test.cpp
M libc/test/src/math/smoke/fmaximumf128_test.cpp
M libc/test/src/math/smoke/fmaximumf16_test.cpp
M libc/test/src/math/smoke/fmaximumf_test.cpp
M libc/test/src/math/smoke/fmaximuml_test.cpp
M libc/test/src/math/smoke/fmaxl_test.cpp
M libc/test/src/math/smoke/fmin_test.cpp
M libc/test/src/math/smoke/fminbf16_test.cpp
M libc/test/src/math/smoke/fminf128_test.cpp
M libc/test/src/math/smoke/fminf16_test.cpp
M libc/test/src/math/smoke/fminf_test.cpp
M libc/test/src/math/smoke/fminimum_mag_num_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numbf16_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf16_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
M libc/test/src/math/smoke/fminimum_mag_test.cpp
M libc/test/src/math/smoke/fminimum_magbf16_test.cpp
M libc/test/src/math/smoke/fminimum_magf128_test.cpp
M libc/test/src/math/smoke/fminimum_magf16_test.cpp
M libc/test/src/math/smoke/fminimum_magf_test.cpp
M libc/test/src/math/smoke/fminimum_magl_test.cpp
M libc/test/src/math/smoke/fminimum_num_test.cpp
M libc/test/src/math/smoke/fminimum_numbf16_test.cpp
M libc/test/src/math/smoke/fminimum_numf128_test.cpp
M libc/test/src/math/smoke/fminimum_numf16_test.cpp
M libc/test/src/math/smoke/fminimum_numf_test.cpp
M libc/test/src/math/smoke/fminimum_numl_test.cpp
M libc/test/src/math/smoke/fminimum_test.cpp
M libc/test/src/math/smoke/fminimumbf16_test.cpp
M libc/test/src/math/smoke/fminimumf128_test.cpp
M libc/test/src/math/smoke/fminimumf16_test.cpp
M libc/test/src/math/smoke/fminimumf_test.cpp
M libc/test/src/math/smoke/fminimuml_test.cpp
M libc/test/src/math/smoke/fminl_test.cpp
M libc/test/src/math/smoke/fmod_test.cpp
M libc/test/src/math/smoke/fmodbf16_test.cpp
M libc/test/src/math/smoke/fmodf128_test.cpp
M libc/test/src/math/smoke/fmodf16_test.cpp
M libc/test/src/math/smoke/fmodf_test.cpp
M libc/test/src/math/smoke/fmodl_test.cpp
M libc/test/src/math/smoke/fmul_test.cpp
M libc/test/src/math/smoke/fmulf128_test.cpp
M libc/test/src/math/smoke/fmull_test.cpp
M libc/test/src/math/smoke/frexp_test.cpp
M libc/test/src/math/smoke/frexpbf16_test.cpp
M libc/test/src/math/smoke/frexpf128_test.cpp
M libc/test/src/math/smoke/frexpf16_test.cpp
M libc/test/src/math/smoke/frexpf_test.cpp
M libc/test/src/math/smoke/frexpl_test.cpp
M libc/test/src/math/smoke/fromfp_test.cpp
M libc/test/src/math/smoke/fromfpbf16_test.cpp
M libc/test/src/math/smoke/fromfpf128_test.cpp
M libc/test/src/math/smoke/fromfpf16_test.cpp
M libc/test/src/math/smoke/fromfpf_test.cpp
M libc/test/src/math/smoke/fromfpl_test.cpp
M libc/test/src/math/smoke/fromfpx_test.cpp
M libc/test/src/math/smoke/fromfpxbf16_test.cpp
M libc/test/src/math/smoke/fromfpxf128_test.cpp
M libc/test/src/math/smoke/fromfpxf16_test.cpp
M libc/test/src/math/smoke/fromfpxf_test.cpp
M libc/test/src/math/smoke/fromfpxl_test.cpp
M libc/test/src/math/smoke/fsqrt_test.cpp
M libc/test/src/math/smoke/fsqrtf128_test.cpp
M libc/test/src/math/smoke/fsqrtl_test.cpp
M libc/test/src/math/smoke/fsub_test.cpp
M libc/test/src/math/smoke/fsubf128_test.cpp
M libc/test/src/math/smoke/fsubl_test.cpp
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/getpayload_test.cpp
M libc/test/src/math/smoke/getpayloadbf16_test.cpp
M libc/test/src/math/smoke/getpayloadf128_test.cpp
M libc/test/src/math/smoke/getpayloadf16_test.cpp
M libc/test/src/math/smoke/getpayloadf_test.cpp
M libc/test/src/math/smoke/getpayloadl_test.cpp
M libc/test/src/math/smoke/ilogb_test.cpp
M libc/test/src/math/smoke/ilogbbf16_test.cpp
M libc/test/src/math/smoke/ilogbf128_test.cpp
M libc/test/src/math/smoke/ilogbf16_test.cpp
M libc/test/src/math/smoke/ilogbf_test.cpp
M libc/test/src/math/smoke/ilogbl_test.cpp
M libc/test/src/math/smoke/iscanonical_test.cpp
M libc/test/src/math/smoke/iscanonicalbf16_test.cpp
M libc/test/src/math/smoke/iscanonicalf128_test.cpp
M libc/test/src/math/smoke/iscanonicalf16_test.cpp
M libc/test/src/math/smoke/iscanonicalf_test.cpp
M libc/test/src/math/smoke/iscanonicall_test.cpp
M libc/test/src/math/smoke/isnanf128_test.cpp
M libc/test/src/math/smoke/isnanf16_test.cpp
M libc/test/src/math/smoke/issignaling_test.cpp
M libc/test/src/math/smoke/issignalingbf16_test.cpp
M libc/test/src/math/smoke/issignalingf128_test.cpp
M libc/test/src/math/smoke/issignalingf16_test.cpp
M libc/test/src/math/smoke/issignalingf_test.cpp
M libc/test/src/math/smoke/issignalingl_test.cpp
M libc/test/src/math/smoke/ldexp_test.cpp
M libc/test/src/math/smoke/ldexpbf16_test.cpp
M libc/test/src/math/smoke/ldexpf128_test.cpp
M libc/test/src/math/smoke/ldexpf16_test.cpp
M libc/test/src/math/smoke/ldexpf_test.cpp
M libc/test/src/math/smoke/ldexpl_test.cpp
M libc/test/src/math/smoke/llogb_test.cpp
M libc/test/src/math/smoke/llogbbf16_test.cpp
M libc/test/src/math/smoke/llogbf128_test.cpp
M libc/test/src/math/smoke/llogbf16_test.cpp
M libc/test/src/math/smoke/llogbf_test.cpp
M libc/test/src/math/smoke/llogbl_test.cpp
M libc/test/src/math/smoke/llrint_test.cpp
M libc/test/src/math/smoke/llrintbf16_test.cpp
M libc/test/src/math/smoke/llrintf128_test.cpp
M libc/test/src/math/smoke/llrintf16_test.cpp
M libc/test/src/math/smoke/llrintf_test.cpp
M libc/test/src/math/smoke/llrintl_test.cpp
M libc/test/src/math/smoke/llround_test.cpp
M libc/test/src/math/smoke/llroundbf16_test.cpp
M libc/test/src/math/smoke/llroundf128_test.cpp
M libc/test/src/math/smoke/llroundf16_test.cpp
M libc/test/src/math/smoke/llroundf_test.cpp
M libc/test/src/math/smoke/llroundl_test.cpp
M libc/test/src/math/smoke/logb_test.cpp
M libc/test/src/math/smoke/logbbf16_test.cpp
M libc/test/src/math/smoke/logbf128_test.cpp
M libc/test/src/math/smoke/logbf16_test.cpp
M libc/test/src/math/smoke/logbf_test.cpp
M libc/test/src/math/smoke/logbl_test.cpp
M libc/test/src/math/smoke/lrint_test.cpp
M libc/test/src/math/smoke/lrintbf16_test.cpp
M libc/test/src/math/smoke/lrintf128_test.cpp
M libc/test/src/math/smoke/lrintf16_test.cpp
M libc/test/src/math/smoke/lrintf_test.cpp
M libc/test/src/math/smoke/lrintl_test.cpp
M libc/test/src/math/smoke/lround_test.cpp
M libc/test/src/math/smoke/lroundbf16_test.cpp
M libc/test/src/math/smoke/lroundf128_test.cpp
M libc/test/src/math/smoke/lroundf16_test.cpp
M libc/test/src/math/smoke/lroundf_test.cpp
M libc/test/src/math/smoke/lroundl_test.cpp
M libc/test/src/math/smoke/modf_test.cpp
M libc/test/src/math/smoke/modfbf16_test.cpp
M libc/test/src/math/smoke/modff128_test.cpp
M libc/test/src/math/smoke/modff16_test.cpp
M libc/test/src/math/smoke/modff_test.cpp
M libc/test/src/math/smoke/modfl_test.cpp
M libc/test/src/math/smoke/nanbf16_test.cpp
M libc/test/src/math/smoke/nearbyint_test.cpp
M libc/test/src/math/smoke/nearbyintbf16_test.cpp
M libc/test/src/math/smoke/nearbyintf128_test.cpp
M libc/test/src/math/smoke/nearbyintf16_test.cpp
M libc/test/src/math/smoke/nearbyintf_test.cpp
M libc/test/src/math/smoke/nearbyintl_test.cpp
M libc/test/src/math/smoke/nextafter_test.cpp
M libc/test/src/math/smoke/nextafterbf16_test.cpp
M libc/test/src/math/smoke/nextafterf128_test.cpp
M libc/test/src/math/smoke/nextafterf16_test.cpp
M libc/test/src/math/smoke/nextafterf_test.cpp
M libc/test/src/math/smoke/nextafterl_test.cpp
M libc/test/src/math/smoke/nextdown_test.cpp
M libc/test/src/math/smoke/nextdownbf16_test.cpp
M libc/test/src/math/smoke/nextdownf128_test.cpp
M libc/test/src/math/smoke/nextdownf16_test.cpp
M libc/test/src/math/smoke/nextdownf_test.cpp
M libc/test/src/math/smoke/nextdownl_test.cpp
M libc/test/src/math/smoke/nexttoward_test.cpp
M libc/test/src/math/smoke/nexttowardbf16_test.cpp
M libc/test/src/math/smoke/nexttowardf16_test.cpp
M libc/test/src/math/smoke/nexttowardf_test.cpp
M libc/test/src/math/smoke/nexttowardl_test.cpp
M libc/test/src/math/smoke/nextup_test.cpp
M libc/test/src/math/smoke/nextupbf16_test.cpp
M libc/test/src/math/smoke/nextupf128_test.cpp
M libc/test/src/math/smoke/nextupf16_test.cpp
M libc/test/src/math/smoke/nextupf_test.cpp
M libc/test/src/math/smoke/nextupl_test.cpp
M libc/test/src/math/smoke/remquo_test.cpp
M libc/test/src/math/smoke/remquobf16_test.cpp
M libc/test/src/math/smoke/remquof128_test.cpp
M libc/test/src/math/smoke/remquof16_test.cpp
M libc/test/src/math/smoke/remquof_test.cpp
M libc/test/src/math/smoke/remquol_test.cpp
M libc/test/src/math/smoke/rint_test.cpp
M libc/test/src/math/smoke/rintbf16_test.cpp
M libc/test/src/math/smoke/rintf128_test.cpp
M libc/test/src/math/smoke/rintf16_test.cpp
M libc/test/src/math/smoke/rintf_test.cpp
M libc/test/src/math/smoke/rintl_test.cpp
M libc/test/src/math/smoke/round_test.cpp
M libc/test/src/math/smoke/roundbf16_test.cpp
M libc/test/src/math/smoke/roundeven_test.cpp
M libc/test/src/math/smoke/roundevenbf16_test.cpp
M libc/test/src/math/smoke/roundevenf128_test.cpp
M libc/test/src/math/smoke/roundevenf16_test.cpp
M libc/test/src/math/smoke/roundevenf_test.cpp
M libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/roundf128_test.cpp
M libc/test/src/math/smoke/roundf16_test.cpp
M libc/test/src/math/smoke/roundf_test.cpp
M libc/test/src/math/smoke/roundl_test.cpp
M libc/test/src/math/smoke/scalbln_test.cpp
M libc/test/src/math/smoke/scalblnbf16_test.cpp
M libc/test/src/math/smoke/scalblnf128_test.cpp
M libc/test/src/math/smoke/scalblnf16_test.cpp
M libc/test/src/math/smoke/scalblnf_test.cpp
M libc/test/src/math/smoke/scalblnl_test.cpp
M libc/test/src/math/smoke/scalbn_test.cpp
M libc/test/src/math/smoke/scalbnbf16_test.cpp
M libc/test/src/math/smoke/scalbnf128_test.cpp
M libc/test/src/math/smoke/scalbnf16_test.cpp
M libc/test/src/math/smoke/scalbnf_test.cpp
M libc/test/src/math/smoke/scalbnl_test.cpp
M libc/test/src/math/smoke/setpayload_test.cpp
M libc/test/src/math/smoke/setpayloadbf16_test.cpp
M libc/test/src/math/smoke/setpayloadf128_test.cpp
M libc/test/src/math/smoke/setpayloadf16_test.cpp
M libc/test/src/math/smoke/setpayloadf_test.cpp
M libc/test/src/math/smoke/setpayloadl_test.cpp
M libc/test/src/math/smoke/setpayloadsig_test.cpp
M libc/test/src/math/smoke/setpayloadsigbf16_test.cpp
M libc/test/src/math/smoke/setpayloadsigf128_test.cpp
M libc/test/src/math/smoke/setpayloadsigf16_test.cpp
M libc/test/src/math/smoke/setpayloadsigf_test.cpp
M libc/test/src/math/smoke/setpayloadsigl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtbf16_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/math/smoke/totalorder_test.cpp
M libc/test/src/math/smoke/totalorderbf16_test.cpp
M libc/test/src/math/smoke/totalorderf128_test.cpp
M libc/test/src/math/smoke/totalorderf16_test.cpp
M libc/test/src/math/smoke/totalorderf_test.cpp
M libc/test/src/math/smoke/totalorderl_test.cpp
M libc/test/src/math/smoke/totalordermag_test.cpp
M libc/test/src/math/smoke/totalordermagbf16_test.cpp
M libc/test/src/math/smoke/totalordermagf128_test.cpp
M libc/test/src/math/smoke/totalordermagf16_test.cpp
M libc/test/src/math/smoke/totalordermagf_test.cpp
M libc/test/src/math/smoke/totalordermagl_test.cpp
M libc/test/src/math/smoke/trunc_test.cpp
M libc/test/src/math/smoke/truncbf16_test.cpp
M libc/test/src/math/smoke/truncf128_test.cpp
M libc/test/src/math/smoke/truncf16_test.cpp
M libc/test/src/math/smoke/truncf_test.cpp
M libc/test/src/math/smoke/truncl_test.cpp
M libc/test/src/math/smoke/ufromfp_test.cpp
M libc/test/src/math/smoke/ufromfpbf16_test.cpp
M libc/test/src/math/smoke/ufromfpf128_test.cpp
M libc/test/src/math/smoke/ufromfpf16_test.cpp
M libc/test/src/math/smoke/ufromfpf_test.cpp
M libc/test/src/math/smoke/ufromfpl_test.cpp
M libc/test/src/math/smoke/ufromfpx_test.cpp
M libc/test/src/math/smoke/ufromfpxbf16_test.cpp
M libc/test/src/math/smoke/ufromfpxf128_test.cpp
M libc/test/src/math/smoke/ufromfpxf16_test.cpp
M libc/test/src/math/smoke/ufromfpxf_test.cpp
M libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/math/sqrt_test.cpp
M libc/test/src/math/sqrtbf16_test.cpp
M libc/test/src/math/sqrtf128_test.cpp
M libc/test/src/math/sqrtf_test.cpp
M libc/test/src/math/sqrtl_test.cpp
M libc/test/src/math/trunc_test.cpp
M libc/test/src/math/truncbf16_test.cpp
M libc/test/src/math/truncf128_test.cpp
M libc/test/src/math/truncf16_test.cpp
M libc/test/src/math/truncf_test.cpp
M libc/test/src/math/truncl_test.cpp
Log Message:
-----------
[libc][math][NFC] Fix duplicated class names in math tests. (#224666)
This might cause ODR issues when we put all the tests together into a
single test.
Assisted-by: Gemini
Commit: 6eba5341de433bf9f6c7e8ccd81ee5ab84f5e125
https://github.com/llvm/llvm-project/commit/6eba5341de433bf9f6c7e8ccd81ee5ab84f5e125
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/uArch/uArchBase.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
M mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
Log Message:
-----------
[mlir][xegpu] Derive load_nd lane_data from the hardware block variant (#223164)
setupLoadNdAnchorLayout copied lane_data from the consumer layout. But
lane_data follows from the element width and the block variant the
hardware will use, not from what the consumer wants.
This PR adds get2DBlockLoadLaneData, deriving lane_data from the packing
size the uArch already reports: the load's packed format size along the
innermost dim for a regular 2d block load, the general packed format
size along the second-innermost dim for transform (VNNI), or along the
innermost dim for transpose.
On the fallback path, where the consumer's inst_data is not a usable
block, also pick the variant that can host that lane_data. DPAS_MX
scales land here: width 16 for an 8-bit scale cannot spread 16 lanes of
2 elements over 32 columns, so it is loaded transformed, packing down
the column instead.
scale_a inst_data = [16, 32], lane_layout = [16, 1], lane_data = [1, 4],
order = [0, 1]
scale_b inst_data = [32, 16], lane_layout = [1, 16], lane_data = [4, 1]
Also correct the uArch table: an 8-bit regular block load packs two
elements per lane, so 16 lanes need 32 columns. Its supported width is
32, not {16, 32}.
assisted-by-claude
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 452343dc0e7509e0a763389e7aee478e9c29b45e
https://github.com/llvm/llvm-project/commit/452343dc0e7509e0a763389e7aee478e9c29b45e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Passes.h
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/AArch64/abi-lowering-matrix-ha-compat23.c
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/BPF.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/unittests/ABI/X86TargetInfoTest.cpp
Log Message:
-----------
[LLVMABI] Add Clang 23 compatible handling for matrix types (#224121)
This change updates the LLVM ABI library to enable Clang 23 compatible
classification of matrix types when the `-fclang-abi-compt=23` option is
used. Clang versions 23 and earlier did not accept matrix types as base
types for homogeneous aggregates, but the current version does. The LLVM
ABI library use the new behavior when isHomogeneousAggregate was
introduced there. This change adds an ABICompatInfo setting to allow
version 23 compatibility to be implemented.
This change also moves X86-specific ABI compatibility options into an
X86-specific subclass of ABICompatInfo.
Assisted-by: Cursor / various models
Commit: 05d706e9a816dbf9eff31f47869f53d6fe796089
https://github.com/llvm/llvm-project/commit/05d706e9a816dbf9eff31f47869f53d6fe796089
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
Log Message:
-----------
[bazel][test][libc] Add tags to tests marking full-build compatibility (#224457)
Commit: 6789cbc35c9ee33207c9cbef5a8dd132c72ee067
https://github.com/llvm/llvm-project/commit/6789cbc35c9ee33207c9cbef5a8dd132c72ee067
Author: Martin Schlipf <martin.schlipf at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/clear-cache.ll
Log Message:
-----------
[WebAssembly] Diagnose llvm.clear_cache instead of aborting (#224579)
Lowering llvm.clear_cache for WebAssembly called report_fatal_error, so
an unsupported-but-known construct aborted the compiler and printed
"PLEASE submit a bug report", with no indication of which function was
responsible.
Use the fail() helper already used a few hundred lines earlier in the
same file for nest arguments, inalloca arguments and
consecutive-register arguments. That reports a DiagnosticInfoUnsupported
naming the function, and lets the compiler exit with an error rather
than a crash.
Before:
LLVM ERROR: llvm.clear_cache is not supported on wasm
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/
<stack dump>
After:
error: <unknown>:0:0: in function clear_cache void (ptr, ptr):
llvm.clear_cache is not supported on wasm
This is reached from flang, where passing an internal procedure as an
actual argument requires a trampoline, whose setup emits
llvm.clear_cache.
Assisted-by: Claude
Commit: 1ca4b1fd048ea5c2d4ad6d321b05c39f50a10e7e
https://github.com/llvm/llvm-project/commit/1ca4b1fd048ea5c2d4ad6d321b05c39f50a10e7e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/coincident-alt-entry.s
Log Message:
-----------
[lld][MachO] Keep coincident alt entries with their atom (#224466)
When an N_ALT_ENTRY precedes a regular symbol at the same address, LLD
attached it one past the end of the preceding atom. This could misdirect
references after atom reordering and suppress valid ICF.
```
_previous:
ret
.alt_entry target.alt
target.alt:
.globl _target
_target:
mov w0, #42
ret
_main:
b target.alt
```
Mach-O records the local target.alt before the external _target at the
same address. LLD previously attached target.alt to the preceding atom
before _target created a new atom:
```
old: [_previous ... target.alt] [_target ...] [_main ...]
new: [_previous ...] [target.alt, _target ...] [_main ...]
```
The fix examines the complete equal-address group: a regular symbol
makes that address an atom boundary for every coincident symbol, while
alt-only groups keep their interior-entry behavior.
Detecting the group in place rather than sorting regular symbols first
preserves symbol order, so the ordinary symbol keeps the body size and
the alt entry stays a zero-sized alias, matching ld-prime; it also
avoids conflicting with the existing extern-weak same-address tiebreak.
Commit: f98bf7b005c268504e36df0a7da3a2170f698119
https://github.com/llvm/llvm-project/commit/f98bf7b005c268504e36df0a7da3a2170f698119
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reduce-or-bitpack-split.ll
Log Message:
-----------
[SLP]Fix crash when all split reduction parts are reduced in tree
A split or-reduction whose every vector part is modeled as a bitfield
pack (or another reduced bitcast root) leaves no vector value for the
final reduction combine, so the accumulated VecRes stays null and the
unconditional final combine hits an assertion. Skip the combine when
no vector part was accumulated.
Fixes https://github.com/llvm/llvm-project/pull/219731#issuecomment-5732717976
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224689
Commit: 020f32f70d3e78c4d74efecd739066c22c3396c7
https://github.com/llvm/llvm-project/commit/020f32f70d3e78c4d74efecd739066c22c3396c7
Author: lntue <lntue at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libc/src/__support/math/acosf.h
M libc/test/src/math/exhaustive/acosf_test.cpp
M libc/test/src/math/exhaustive/acoshf_test.cpp
M libc/test/src/math/exhaustive/acospif_test.cpp
M libc/test/src/math/exhaustive/asinf_test.cpp
M libc/test/src/math/exhaustive/asinhf_test.cpp
M libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/exhaustive/atanf_float_test.cpp
M libc/test/src/math/exhaustive/atanf_test.cpp
M libc/test/src/math/exhaustive/atanhf_test.cpp
M libc/test/src/math/exhaustive/bfloat16_test.cpp
M libc/test/src/math/exhaustive/cbrtf_test.cpp
M libc/test/src/math/exhaustive/cosf_float_test.cpp
M libc/test/src/math/exhaustive/cosf_test.cpp
M libc/test/src/math/exhaustive/coshf_test.cpp
M libc/test/src/math/exhaustive/cospif_test.cpp
M libc/test/src/math/exhaustive/erff_test.cpp
M libc/test/src/math/exhaustive/exp10f_test.cpp
M libc/test/src/math/exhaustive/exp10m1f_test.cpp
M libc/test/src/math/exhaustive/exp2f_test.cpp
M libc/test/src/math/exhaustive/exp2m1f_test.cpp
M libc/test/src/math/exhaustive/expf_static_rounding_test.cpp
M libc/test/src/math/exhaustive/expf_test.cpp
M libc/test/src/math/exhaustive/expm1f_test.cpp
M libc/test/src/math/exhaustive/f16sqrtf_test.cpp
M libc/test/src/math/exhaustive/fmodbf16_test.cpp
M libc/test/src/math/exhaustive/fmodf16_test.cpp
M libc/test/src/math/exhaustive/log10f_test.cpp
M libc/test/src/math/exhaustive/log1pf_test.cpp
M libc/test/src/math/exhaustive/log2f_test.cpp
M libc/test/src/math/exhaustive/logf_test.cpp
M libc/test/src/math/exhaustive/sincosf_test.cpp
M libc/test/src/math/exhaustive/sinf_float_test.cpp
M libc/test/src/math/exhaustive/sinf_test.cpp
M libc/test/src/math/exhaustive/sinhf_test.cpp
M libc/test/src/math/exhaustive/sinpif_test.cpp
M libc/test/src/math/exhaustive/sqrtf_test.cpp
M libc/test/src/math/exhaustive/tanf_test.cpp
M libc/test/src/math/exhaustive/tanhf_test.cpp
M libc/test/src/math/exhaustive/tanpif_test.cpp
Log Message:
-----------
[libc][math][NFC] Fix "Postive" typo in exhaustive test folder. (#224687)
Commit: e532cc7fe8d4a4508c089595542a5824e0107cb9
https://github.com/llvm/llvm-project/commit/e532cc7fe8d4a4508c089595542a5824e0107cb9
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
Log Message:
-----------
[LoopBoundSplit][NFC] Merge analyzeICmp() into hasProcessableCondition() (#224563)
Split out of #221604 as requested. The merge was suggested by nikic in
the review of #167227.
Commit: 3d8cf5a360f42a1573581141754ed7793645ca14
https://github.com/llvm/llvm-project/commit/3d8cf5a360f42a1573581141754ed7793645ca14
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
M llvm/test/TableGen/AMDGPUTargetDefErrors.td
A llvm/test/TableGen/AMDGPUTargetDefGenericFeatures.td
M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
Log Message:
-----------
[AMDGPU][NFC] Allow selected generic features on any covered GPU (#223177)
Add `AMDGPUGenericAnyFeature` so individual feature classes can require
support from at least one covered GPU. Check explicitly marked features
even when they are not frontend-visible, while retaining the all-member
check for ordinary frontend-visible features.
Follow implied features using their own validation rules. Require named
generic targets to cover at least one concrete AMDGPU GPU, rejecting
self references, other generic targets, pseudo targets, and invalid
members.
Cover partial support, missing support, exact numeric-feature
membership, backend-only features, implications, and malformed
coverage lists with TableGen tests. Generated target definitions
remain unchanged.
Commit: f18795ec50fe7da1f1fec2b80e19771fb788143d
https://github.com/llvm/llvm-project/commit/f18795ec50fe7da1f1fec2b80e19771fb788143d
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/linkerscript/nobits-offset.s
Log Message:
-----------
[ELF] Don't reserve file bytes for NOBITS followed only by empty sections (#224523)
An empty section after .bss in the same PT_LOAD gets `first->offset +
os->addr - first->addr`, which reserves size(.bss) file bytes. This
makes p_filesz = p_memsz, defeating the NOBITS size optimization.
Give such sections the running offset instead.
Fix #78261
Commit: a06d9165905ce89b5ffef2bbb84c886d60a9b8bf
https://github.com/llvm/llvm-project/commit/a06d9165905ce89b5ffef2bbb84c886d60a9b8bf
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/coff-weak-alias-object.ll
A llvm/test/Transforms/MergeFunc/coff-weak-alias.ll
Log Message:
-----------
[MergeFunctions] keep the symbol of a function an alias points at on COFF (#222024)
On COFF an alias is a weak external, which must name the symbol it
resolves to. When that target is local there is no such name, so
`WinCOFFWriter::assignSectionNumbers` invents a
`.weak.<alias>.default.<sym>` fallback named after unrelated contents of
the object. Two objects defining the same alias then disagree and the
link fails with `LNK1227` (hit building the Swift toolchain on Windows).
MergeFunctions reaches that state when the function an alias points at
is replaced by, or aliased to, an internal one. On COFF, decline both:
keep a thunk so the alias goes on naming an external definition. The
merge still happens, and non-COFF is untouched.
Commit: 01ef3ffcdc4e9f75ba31bcbde41520874243bc1a
https://github.com/llvm/llvm-project/commit/01ef3ffcdc4e9f75ba31bcbde41520874243bc1a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness.ll
Log Message:
-----------
[NFC][LowerTypeTests] Expand tests for CFI jump table hotness ordering (#223848)
Expand pre-commit test coverage to establish the baseline CFI jump table
layout before implementing hotness-based reordering in
https://github.com/llvm/llvm-project/pull/221046.
We expand these tests to verify we accurately track hotness data
originating from `cfi.functions` metadata, BlockFrequencyInfo (BFI)
counts, and IR function attributes (hot/cold). By covering these inputs,
we ensure the correct hotness tier is propagated for layout decisions
across different profile sources and LTO targets.
These tests verify the baseline declaration-order layout where functions
within each strict type are placed without hotness consideration, making
the subsequent reordering diff explicit and easy to review.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* ➤ https://github.com/llvm/llvm-project/pull/223848
* https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: 30ae0c3f59647fd5d0e07d00c916c4f19ff54835
https://github.com/llvm/llvm-project/commit/30ae0c3f59647fd5d0e07d00c916c4f19ff54835
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Options/DriverOptions.cpp
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/lib/Option/OptTable.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/Option/Opts.td
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Shrink Info from 60 to 40 bytes (#224374)
Drop ID, which is the entry's 1-based position, and narrow
PrefixesOffset and SubCommandIDsOffset to 16 bits like GroupID and
AliasID.
Move help text variants to a side table. The .td HelpTextForVariants
class allows one variant per option and only 5 clang options use it,
yet every entry carries a 12-byte std::array of visibility lists. Store
(visibility mask, text offset) pairs in a separate table, indexed by a
16-bit field in the entry's padding.
clang's table shrinks from 232 KB to 155 KB and Options.inc from 1.70 MB
to 1.29 MB. --help output is unchanged.
Aided by Opus 5
Commit: 1e592bb44245a9ae44115fe78be1b07251dc3d9e
https://github.com/llvm/llvm-project/commit/1e592bb44245a9ae44115fe78be1b07251dc3d9e
Author: Arth Srivastava <arthsrivastava1 at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90
A offload/test/offloading/fortran/do-concurrent-to-omp-nested-derived-type.f90
Log Message:
-----------
[Flang][OpenMP] Support nested derived types in DO CONCURRENT device conversion (#218963)
Fixes #218760.
When converting `DO CONCURRENT` loops to OpenMP device targets, Flang
previously aborted whenever a live-in derived type contained a nested
derived-type component.
Nested derived types containing only non-allocatable components do not
require special handling: mapping the containing record covers the
storage of its nested components. When a nested component contains an
allocatable member, however, an implicit mapper is required to properly
map the dynamically allocated storage.
This patch removes the unconditional nested-record NYI and updates the
implicit mapper check to recurse through the Fortran element type of
derived-type components. In particular, this handles array-valued nested
derived-type components, which are lowered as `fir::SequenceType`.
Tests are added in
`flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90` to
verify plain record mapping, nested implicit mapper generation, and
chained mappers for array components. An AMDGPU offload test is also
added in
`offload/test/offloading/fortran/do-concurrent-to-omp-nested-derived-type.f90`
to verify device kernel execution and the computed results.
Reusing visible user-defined default declare mappers for derived-type
live-ins remains a separate pre-existing limitation in
`DoConcurrentConversion` and is not addressed by this patch.
---------
Co-authored-by: agozillon <Andrew.Gozillon at amd.com>
Commit: 27609069988d7387676fed58b7a891438c2c71d3
https://github.com/llvm/llvm-project/commit/27609069988d7387676fed58b7a891438c2c71d3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/TargetMachineC.cpp
Log Message:
-----------
llvm-c: Compute the DataLayout from the triple and ABI (#224588)
Drop a use of createDataLayout
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 320c702a73f4b0a592a2273346a8d56a38d71f4c
https://github.com/llvm/llvm-project/commit/320c702a73f4b0a592a2273346a8d56a38d71f4c
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
Log Message:
-----------
[NFC][RelLookupTableConverter] Get IndexWidth directly from GEP type (#224454)
`Load->getPointerOperand()` is always the `GEP` prior to it, so just
reuse the GEP rather than querying the Load again.
Commit: 0c2bb8a4d53282ce67190ce1071b0e649c2b98c7
https://github.com/llvm/llvm-project/commit/0c2bb8a4d53282ce67190ce1071b0e649c2b98c7
Author: Philip Reames <listmail at philipreames.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/combine-mul.ll
M llvm/test/CodeGen/X86/combine-mulo.ll
Log Message:
-----------
[DAG] Canonicalize a non-opaque constant to the RHS of MUL over an opaque one (#224685)
Fix a case noticed in #224494 where we fail to canonicalize a non-opaque
constant to the RHS when both operands are constant, but one of them is
opaque. ("opaque" means created by ConstantHoisting)
We probably have many other instances of this issue, and I do not plan
to pursue this area further.
Assisted-by: Claude Fable 5.1
Commit: 1e02641babceb803e3b568e8dfbe5036f0f15f0f
https://github.com/llvm/llvm-project/commit/1e02641babceb803e3b568e8dfbe5036f0f15f0f
Author: PiJoules <leonardchan at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
A clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
Log Message:
-----------
[clang][CodeGen] Emit offsets to __cxa_pure/deleted_virtual under relative vtables (#224148)
Previously, pure and deleted virtual functions were emitted as null (0)
in relative vtables as a temporary workaround for PR43094 (#42439).
Before dso_local_equivalent, taking relative offsets to external runtime
functions required generating local symbols, which caused LLD COMDAT
group merging conflicts for classes defined across multiple TUs.
With dso_local_equivalent, we can now emit direct relative offsets to
__cxa_pure_virtual and __cxa_deleted_virtual without generating local
aliases or encountering COMDAT signature clashes.
Commit: 88bc022497e32208f0ba4e65719ba18063a01b4c
https://github.com/llvm/llvm-project/commit/88bc022497e32208f0ba4e65719ba18063a01b4c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/sibling-loops-different-trip-counts.ll
Log Message:
-----------
[SLP]Fix loop-aware cost for gathers crossing sibling-loop boundaries
Scale such gathers by the common parent nest, not by the sibling's
trip count.
Fixes #209325
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224700
Commit: a327107c7acd3c2e8ae232402d572ab4c777d464
https://github.com/llvm/llvm-project/commit/a327107c7acd3c2e8ae232402d572ab4c777d464
Author: Ömer Sinan Ağacan <omer at osa1.net>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/trunc_umin_umax.ll
Log Message:
-----------
[AggressiveInstCombine] Add `umin` and `umax` to `TruncInstCombine` graph (#222914)
Commit: b2ff0e8eae8236e7555afa6026e0cf251af8c4ae
https://github.com/llvm/llvm-project/commit/b2ff0e8eae8236e7555afa6026e0cf251af8c4ae
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
llvm: Update Attributor maintainers (#224693)
;-(
Commit: ae374f89dafb3ad6f534064688cb023d5bfafca1
https://github.com/llvm/llvm-project/commit/ae374f89dafb3ad6f534064688cb023d5bfafca1
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py
Log Message:
-----------
[lldb] Remove the unused Process::ReadMemoryInChunks (#224656)
`Process::ReadMemoryInChunks` and its `ReadMemoryChunkCallback` typedef
have no callers left in the tree, no unit tests, and no SB API exposure.
This commit removes it.
The method was added in commit f869d6efeec8 (#129307) for the minidump
writer, which was its only caller. Then, commit 7f04a40a220e (#212641)
replaced that call with a direct loop over `ReadMemoryFromInferior` in
`MinidumpFileBuilder::ReadWriteMemoryInChunks`, leaving this method
dead.
This commit also drop the reference to this method from the description
of
`TestProcessSaveCoreMinidumpSizeMismatch.py`. The test is unchanged.
Commit: 216acfbf7b4599b41a56a9023b024678b6d202af
https://github.com/llvm/llvm-project/commit/216acfbf7b4599b41a56a9023b024678b6d202af
Author: alexey-gusarov <alexey.gusarov at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/source/Target/Thread.cpp
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/Makefile
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/TestStepOverBreakpointSite.py
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/main.c
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/run_to_address_plan.py
Log Message:
-----------
[lldb] Don't consult the plan stack for a stop an auto-continue will discard (#215522)
Fixes part (2) of #215189. The sibling PR for part (1) is #215521. The
two are
independent, but are best landed together.
When a completed thread plan auto-continues, `Thread::ShouldStop()`
still
consults subsequent plans and then discards their stop decisions. Those
calls
can change the state of the plans being consulted. In the failing case,
`ThreadPlanRunToAddress` loses the breakpoint it was running to, so the
process
runs past the requested address.
This does not require a scripted plan:
```python
# thread stopped on an enabled breakpoint site
thread.RunToAddress(next_instruction_address) # before: process runs away
```
`ThreadPlan.h` already says that an auto-continuing plan overrides the
`ShouldStop` of subsequently processed plans. Tighten that contract so
their
`ShouldStop` is not consulted at all, and make `Thread::ShouldStop()`
follow it
by ending the plan walk after popping the auto-continuing plan.
The subsequent plans therefore keep their state, and an unexecuted
`BreakpointSite` at the current PC is hit normally on the following
resume.
### Testing
Adds
`lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/`
with coverage for:
* `RunToAddress` from an enabled breakpoint site;
* the same plan queued by a scripted thread plan;
* the stepped-over breakpoint being hit again on a later pass;
* `RunToAddress` with the PC already off the breakpoint site;
* a target two instructions away;
* a user breakpoint at the target address.
The first three fail before the change on both Linux and Windows. The
remaining
three pass before and after the change and cover the surrounding
behavior.
Whole `check-lldb` passes on both Linux x86_64 and Windows x86_64 with 0
failed
and 0 unresolved tests.
macOS is not covered because no host was available.
---
Tool-use disclosure, per the LLVM AI tool policy: this change was
prepared with
the assistance of Claude Code (`Assisted-by:` trailer on the commit).
Everything
was read and reviewed before posting.
rdar://184560595
Commit: 5f23b5e1475236f51e614ea971e22bf800fbe7c8
https://github.com/llvm/llvm-project/commit/5f23b5e1475236f51e614ea971e22bf800fbe7c8
Author: Augusto Noronha <anoronha at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
A lldb/test/API/functionalities/unwind/outlined-prologue/Makefile
A lldb/test/API/functionalities/unwind/outlined-prologue/TestOutlinedPrologueUnwind.py
A lldb/test/API/functionalities/unwind/outlined-prologue/main.c
M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
[lldb] Follow serial outlined functions when scanning for an unwind plan (#222800)
For code-size-constrained builds the compiler's instruction outliner
finds
identical instruction sequences across functions, moves them into a
single
OUTLINED_FUNCTION_<n>, and has every user call it. Instructions from a
function's prologue, body or epilogue may all be outlined.
lldb's instruction-emulation UnwindPlan creator scans the instructions
of a
function and, following the ABI's calling convention, assumes a call
leaves the
stack and registers in a known state. That assumption does not hold for
outlined functions: when prologue and epilogue instructions are outlined
out of
the function body, the UnwindPlan misses those register spills and
restores,
which leads to inaccurate variable tracking in the caller's frames.
This patch looks for call instructions in the function body, and when
the
callee is an OUTLINED_FUNCTION_<n> it evaluates the callee's
instructions too,
folding the UnwindPlan-relevant state changes -- register saves,
restores, CFA
changes -- into the plan of the function being scanned.
Only straight-line helpers are followed: a single basic block whose sole
control flow is the terminator returning to the caller. Anything else
has more
than one path through the callee is skipped entirely. In practice that
means
mid-function outlined code, which rarely changes the unwind state.
Outlined
prologues, the common and important case, are covered.
Assisted-by: Claude
rdar://187149822
Commit: fedbd3bdbe650fce8fe92a020698cc2db55a4ed7
https://github.com/llvm/llvm-project/commit/fedbd3bdbe650fce8fe92a020698cc2db55a4ed7
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
Log Message:
-----------
[CIR][NFC] Fix compilation error CIRGenModule (#224694)
Fix deduced conflicting types for parameter when calling std::max with
unsigned long and unsigned long long, can be fixed by
`std::max(f.getAlignment().value_or(1), 2ull)` but in this line, the
alignment is always less than 2 because of the parent if condition, so
max is always 2
Commit: b91795ba4d79b109cc8abe3d1d8255379b217754
https://github.com/llvm/llvm-project/commit/b91795ba4d79b109cc8abe3d1d8255379b217754
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/usm_functions.cpp
M libsycl/unittests/handler/test_helpers.hpp
M libsycl/unittests/mock/helpers.cpp
M libsycl/unittests/mock/helpers.hpp
M libsycl/unittests/mock/mock.cpp
M libsycl/unittests/queue/memcpy.cpp
M libsycl/unittests/usm/alloc.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M offload/languages/kernel/src/LanguageRuntime.cpp
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Context.cpp
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/Conformance/lib/DeviceResources.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfoSize.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
Revert "[offload] add context to olMemAlloc*" (#224703)
Revert: https://github.com/llvm/llvm-project/pull/222677 and
https://github.com/llvm/llvm-project/pull/224622
Bot has been down: https://lab.llvm.org/buildbot/#/builders/234
errors:
```
Failed Tests (5):
libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-advanced.cpp
libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-basic.cpp
libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp
libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-diff-threads.cpp
libomptarget :: amdgpu-amd-amdhsa :: tools/omp-kernel-replay/record-replay-ir-bitcode.cpp
```
After revert:
```
Total Discovered Tests: 3643
Skipped : 84 (2.31%)
Unsupported : 529 (14.52%)
Passed : 3026 (83.06%)
Expectedly Failed: 4 (0.11%)
```
Commit: 4cc7b28c66c88d69e7a778b0a33449c9b57640ed
https://github.com/llvm/llvm-project/commit/4cc7b28c66c88d69e7a778b0a33449c9b57640ed
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
Exclude tailcallelim test (#224708)
keeping the bot green. This failure was introduced in PR #221694, but
tailcallelimination isn't yet clean wrt profcheck
Commit: b2b38d4b335293edca03764dd2bcfa314a880933
https://github.com/llvm/llvm-project/commit/b2b38d4b335293edca03764dd2bcfa314a880933
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
Log Message:
-----------
[WebKit Checkers][NFC] Extract hasPublicMethodInHierarchy from isSmartPtrCompatible (#224697)
So we can reuse it in borrow checking.
hasPublicMethodInHierarchy identifies RefCounted via 'ref' and 'deref'
public
member functions.
Borrow checking will identify CanBorrow via a 'crashIfBorrowed' public
member
function.
Assisted-by: Claude
Commit: f29371ad92f1b47279a3b46f7d336f3e48fa4538
https://github.com/llvm/llvm-project/commit/f29371ad92f1b47279a3b46f7d336f3e48fa4538
Author: Keshav Vinayak Jha <31160700+keshavvinayak01 at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.workitem.id.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/fma-mix.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
Log Message:
-----------
[AMDGPU] Use integer LLTs for work-item IDs (#224519)
Type work-item ID preloaded values and special entry-function live-ins
as i32, matching the intrinsic result and the existing GlobalISel and
SelectionDAG lowering. This prevents an s32 live-in type from reaching
the divergent G_AND and lets VgprToVccCopy preserve its source LLT
directly.
The original failure was a GlobalISel cannot-select abort on a 32-bit
VGPR G_AND produced from `llvm.amdgcn.workitem.id.x`. This follows up
#220987 by fixing the type at its producer instead of coercing it in
register-bank legalization.
A lot of tests need to be migrated because of this, owing to the
Extended LLTs change in https://github.com/llvm/llvm-project/pull/207419
Assisted-by: Codex
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Co-authored-by: GPT-5 <noreply at openai.com>
Commit: 551af79c903169d0ee3ac35222a5af175424205d
https://github.com/llvm/llvm-project/commit/551af79c903169d0ee3ac35222a5af175424205d
Author: Michael G. Kazakov <mike.kazakov at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M libcxx/docs/ReleaseNotes/24.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__memory/pstl.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/uninitialized_algorithms.h
M libcxx/include/module.modulemap.in
M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy_n.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move_n.pass.cpp
Log Message:
-----------
[libc++][pstl] Implementation of parallel std::uninitialized_(copy|move)(_n) based on parallel __for_each (#223229)
This PR adds an implementation of parallel versions of
`std::uninitialized_copy`, `std::uninitialized_copy_n`,
`std::uninitialized_move` and `std::uninitialized_move_n`.
Implementations are mostly one-liners under the hood, but require
dealing with iterator ranges, hence `std::uninitialized_copy` and
`std::uninitialized_move` are implemented in `cpu_algos`.
`std::uninitialized_copy_n` and `std::uninitialized_move_n` are
implemented in the `default` backend.
Fixes #103640
Fixes #134592
Fixes #134593
Part of #99938
Commit: 25e00ff449d6c2a2d21a0b109f576be88847ce1f
https://github.com/llvm/llvm-project/commit/25e00ff449d6c2a2d21a0b109f576be88847ce1f
Author: DeanSturtevant1 <dsturtevant at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/DeclBase.cpp
Log Message:
-----------
[Clang] Move DeclContext::getEnclosingFunction/castEnclosingFunction out of line (#224711)
In DeclBase.h, clang::FunctionDecl is only forward-declared. Commit
c9074cfd0d95 defined getEnclosingFunction() and castEnclosingFunction()
inline in DeclBase.h, which instantiates dyn_cast<FunctionDecl> and
cast<FunctionDecl> on an incomplete type when DeclBase.h is compiled
standalone (e.g. with -fmodules / header units).
Move the non-const definitions to DeclBase.cpp where FunctionDecl is
complete, and delegate the const overloads via const_cast, matching
getOuterLexicalRecordContext() and
getEnclosingNonExpansionStatementContext().
Change prepared by Jetski and reviewed by me.
Commit: a6d5d3f8bacba58aaba3a9eb65b5b91dcce5b505
https://github.com/llvm/llvm-project/commit/a6d5d3f8bacba58aaba3a9eb65b5b91dcce5b505
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-access-low-vf.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-vscale-x-UF-step.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[VPlan] Remove dead per-lane loop from VPScalarIVStepsRecipe::execute. (#224399)
replicateByVF already materializes every lane of a VPScalarIVStepsRecipe
as its own single-scalar clone, folding the lane offset into the clone's
start index (addLaneToStartIndex).
During execute, each VPScalarIVStepsRecipe has exactly its single lane
used.
Replace it with the lane-0 body and an assert. Note that this removes a
few redundant add start, 0.
PR: https://github.com/llvm/llvm-project/pull/224399
Commit: 660dbc9ef14ec76259b82a6d8118d4850d3b7d3d
https://github.com/llvm/llvm-project/commit/660dbc9ef14ec76259b82a6d8118d4850d3b7d3d
Author: Ben Shi <2283975856 at qq.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.h
A llvm/test/CodeGen/AVR/frameaddress.ll
A llvm/test/CodeGen/AVR/returnaddress.ll
Log Message:
-----------
[AVR] Implement selection of 'ISD::RETURNADDR' and 'ISD::FRAMEADDR' (#222909)
Commit: 1680496f872c941249f555d8a5e555f17dd4fb76
https://github.com/llvm/llvm-project/commit/1680496f872c941249f555d8a5e555f17dd4fb76
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
A llvm/test/TableGen/AMDGPUTargetDefGenericClassification.td
M llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
Log Message:
-----------
[AMDGPU] Classify generic-target features (#223179)
Classify features used by generic targets but absent from some covered
GPUs as AMDGPUGenericAnyFeature. This covers the gfx11 workarounds,
gfx12.5 register fixup and WMMA timing, and LDS size and bank count.
Derive the classified features directly from the SubtargetFeature
subclass and preserve their existing predicates. Keep RequiresCOV6
outside this policy because it is specific to generic targets and
absent from their covered GPUs.
Test the real target definitions, missing support for classified
features, and the existing all-member requirement for instruction
capabilities.
Commit: ab76cce30b9d16bed79fc4658562e53dd129aefe
https://github.com/llvm/llvm-project/commit/ab76cce30b9d16bed79fc4658562e53dd129aefe
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll
Log Message:
-----------
[NFC][AMDGPU] Add tests for fptrunc folded into V_MAD/FMA_MIX (#219723)
V_MAD/FMA_MIX{LO,HI} compute the multiply or multiply-add in f32, round
that to f32, and then convert the f32 result to the 16-bit destination.
That is the same pair of roundings the IR performs, so the instructions
are a bit-exact match for an fptrunc of an f32 multiply or multiply-add
and need no contract flag.
The tests pin that across gfx803, gfx900, gfx906, gfx90a and gfx1100
with +real-true16 for f16, and gfx1250 in both true16 modes for bf16.
Where a shape appears both unflagged and with contract, the two must
select the same instructions.
Assisted-By: Claude Code Opus 5
Commit: 841dbaab188ecfa756d4c946f33b58758d34d339
https://github.com/llvm/llvm-project/commit/841dbaab188ecfa756d4c946f33b58758d34d339
Author: Ian Anderson <iana at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-static-lib-universal.c
M clang/test/Driver/darwin-static-lib.c
Log Message:
-----------
[clang][driver][darwin] Add more libtool arguments used by SwiftBuild (#224428)
SwiftBuild passes -l to libtool, but I didn't catch it the first time
around because it's not in the xcspec. It is in the unit test though. Go
through all of the linker arguments and inputs and add the missing ones
supported by libtool.
Assisted-by: Claude Code
rdar://187418335
Commit: eefe7721b114a71c94c966b1792ebd3b2fb8544e
https://github.com/llvm/llvm-project/commit/eefe7721b114a71c94c966b1792ebd3b2fb8544e
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/decompose-signed-preconditions.ll
M llvm/test/Transforms/ConstraintElimination/induction-exit-condition-or-and.ll
M llvm/test/Transforms/ConstraintElimination/materialize-flags.ll
M llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll
Log Message:
-----------
[ConstraintElim] Add signed no-wrap rule for sub to isKnownNoWrap. (#224621)
Port the existing logic from usub_sat simplification to isKnownNoWrap:
Op0 - Op1 does not wrap signed if Op1 is non-negative and Op0 s>= Op1.
https://alive2.llvm.org/ce/z/HsUyo_
This is in preparation to update simplifications to also use
isKnownNoWrap.
Improves results in a few cases
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1358.
Compile-time impact is in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=0401d338f425ab4d85738d48e9f5432685bf70fb&to=5f9d1cae5fe4222b9ddaf59605e12420df09808e&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/224621
Commit: 4a2306bb4be443d8ca89844d1625d0de01a924e8
https://github.com/llvm/llvm-project/commit/4a2306bb4be443d8ca89844d1625d0de01a924e8
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV] Lower VECTOR_INTERLEAVE 4 and 8 with Zvzip via DAGCombiner (#223861)
This is the second take of #222432, and to some extent #222750
The full context of why moving to this implementation can be found here:
https://github.com/llvm/llvm-project/pull/222432#discussion_r3992576835
Basically, #222432 has the downside of generating redundant
vslideup/down, as no DAG combine would be run in between different
operation lowering. Although #222750 tried to address that problem, the
fact that it has to call RAUW in the middle of lowering might result in
unexpected result.
This iteration of approach use a DAG combine to break
vector_interleave4/8 into vector_interleave2 early in the ISel, so that
any redundant insert/extract_subvector or concat_vectors should be
cleaned up automatically. Though some redundant pairs of vslideup/down
still show up but they are relatively easy to clean up, which will be
done in the following patch.
Commit: 34eeb2320ff2b991ddb3e3511bbe01ba14478d93
https://github.com/llvm/llvm-project/commit/34eeb2320ff2b991ddb3e3511bbe01ba14478d93
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/LibcallLoweringInfo.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
Log Message:
-----------
[CodeGen] Remove unused pass creation functions (NFC) (#224646)
createBranchFolder:
Introduced on July 9, 2026 in commit
f1daa4cd5377d61c6b12d59188048259d646e395 without any callers.
createShadowStackGCLoweringPass:
The last caller was removed on July 7, 2021 in commit
0fdb25cd954c7d0d082379374092929e06184206.
createLibcallLoweringInfoWrapper:
Introduced on January 16, 2026 in commit
539412914a391d4dd2b74a959afcf1ac49f9e47a without any callers.
Assisted-by: Antigravity
Commit: e8cd5ce3183244e9f8d95e3211d106b056c89c75
https://github.com/llvm/llvm-project/commit/e8cd5ce3183244e9f8d95e3211d106b056c89c75
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/commands/frame/var-dil/expr/Comparison/TestFrameVarDILExprComparison.py
Log Message:
-----------
[lldb] Skip TestFrameVarDILExprComparison with DWARF < 4 (#224755)
The test relies on scoped enum types, which need DW_AT_enum_class and
thus DWARF 4 or newer.
Commit: fd823ddc6faa0f34c799d21449b54bc4492decc2
https://github.com/llvm/llvm-project/commit/fd823ddc6faa0f34c799d21449b54bc4492decc2
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/use-old-text-zero-padding.c
Log Message:
-----------
[BOLT] Zero all stale bytes in reused file region (#222515)
`--use-old-text` reuses an input file region for new content. We have
only zeroed the padding that followed each newly written section in
#202375, which may leave stale bytes from input in front of the new
content. This could happen if the region is not on the new alignment
boundary, or when `--hot-functions-at-end` is used.
Replace the section name based forward scan with an interval coverage
over the region - collect the file extents of sections that contain
output bytes and then zero all the remaining holes.
Assisted-by: opus
Commit: 53ff33af0943139d83938c582c8c154665a40716
https://github.com/llvm/llvm-project/commit/53ff33af0943139d83938c582c8c154665a40716
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/android/platform/TestDefaultCacheLineSize.py
M lldb/test/API/commands/process/reverse-continue/TestReverseContinueCommandNotSupported.py
M lldb/test/API/commands/watchpoints/multiple_hits/TestMultipleHits.py
M lldb/test/API/functionalities/postmortem/minidump/TestMiniDump.py
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
M lldb/test/API/functionalities/process_save_core_minidump/partial_read/TestProcessSaveCoreMinidumpPartialRead.py
M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py
M lldb/test/API/functionalities/reverse-execution/TestReverseExecutionNotSupported.py
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
M lldb/test/API/functionalities/thread/crash_during_step/TestCrashDuringStep.py
M lldb/test/API/lang/c/local_variables/TestLocalVariables.py
M lldb/test/API/lang/cpp/class_static/TestStaticVariables.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py
M lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/lldbutil/frame/TestFrameUtils.py
M lldb/test/API/python_api/objc_type/TestObjCType.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/thread/TestThreadAPI.py
M lldb/test/API/python_api/value/empty_class/TestValueAPIEmptyClass.py
M lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIgnoreCount.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/python_api/watchpoint/TestWatchpointRead.py
Log Message:
-----------
[LLDB] Convert straightforward test launches to lldbutil (NFC) (#224404)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 35
call sites where the translation needs no extra arguments.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves und unifies the error reporting when the launch fails.
Assisted-by: Claude
Commit: 666edf2186f29fae04fd38cd0f93608cd0ec06e0
https://github.com/llvm/llvm-project/commit/666edf2186f29fae04fd38cd0f93608cd0ec06e0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/lang/cpp/dynamic-value/TestCppValueCast.py
M lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py
M lldb/test/API/linux/add-symbols/TestTargetSymbolsAddCommand.py
M lldb/test/API/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
M lldb/test/API/python_api/frame/TestFrames.py
M lldb/test/API/python_api/frame/inlines/TestInlinedFrame.py
M lldb/test/API/python_api/symbol-context/TestSymbolContext.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/TestValueAPI.py
M lldb/test/API/python_api/value/linked_list/TestValueAPILinkedList.py
M lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
Log Message:
-----------
[LLDB] Convert test launches with extra arguments to lldbutil (NFC) (#224412)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 19
call sites.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: In this patch, all invocations passed additional
arguments that needed to be carried over to the lldbutil replacement.
Assisted-by: Claude
Commit: 8282b18b2e998d215698c327184d87c63dc0c4e6
https://github.com/llvm/llvm-project/commit/8282b18b2e998d215698c327184d87c63dc0c4e6
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
M lldb/test/API/python_api/lldbutil/iter/TestRegistersIterator.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
Log Message:
-----------
[LLDB] Convert multi-threaded test launches to lldbutil (NFC) (#224415)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper at 7
call sites.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: These inferiors are multi-threaded and the original
code used get_stopped_thread(), which tolerates several threads stopping
at once. The helpers require exactly one by default, so every call here
passes only_one_thread=False to preserve the previous behavior. Without
it TestLLDBIterator fails with "Expected 1 thread to stop at breakpoint,
3 did" - but only under load, which makes this easy to miss when running
a single test.
Assisted-by: Claude
Commit: 5fbeec8d587bcb6c33cd0c194b60981e6357ded6
https://github.com/llvm/llvm-project/commit/5fbeec8d587bcb6c33cd0c194b60981e6357ded6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/or-disjoint-copyable-self-op.ll
Log Message:
-----------
[SLP]Drop disjoint flag for copyable lanes modeled as op(V, V)
or disjoint(V, V) is poison unless V is zero, so propagating the
flag from the scalar instructions miscompiles the synthesized
self-op lanes. Keep it for identity-modeled and zero lanes.
Fixes https://github.com/llvm/llvm-project/pull/220252#issuecomment-5736121992
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224760
Commit: d93df21ccc49e4796126614cea7097d4ee433a41
https://github.com/llvm/llvm-project/commit/d93df21ccc49e4796126614cea7097d4ee433a41
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
M lldb/test/API/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
M lldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/python_api/thread/TestThreadAPI.py
Log Message:
-----------
[LLDB] Convert the remaining test launches to lldbutil (NFC) (#224416)
Replace the CreateTarget + breakpoint + LaunchSimple + stop-assert
boilerplate with the matching lldbutil.run_to_*_breakpoint helper.
Besides being shorter, the helpers check that the breakpoint resolved to
at least one location and that the process stopped at that specific
breakpoint, which most of the original code did not do.
It also improves and unifies the error reporting when the launch fails.
Note for reviewers: These did not follow the common pattern and had to
be converted by hand, so they are worth a closer look than the earlier
batches:
- Five of them called get_threads_stopped_at_breakpoint() and indexed
the resulting list. The helper already returns the single stopped
thread, so the list, its length assertions and the [0] subscript all
collapse into it.
- TestSigtrampUnwind checked the stop state with an if/fail block rather
than an assertion.
- TestAddDsymDownload built its target from self.exe, which is just
getBuildArtifact("a.out"), so it needs no exe_name argument.
- TestThreadAPI looks up the thread inside a while loop, so only the
target creation and launch could be folded into the helper.
Assisted-by: Claude
Commit: 7662a0e1c4034bd13ca46dd72c5e0f0d2614b6f5
https://github.com/llvm/llvm-project/commit/7662a0e1c4034bd13ca46dd72c5e0f0d2614b6f5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
Log Message:
-----------
[NFC][LowerTypeTests] Update CFI jump table summary tests (#224761)
Update CHECK lines to match the new jump table layout in
* https://github.com/llvm/llvm-project/pull/221046
Implementation will not recognize `critical`.
Assisted-by: Gemini
Commit: 3fa94abb2f19065bd280a737558b6fd01f8a4168
https://github.com/llvm/llvm-project/commit/3fa94abb2f19065bd280a737558b6fd01f8a4168
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
[compiler-rt] Fix the use of COMPILER_RT_BUILTINS_LIBRARY (#224681)
When `COMPILER_RT_BUILTINS_LIBRARY` is set and a path to the builtins
library is being provided, it is still not being used, causing an
error in the COMPILER_RT_TARGET_HAS_ATOMICS test:
```
ld.lld: error: undefined symbol: __aarch64_cas8_acq_rel
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
ld.lld: error: undefined symbol: __aarch64_ldadd8_acq_rel
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
>>> referenced by src.cxx
>>> CMakeFiles/cmTC_7f91d.dir/src.cxx.o:(main)
clang++: error: linker command failed with exit code 1
```
Although it is visible in the
build/runtimes/runtimes-bins/CMakeFiles/CMakeConfigureLog.yaml log,
it is being ignored. This causes a cascade of subtle problems down the
line, including a faulty PGO instrumentation code being injected into
instrumented binaries, which causes race conditions whenever the
instrumented code is multi-threaded (a stub is being used instead of
the real atomics).
Commit: 87a926c0d736192ad8e149759347bfa8bd46d636
https://github.com/llvm/llvm-project/commit/87a926c0d736192ad8e149759347bfa8bd46d636
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/ehspec-noexcept.cpp
A clang/test/CIR/CodeGen/ehspec.cpp
M clang/test/CIR/CodeGen/rtti-qualfn.cpp
M clang/test/CIR/IR/invalid-try-catch.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
M clang/test/CIR/Transforms/flatten-eh-spec.cir
Log Message:
-----------
[CIR][EH] Implement codegen for dynamic exception specification (#224375)
This implements CIR generation for C++ functions with dynamic exception
specifications. The exception filter is implemented as a cir.try
operation that wraps the entire function body. CFG flattening and EH ABI
lowerting were implemented in previous changes, so they are already in
place.
This also adds an NYI diagnostic for functions marked `noexcept`. That
will be implemented in a follow-up change, but the new diagnostic forced
updates to a few tests that were using that form.
Assisted-by: Cursor / various models
Commit: 4c31f641d008e0fe03d84cdc05e5000c1b530729
https://github.com/llvm/llvm-project/commit/4c31f641d008e0fe03d84cdc05e5000c1b530729
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
M clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
M clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
M clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
M clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
M clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
Log Message:
-----------
[CIR] Add object offset calculation for basic AA (#219047)
This adds code to compute the offset of a pointer into a base object
when the base object is computed by CIR's basic alias analysis. The
offset will be used in a future change to determine partial alias, but
at this point the analysis still reports MayAlias for objects with
different offsets.
Assisted-by: Cursor / various models
Commit: 0c2f772be92289447f477552e232cbc5306c4659
https://github.com/llvm/llvm-project/commit/0c2f772be92289447f477552e232cbc5306c4659
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-functions-hotness.ll
Log Message:
-----------
[LowerTypeTests] Add -reorder-cfi-jump-tables-profiles kill switch (#224752)
Add `-reorder-cfi-jump-tables-profiles` (default: true) to allow
disabling CFI jump table hotness metadata generation and profiling
queries introduced in 50c563998bac.
When set to false, `createCfiFunctionsMetadata` avoids querying
`ProfileSummaryInfo` and `BlockFrequencyInfo`, leaving hotness bits in
`cfi.functions` metadata as 0 (unknown).
Assisted-by: Gemini
Commit: 400cdf6f379c0177e6259eeaf65ea8efa93326b3
https://github.com/llvm/llvm-project/commit/400cdf6f379c0177e6259eeaf65ea8efa93326b3
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
M mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
Log Message:
-----------
[mlir][VectorToXeGPU] Lower out-of-bounds 1-D transfers (#220490)
A vector.transfer_read / vector.transfer_write whose vector is 1-D and
whose access is out of bounds was not lowered.
This PR now builds a real in-bounds mask instead of handing
xegpu.load/xegpu.store an all-ones one. An element is in bounds when its
index is still inside the memref dimension it reads, i.e. i < dim(d) -
indices[d], and dimensions the transfer already declares in-bounds are
left alone. Since masked-off lanes of an xegpu.load hold unspecified
values rather than zeros, a read adds an arith.select to fill them with
the transfer's padding.
It also lowers a transfer_read of a single-element vector (any rank) to
a scalar xegpu.load, when that vector is only ever extracted to a
scalar. The load takes a scalar offset and a scalar mask, and the mask
is what keeps an out-of-bounds transfer from touching memory; because a
masked-off load is unspecified, the padding is applied with an
arith.select, as the scattered path already does. This avoids
special-casing single-element vectors in layout propagation: a scalar
consumer requests no layout, so the one-lane xegpu.load would otherwise
be left without one.
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 3dc4cbeae3ebb2a6091fe86851f62615970ea17d
https://github.com/llvm/llvm-project/commit/3dc4cbeae3ebb2a6091fe86851f62615970ea17d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
Log Message:
-----------
[SLP][NFC]Add a test with three-exit blocks, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224768
Commit: d5574d64020b82246940b2c086e8ba88e454b0b2
https://github.com/llvm/llvm-project/commit/d5574d64020b82246940b2c086e8ba88e454b0b2
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
R llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
R llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeImplicitBinding.ll
A llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizeResourceBinding-Implicit.ll
Log Message:
-----------
[SPIRV] Rename pass to SPIRVLegalizeResourceBinding (#224747)
Rename `SPIRVLegalizeImplicitBinding` pass to
`SPIRVLegalizeResourceBinding` since it will soon be extended to handle
heap resource bindings as well. Renaming is as a separate PR will make
the upcoming change easier to review.
Related to #208054
Commit: 3e93e9368f9167e5129f369194db08edcdf167d6
https://github.com/llvm/llvm-project/commit/3e93e9368f9167e5129f369194db08edcdf167d6
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp
Log Message:
-----------
[CIR][SYCL] Embed and register offloaded device binary on host path (#224692)
Commit: 265c5b66a632bcf2cdc6a4886a250b176532502b
https://github.com/llvm/llvm-project/commit/265c5b66a632bcf2cdc6a4886a250b176532502b
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Fix AllocatorCacheMaxResidentBytesDisabled test (#224698)
The test made an implicit assumption about how the maps were created. On
a device where the page size is much greater than 4096, the test fails
because of the hard-coded limits. Make the limits and values depend on
page size to avoid this problem.
Commit: 761d96637c2041f09317920b246e5584941bbafb
https://github.com/llvm/llvm-project/commit/761d96637c2041f09317920b246e5584941bbafb
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
A clang/test/CIR/IR/invalid-static-local-info.cir
M clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/invalid-tls.cir
M clang/test/CIR/IR/static-local-info.cir
M clang/test/CIR/IR/static-local.cir
Log Message:
-----------
[CIR] Harden static-local lowering against malformed .cir (#224744)
Enforce that a `static_local_guard` is always paired with a
`static_local_info` attribute via a GlobalOp verifier.
Commit: bb3517e72ee6d7d06c30589bcbfb01773ce90ed6
https://github.com/llvm/llvm-project/commit/bb3517e72ee6d7d06c30589bcbfb01773ce90ed6
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 3e93e93 (#224771)
This fixes 3e93e9368f9167e5129f369194db08edcdf167d6 (#224692).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=3e93e9368f9167e5129f369194db08edcdf167d6
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 2dbfa63d18daa18e4c9a633ec812d03b6587e4fb
https://github.com/llvm/llvm-project/commit/2dbfa63d18daa18e4c9a633ec812d03b6587e4fb
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
[lldb] Get IRExecutionUnit mangling-mode from llvm::Module. (#224595)
Get the mangling mode (IRExecutionUnit::m_strip_underscore) from the
llvm::Module at IRExecutionUnit construction time, rather than getting
it from the llvm::ExecutionEngine in GetRunnableInfo.
This is a step towards decoupling IRExecutionUnit from
llvm::ExecutionEngine / MCJIT.
Commit: ddce820dd2226ad07e974d8773b591e144841c4b
https://github.com/llvm/llvm-project/commit/ddce820dd2226ad07e974d8773b591e144841c4b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
A llvm/tools/llvm-jitlink/ConnectionUtils.h
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Rework out-of-process launch/connect options (#224632)
Replace -oop-executor and -oop-executor-connect, which were mutually
exclusive and each parsed their own ad hoc connection syntax, with two
orthogonal options built on the shared ConnectionSpec parser:
-oop-launch [<path>] Launch an out-of-process executor (default:
llvm-jitlink-executor).
-oop-connect <spec> How to connect to the executor, whether or not
it was launched by llvm-jitlink.
Either may be used alone (matching the old -oop-executor and
-oop-executor-connect behavior) or combined, e.g. to have llvm-jitlink
bind and listen while the executor it launches dials back in:
llvm-jitlink -oop-launch -oop-connect=tcp:listen=127.0.0.1:0 a.o
Both llvm-jitlink and llvm-jitlink-executor now parse connection
descriptors with ConnectionSpec (<transport>[:<action>]=<descriptor>)
instead of bespoke per-side parsing, and support the same three specs in
both directions: fd=<sockfd>, tcp:connect=<host>:<port>, and
tcp:listen=<host>:<port>.
For the reverse-connect case (llvm-jitlink listens, the executor
connects back), llvm-jitlink binds and resolves the listening port
before launching the executor, so it can hand the executor the concrete
port -- including when an OS-assigned ephemeral port ("0") was
requested. The host in a tcp:listen spec is now also honored as the bind
address (previously always wildcard-bound); an empty host still requests
a wildcard bind.
These changes will be used to support interaction with, and testing of,
the ORC runtime's new OGRE (ORC General-purpose Runtime Environment)
executor.
Commit: 38fbfd2cf7e2a64ec91b6327a8daee26b7e64611
https://github.com/llvm/llvm-project/commit/38fbfd2cf7e2a64ec91b6327a8daee26b7e64611
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/lib/SandboxIR/Pass.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/test/Transforms/SandboxVectorizer/EndToEnd/seed_bundle_cross_erasure.ll
M llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/top_down.ll
M llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_load_seeds.ll
M llvm/test/Transforms/SandboxVectorizer/Passes/SeedCollection/seed_collection_loads.ll
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SanbdoxIR][SandboxVec] AuxPassArgs for auxiliary pass arguments (#224450)
This patch implements helper classes for handling the pass auxiliary
arguments. These classes handle the parsing of the auxiliary argument
string such that the passes themselves won't have to deal with it.
We currently only support boolean arguments that are false by default.
If an argument shows up in the string then it is set to true.
Example:
```
AuxPassArgsRegistry ArgsRegistry; // The "parent" of the arguments
AuxPassArg Arg1 = ArgsRegistry.createArg("arg1");
AuxPassArg Arg2 = ArgsRegistry.createArg("arg2");
...
ArgsRegistry.parse("arg1"); // From this point on (bool)Arg1 evaluates to true.
```
This patch is also removing the `cl::opt<std::string> CollectSeeds` for
the SeedCollection and replaces it with AuxPassArgs. So we are now
specifying the seeds in the pass pipeline like:
```
-sbvec-passes="seed-collection(loads,stores,enable-diff-types)"
```
Commit: f8f4816496f6126f371350819d48017d1c330b56
https://github.com/llvm/llvm-project/commit/f8f4816496f6126f371350819d48017d1c330b56
Author: Andy Lim <andysjlim at chromium.org>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/MC/COFF/ir-to-imgrel-reject.ll
M llvm/test/MC/COFF/ir-to-imgrel.ll
Log Message:
-----------
[TargetLowering][COFF] Allow GlobalAlias in lowerRelativeReference (#220674)
In commit 2b321e2f293a (#203171), splitAndWriteThinLTOBitcode was
updated to create a GlobalAlias with external linkage for promoted
internal globals instead of renaming them directly.
When generating COFF object files on Windows (such as MSVC RTTI
CompleteObjectLocator structures), relative references against
@__ImageBase (e.g. sub (ptrtoint @alias to i64), (ptrtoint @__ImageBase
to i64))
are lowered to IMAGE_REL_AMD64_ADDR32NB (VK_COFF_IMGREL32) relocations
in TargetLoweringObjectFileCOFF::lowerRelativeReference.
Previously, lowerRelativeReference checked `!isa<GlobalObject>(LHS)`,
which rejected GlobalAlias instances. As a result,
lowerRelativeReference returned nullptr, and AsmPrinter fell back to
emitting a raw MC subtraction expression. This caused
WinCOFFObjectWriter
to fail with:
\"error: symbol '__ImageBase' can not be undefined in a subtraction
expression\"
because @__ImageBase is an undefined external symbol resolved at link
time.
Fix this by checking !LHS->getAliaseeObject() instead of
`!isa<GlobalObject>(LHS)`, allowing GlobalAliases whose underlying
aliasee is a GlobalObject to be lowered to VK_COFF_IMGREL32.
*Note: AI assistance was used for creating the PR and review feedback
exploration.*
Commit: 5e88b5a0b03eeae47f4806390a29fd19c025770d
https://github.com/llvm/llvm-project/commit/5e88b5a0b03eeae47f4806390a29fd19c025770d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
Log Message:
-----------
[NFC][LowerTypeTests] Add RUN line for -reorder-cfi-jump-tables-profiles=false (#224779)
Update CHECK lines to match the new jump table layout in
* https://github.com/llvm/llvm-project/pull/224779
Assisted-by: Gemini
Commit: d34ec23ae133f5e4c63da1a864f1e7ff4362cc07
https://github.com/llvm/llvm-project/commit/d34ec23ae133f5e4c63da1a864f1e7ff4362cc07
Author: Krisitan Erik Olsen <kristian.erik at outlook.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
R clang/test/CodeGenCXX/GH211943.cpp
M clang/test/CodeGenCXX/builtin-dump-struct.cpp
Log Message:
-----------
[Clang][NFC] Move GH211943 test into existing builtin-dump-struct test file (#224421)
Follow-up to #212377 per post-commit review by @shafik.
Moves the regression test from a standalone GH211943.cpp into the
existing CodeGenCXX/builtin-dump-struct.cpp under a namespace GH211943
block, guarded by #ifdef TEST_WERROR with a second RUN line.
Commit: 3228e8f8c3abd58c02f8143d2a4f921f392146c6
https://github.com/llvm/llvm-project/commit/3228e8f8c3abd58c02f8143d2a4f921f392146c6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/cfi-jumptable-hotness-summary.ll
Log Message:
-----------
[LowerTypeTests] Reorder CFI jump table entries based on hotness (#221046)
Order CFI jump table entries by function hotness. We use `cfi.functions`
metadata in ThinLTO, or `BlockFrequencyInfo` / function entry counts in
full LTO.
We want the hottest function to be optimized by the last entry thing for
SHT_LLVM_CFI_JUMP_TABLE. The linker deletes the final branch in the jump
table and moves the table directly before that target function so it
falls through.
This also ensures the jump table lands in a hot section (.text.hot)
instead of a cold section (.text.unlikely). Type contiguity is
preserved.
This PR reliably improves the performance of our server binary by 0.2%,
and some smaller binaries up to 5%.
PR Stack:
* https://github.com/llvm/llvm-project/pull/220776
* https://github.com/llvm/llvm-project/pull/221043
* https://github.com/llvm/llvm-project/pull/221044
* https://github.com/llvm/llvm-project/pull/223843
* https://github.com/llvm/llvm-project/pull/223846
* https://github.com/llvm/llvm-project/pull/223848
* ➤ https://github.com/llvm/llvm-project/pull/221046
Assisted-by: Gemini
Commit: 2adfaf804d3488859b81a837b0dda263da6cb855
https://github.com/llvm/llvm-project/commit/2adfaf804d3488859b81a837b0dda263da6cb855
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Type.h
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[SandboxIR] Implement PointerType::getAddressSpace() (#224751)
This patch implements PointerType::getAddressSpace() in Sandbox IR,
mirroring LLVM IR.
Commit: 61b0646cdbd154b316ec12f022c586dedc493294
https://github.com/llvm/llvm-project/commit/61b0646cdbd154b316ec12f022c586dedc493294
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
[LowerTypeTests] Apply kill switch to CFI jump table reordering (#224782)
This is follow up to #221046, for which I failed to upload rebased
version.
* https://github.com/llvm/llvm-project/pull/221046
Commit: 40a6a441e7a945ca964619cfa2c328120cb9dae5
https://github.com/llvm/llvm-project/commit/40a6a441e7a945ca964619cfa2c328120cb9dae5
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Options/DriverOptions.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/ELF/Driver.h
M lld/ELF/DriverUtils.cpp
M lld/MachO/Driver.h
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-cas/llvm-cas.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-strings/llvm-strings.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/Option/OptionSubCommandsTest.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Emit the Info table from TableGen. NFC (#224508)
Each tool expands OPTION into an Info array and passes it with up to
five side tables to GenericOptTable or PrecomputedOptTable, so a new
side table touches every tool.
Emit the Info table from TableGen with numeric group and alias IDs and
bundle all tables into an OptTable::Tables aggregate under one
OPTTABLE_CODE block, so a tool just constructs OptTable(OptionTables).
Every table now uses the precomputed prefix union, which removes
GenericOptTable and PrecomputedOptTable.
Aided by Opus 5
Commit: a312cb0c81cf1e4cf1a3bc469b15bd5216c59469
https://github.com/llvm/llvm-project/commit/a312cb0c81cf1e4cf1a3bc469b15bd5216c59469
Author: Weiwei C <weiwei.chen at modular.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/IR/PassTimingInfo.cpp
Log Message:
-----------
[llvm][timing] Reset recycled timer with different names. (#218492)
Legacy pass-manager timers are keyed by the pass instance pointer and
the map entry outlives the pass, so a pass allocated at a recycled
address inherits the previous pass's timer and reports its time under
that pass's name. When a recycled instance which has different name can
end up having leftover name comes from whichever target ran before.
Re-create the timer when the name no longer matches.
fixes: #218491
Commit: f43368b4d45ee410d4fe944e9ea3e13822af7c04
https://github.com/llvm/llvm-project/commit/f43368b4d45ee410d4fe944e9ea3e13822af7c04
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/Interpreter/IncrementalExecutor.cpp
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMap.h
A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMapSPS.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
A llvm/lib/ExecutionEngine/Orc/SharedMemoryMapSPS.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
Log Message:
-----------
[ORC] Drive SharedMemoryMapper via proxies (#224786)
Add a SharedMemoryMapBindings handle (SharedMemoryMap.h) and its SPS
proxy specs (SharedMemoryMapSPS.h), mirroring SimpleMemoryMap, and bind
SharedMemoryMapper to it in place of its four callSPSWrapperAsync sites.
Dispatch and callee errors now share one channel, dropping the per-call
SerializationErr handling. Updates the llvm-jitlink and clang-repl
factories and the unit test.
Commit: 851eb5a97ba67b4e8ebec39fb821c144db67a10a
https://github.com/llvm/llvm-project/commit/851eb5a97ba67b4e8ebec39fb821c144db67a10a
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
A lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.py
Log Message:
-----------
[lldb/Interpreter] Let a Scripted Process report its addressable bits (#224701)
Commit: 3ff9abe8930acc7b4c4e2387c1357ca6f2d15c00
https://github.com/llvm/llvm-project/commit/3ff9abe8930acc7b4c4e2387c1357ca6f2d15c00
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/test/MC/AArch64/LFI/guard-elim.s
M llvm/test/MC/AArch64/LFI/return.s
Log Message:
-----------
[LFI][AArch64] Do not flush deferred LR guards on temporary labels (#224776)
In function epilogues with unwinding enabled, DWARF CFI directives
between restoring x30 and autiasp trigger
MCObjectStreamer::emitCFILabel, which emits temporary labels. onLabel
assumed all labels were branch targets and flushed DeferredLRGuard,
emitting `add x30, x27, w30, uxtw` before autiasp. Because w30
zero-extends, this stripped the PAC signature from x30 and caused PAC
exceptions on hardware with FEAT_FPAC.
Fix it by not flushing the deferred LR guard on temporary symbols in
onLabel. Also, update AArch64InstrInfo::getLFIInstSizeInBytes to return
8 for RET to fix the size assertion failure in +assertions builds, which
occurs because RET did not account for the deferred LR guard that can
precede the return instruction.
Assisted-by: Gemini
Commit: 3834f58744a7be80b5869c07fe576ff8f23e2315
https://github.com/llvm/llvm-project/commit/3834f58744a7be80b5869c07fe576ff8f23e2315
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Only call getSource() if we diagnose (#224663)
We can avoid this if we only return false anyway. Also rename a
variable.
Commit: da72f2c5766a0cc1dc81aa6a27de34316b83b68f
https://github.com/llvm/llvm-project/commit/da72f2c5766a0cc1dc81aa6a27de34316b83b68f
Author: Brad Smith <brad at comstyle.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[Support] Only enable use of /proc/self/fd on Linux (#222497)
Only enable the use of /proc/self/fd on OSes that provide
the compatible /proc/self/fd interface.
Commit: d0358264a15b7279e4a1500a0dadbf43fab881ed
https://github.com/llvm/llvm-project/commit/d0358264a15b7279e4a1500a0dadbf43fab881ed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
Log Message:
-----------
[clang][bytecode] Flip a boolean flag meaning (#224649)
We only use this flag once, when passing it to
`setFoldFailureDiagnostic()` (where we invert it), so it doesn't make
sense to call it IsCCEDiag.
Commit: 7192e07bea4fbad5e83b1e952072b0c4ddde4d3a
https://github.com/llvm/llvm-project/commit/7192e07bea4fbad5e83b1e952072b0c4ddde4d3a
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
Log Message:
-----------
[lldb][FreeBSDKernel] Load unrelocated FreeBSD kernel sections (#223589)
Even though displacement is zero, we need to mark the module as loaded.
Fixes: 62d06083ef186abe610de4742c62c84c2f97fcd0
Commit: 041328e3314e5f0aea3d88f6bd8257ecccd89984
https://github.com/llvm/llvm-project/commit/041328e3314e5f0aea3d88f6bd8257ecccd89984
Author: Minsoo Choo <minsoochoo0122 at proton.me>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
Log Message:
-----------
[lldb][FreeBSDKernel] Avoid null dereference probing FreeBSD kernels (#223590)
CheckForKernelImageAtAddress() accepts an optional read_error pointer,
but dereferenced it unconditionally in many code paths. If read_error is
null, point read_error to a dummy local variable to prevent null
dereference.
Fixes: b3cc4804d45d6b612ac9b3cc47ebbb0da44ebc60
Commit: 3088d0aace62a33925ade51e238b9a1ae7ff30c0
https://github.com/llvm/llvm-project/commit/3088d0aace62a33925ade51e238b9a1ae7ff30c0
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
Log Message:
-----------
[lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores (#223593)
FreeBSD's kvm_open(3) man page states that a valid resolver is required
to debug non-native kernel images as libkvm needs to map symbol names to
kernel virtual addresses. Since ProcessFreeBSDKernelCore aims to debug
kernel image and core dump from any architectures, pass a valid resolver
to kvm_open2().
Assisted-by: GPT
Commit: 0da016867d1fd3d7938895ec36a9775fe26e1919
https://github.com/llvm/llvm-project/commit/0da016867d1fd3d7938895ec36a9775fe26e1919
Author: Minsoo Choo <minsoo at minsoo.io>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.h
Log Message:
-----------
Revert "[lldb][FreeBSDKernel] Support cross-architecture FreeBSD kernel cores" (#224799)
Reverts llvm/llvm-project#223593
Merged by mistake.
Commit: c38a7054a1d889d428a24481f699927a8707b28e
https://github.com/llvm/llvm-project/commit/c38a7054a1d889d428a24481f699927a8707b28e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Utility/DataExtractor.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/Shell/ObjectFile/MachO/unterminated-symbol-name.yaml
M lldb/unittests/Utility/DataExtractorTest.cpp
Log Message:
-----------
[lldb] Bound DataExtractor::PeekCStr to the data it reads from (#224452)
PeekCStr only validated the first byte without checking for a terminator.
Every caller then treated the result as a C string, so an unterminated
string table let strlen run past the mapping, causing a crash or
security bug.
Return an optional StringRef, produced only when the terminator lies
within the data. The length comes along with it, so callers no longer
rescan, and an absent string stays distinct from an empty one.
ValueObject was the only caller that wanted an unterminated buffer. It
scans fixed size chunks of inferior memory, so it now asks for bytes with
PeekData and bounds its own scan.
rdar://186891223
Commit: e80cb508f0ab3b916873b8a4939203cd5d36901a
https://github.com/llvm/llvm-project/commit/e80cb508f0ab3b916873b8a4939203cd5d36901a
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
Log Message:
-----------
[WebKit Checkers][NFC] Extract hasGuardian from isPtrOriginSafe in RawPtrRefLocalVarsChecker (#224726)
So an upcoming borrow checker can skip it.
(A guardian variable is an independent declaration that ensures a
lifetime. Borrow checking does not accept guardian variables because
they do not convey `lifetimebound` links.)
Assisted-by: Claude
Commit: 18f24365f1e6ffde585e35c110d2039c082b2091
https://github.com/llvm/llvm-project/commit/18f24365f1e6ffde585e35c110d2039c082b2091
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
Log Message:
-----------
[lldb/test] Register the addressable_bits_scripted_process module with the script interpreter (#224803)
`test_scripted_process_addressable_bits` imported
`addressable_bits_scripted_process` into the test process, which makes
the module's constants available to the test but tells lldb's own script
interpreter nothing about it, so
`SBLaunchInfo::SetScriptedProcessClassName()` had nothing to resolve:
```
error: failed to create ScriptedProcess: failed to create script object:
Could not find script class:
addressable_bits_scripted_process.AddressableBitsScriptedProcess
```
Import the file with `command script import` the way the other scripted
process tests in this file do.
Commit: e35f904c32ed5c5b7960f4576d94708d6611256e
https://github.com/llvm/llvm-project/commit/e35f904c32ed5c5b7960f4576d94708d6611256e
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGenSYCL/kernel-caller-attributes.cpp
Log Message:
-----------
[CIR][SYCL] Emit attributes on the SYCL kernel caller (#224667)
Emit norecurse, mustprogress, and sycl-module-id.
This matches the classic behavior that is specific to the SYCL kernel
caller.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 223038799f33d911ee40001be87ada922b2e8d22
https://github.com/llvm/llvm-project/commit/223038799f33d911ee40001be87ada922b2e8d22
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
M flang/test/HLFIR/separate-allocatable-assign.fir
Log Message:
-----------
[flang][cuda] Split realloc for host-accessible CUDA Fortran allocatable assigns (#224195)
Allow SeparateAllocatableAssign to peel reallocation off hlfir.assign
for
managed, pinned, and unified allocatables, using cuf.alloc/cuf.free so
the
CUDA Fortran allocator is honored. Device (and other
non-host-accessible)
storage still keeps the runtime realloc path as well as derived-type.
Drop the extra op-level MemFree on cuf.free so OptimizedBufferization
can
see the freed pointer. Without that, a valueless Free effect between the
elemental and the assign forced a temporary for cases such as
`a = int(ran*100)` on a managed allocatable in the example below.
```
subroutine foo(n, a, ran)
integer :: n
real, managed, allocatable :: a(:)
real, allocatable :: ran(:)
allocate(a(n))
allocate(ran(n))
call random_number(ran)
a = int(ran*100)
end subroutine
```
Commit: 6f516d1c555462cf20404cb0da9c58716fd618db
https://github.com/llvm/llvm-project/commit/6f516d1c555462cf20404cb0da9c58716fd618db
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Emit cuda sentinel only when compiling main (#224507)
The sentinel must be added only when the `PROGRAM` is build in the TU.
Commit: 3efbad6ac0ed21cff03201f50bd37f15060d36e1
https://github.com/llvm/llvm-project/commit/3efbad6ac0ed21cff03201f50bd37f15060d36e1
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M clang/lib/Options/DriverOptions.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M lld/COFF/DriverUtils.cpp
M lld/ELF/DriverUtils.cpp
M lld/MachO/DriverUtils.cpp
M lld/MinGW/Driver.cpp
M lld/wasm/Driver.cpp
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-cas/llvm-cas.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-cvtres/llvm-cvtres.cpp
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-dwarfutil/llvm-dwarfutil.cpp
M llvm/tools/llvm-dwp/llvm-dwp.cpp
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-ifs/llvm-ifs.cpp
M llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
M llvm/tools/llvm-mt/llvm-mt.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/llvm-strings/llvm-strings.cpp
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/Option/OptionParsingTest.cpp
M llvm/unittests/Option/OptionSubCommandsTest.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Replace the OptionTables object with a function. NFC (#224805)
The generated `Tables` holds seven addresses, so needs dynamic
relocations in PIE and shared library builds:
```
static constexpr llvm::opt::OptTable::Tables OptionTables = {
OptionStrTable, OptionPrefixesTable, OptionPrefixesUnion, ...};
...
FooOptTable() : OptTable(OptionTables) {}
```
Emit a function instead. The caller builds the aggregate on the stack
from PC-relative addresses, which the linker resolves:
```
static constexpr llvm::opt::OptTable::Tables optionTables() {
return {OptionStrTable, OptionPrefixesTable, OptionInfoTable, ...};
}
...
FooOptTable() : OptTable(optionTables()) {}
```
Derive the prefix union from the prefix table in the constructor and
drop the emitted OptionPrefixesUnion.
Aided by Opus 5
Commit: 9109452a428a5042ff62879be68445f8b88637d4
https://github.com/llvm/llvm-project/commit/9109452a428a5042ff62879be68445f8b88637d4
Author: Lucas Chollet <lucas.chollet at free.fr>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp
Log Message:
-----------
[libcxx] Avoid a busy-loop in atomic's lost_wakeup.pass.cpp (#211242)
Fixes #207763
On single-core or heavily loaded systems, using this_thread::yield()
prevents the notifier from burning all its allocated time on the
busy-loop.
The measurements were done on my Linux box, the time is the one reported
by lit. To isolate the test on a single core I used the following
commands:
export LIT_FILTER="wait/lost_wakeup.pass.cpp"
taskset -c 0 ninja -C build check-cxx
| Configuration | Linux futex | | Fallback | |
| -------------- | ----------- | ----------- | -------- | ----------- |
| | Normal | Pinned core | Normal | Pinned core |
| Before | 1.50s | 8.44s | 1.57s | 301.02s |
| With yield | 1.73s | 7.36s | 1.64s | 8.88s |
Both configurations are with the `run < 10` change.
Commit: 7d091d586808a91300e653d8ba06dd8406f0fdeb
https://github.com/llvm/llvm-project/commit/7d091d586808a91300e653d8ba06dd8406f0fdeb
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/Option/OptTable.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Derive the prefix union in the constructor. NFC (#224813)
The union is a function of the prefix table, so compute it in the
OptTable constructor instead of emitting OptionPrefixesUnion and
carrying it in Tables.
LLM-aided, extracted from #224805
Commit: 88c7a2aa1172f8d30df1e756816aec4d8da447c2
https://github.com/llvm/llvm-project/commit/88c7a2aa1172f8d30df1e756816aec4d8da447c2
Author: Jay Foad <jay.foad at amd.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/Transforms/InstCombine/AMDGPU/mbcnt-wave32-optimizations.ll
Log Message:
-----------
[AMDGPU] Always optimize out llvm.amdgcn.mbcnt.hi in wave32 mode (#224573)
The instruction v_mbcnt_hi_u32_b32 does nothing useful in wave32 mode so
we can always optimize it regardless of the workgroup size.
Commit: b3ef5fedd9920cf1c678f4da5743a6714d078f87
https://github.com/llvm/llvm-project/commit/b3ef5fedd9920cf1c678f4da5743a6714d078f87
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-18 (Fri, 18 Sep 2026)
Changed paths:
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/lib/Option/OptTable.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Shrink Info from 40 to 24 bytes (#224807)
Few options set MetaVar, AliasArgs, Values, help text variants, or
subcommands (12%, 4%, 4%, 0.1%, 0.06% of 6955 options), yet every entry
carries all five. Move them to a deduplicated InfoExtra side table
reached by a 16-bit offset; row 0 serves options that set none. Narrow
Visibility to 16 bits; clang uses seven.
clang's table shrinks from 155 KB to 93 KB plus 4 KB of extras.
Aided by Opus 5
Commit: 8a371cab6bd49f58f6285e4db7f58c3427ca8c8b
https://github.com/llvm/llvm-project/commit/8a371cab6bd49f58f6285e4db7f58c3427ca8c8b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
Log Message:
-----------
[orc-rt] In SimpleRemoteCA, carry tag field as uint64_t (#224814)
A message's tag field is a 64-bit value on the wire, so carry it as a
uint64_t inside SimpleRemoteCA and only convert to an ExecutorAddr or
ResultKind only where needed, with validation.
Commit: 73641283fc038d819b5a0d3e5fd1315d501ff9e1
https://github.com/llvm/llvm-project/commit/73641283fc038d819b5a0d3e5fd1315d501ff9e1
Author: Brad Smith <brad at comstyle.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.cpp
Log Message:
-----------
[Mips] Remove experimental warning bits in a few places (#223230)
- Remove the warning message "warning: MIPS-I support is experimental" from
MipsSubtarget.cpp. The warning can interfere with build systems that do not
expect diagnostic output on stderr.
- Remove experimental / highly experimental from a few MIPS processors.
MIPS I is on track and the rest I wouldn't consider experimental anymore.
Commit: 991d80d79b9d56b75c4d2bd07bf124e710dcbfaa
https://github.com/llvm/llvm-project/commit/991d80d79b9d56b75c4d2bd07bf124e710dcbfaa
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/include/llvm/Option/OptTable.h
M llvm/lib/Option/OptTable.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Store the StringTable by value. NFC (#224818)
Suggested by
https://github.com/llvm/llvm-project/pull/224805#discussion_r4052408942
A StringTable is just a StringRef. Hold it by value and build it from
the storage array in optionTables(), so the generated OptionStrTable
object (16 bytes of .data.rel.ro and a relocation per table) is
unreferenced and discarded, and string lookups skip a load.
Aided by Opus 5
Commit: 2bb259ab4b5d826fe5d886ee2f39a3df57ab209c
https://github.com/llvm/llvm-project/commit/2bb259ab4b5d826fe5d886ee2f39a3df57ab209c
Author: Zihao Wang <rekind133 at outlook.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/partial-reduction-sub.ll
M llvm/test/CodeGen/X86/vector-partial-reduce-sumla.ll
Log Message:
-----------
[SelectionDAG] Allow PARTIAL_REDUCE_SUMLA in getPartialReduceMLS (#220886)
foldPartialReduceMLAMulOp turns
partial_reduce_*mla(acc, neg(mul(sext(a), zext(b))), splat(1))
into a PARTIAL_REDUCE_SUMLA node and, because of the negation, builds it
through SelectionDAG::getPartialReduceMLS. That helper only accepted
UMLA
and SMLA, so the mixed-sign case hit its "Unexpected opcode" assertion
whenever the target marks SUMLA as legal or custom for the transformed
types. The loop vectorizer produces exactly this shape for a reduction
chain that mixes adds and subs, e.g.
acc += (int)s8_a[i] * (int)u8_b[i];
acc -= (int)s8_c[i] * (int)u8_d[i];
so this crashed at -O2 in builds with assertions enabled on AArch64 with
+dotprod, and since #205373 also on X86 with AVX512-VNNI (release builds
already generated correct code).
The identity used by getPartialReduceMLS,
partial_reduce_mls acc, lhs, rhs <=> -(partial_reduce_mla -acc, lhs,
rhs)
does not depend on the signedness of the inputs, so SUMLA can simply be
accepted. Add AArch64 tests for the SVE and NEON usdot forms, and for
the two-udot expansion used without +i8mm.
Commit: a9bd24af19ba92329881ea5bf73f90508e16dd5f
https://github.com/llvm/llvm-project/commit/a9bd24af19ba92329881ea5bf73f90508e16dd5f
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/test/Analysis/CostModel/AArch64/mulh.ll
A llvm/test/Analysis/CostModel/AArch64/sve-mulh.ll
A llvm/test/Analysis/CostModel/RISCV/mulh.ll
M llvm/test/Analysis/CostModel/X86/arith-mulh.ll
Log Message:
-----------
[TTI] Add basic costs for llvm.[su]mulh. (#224002)
Defaults to the expansion (trunc ((ext(A) * ext(B)) >> BW)).
Commit: 3dcd66d0110335d7d1a5921fd085914b66ffbd3c
https://github.com/llvm/llvm-project/commit/3dcd66d0110335d7d1a5921fd085914b66ffbd3c
Author: Samarth Narang <70980689+snarang181 at users.noreply.github.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/SCF/for-loop-peeling-front.mlir
M mlir/test/Dialect/SCF/for-loop-peeling.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_peeled.mlir
Log Message:
-----------
[mlir][scf] Do not peel an iteration out of an empty loop (#223257)
Commit: a986c0984aa7ec77636fdc085f4228fec5a4a600
https://github.com/llvm/llvm-project/commit/a986c0984aa7ec77636fdc085f4228fec5a4a600
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
A mlir/test/Dialect/LLVMIR/invoke-operand-segments.mlir
A mlir/test/Transforms/region-branch-operand-segments.mlir
A mlir/test/Transforms/remove-dead-values-llvm-call-segments.mlir
A mlir/test/Transforms/remove-dead-values-return-segments.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR] Preserve operand segment sizes when removing dead inputs (#223154)
`RemoveDeadRegionBranchOpSuccessorInputs` was calling `eraseOperands`
and ignoring potential `AttrSizedOperandSegments`. Trying to use
`populateRegionBranchOpInterfaceCanonicalizationPatterns` on downstream
control flow op with it resulted in broken IR. Update the segments sizes
if present.
Also fix LLVM dialect `CallOp` and `InvokeOp` `getArgOperandsMutable`
which were dropping segment sizes and a parser bug uncovered by the
tests.
Code was vibed and then edited, tests were vibed and not particularly
edited.
Commit: 534934c01f8c977ec1b7f381c71bedf1ff9e6a5e
https://github.com/llvm/llvm-project/commit/534934c01f8c977ec1b7f381c71bedf1ff9e6a5e
Author: Guy David <guyda96 at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.ll
A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.mir
Log Message:
-----------
[AArch64] If-convert diamonds merging a 128-bit vector (#220616)
canInsertSelect handles GPRs via csel and 32/64-bit FPRs via fcsel, but
returns false for everything else. For example, EarlyIfConversion
flattens a diamond merging a v4i16 but leaves the equivalent v4i32
branchy.
We can create a conditional select similarly to how vector selects are
lowered in the backend by spreading the condition into an all-1's /
all-0's mask and use a bit select.
Assisted-by: Opus 5.0
Commit: c0c563526ba92ab7e1afc49be2742d5ef0f8b86a
https://github.com/llvm/llvm-project/commit/c0c563526ba92ab7e1afc49be2742d5ef0f8b86a
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Add isNoWrap overload taking opcode + ops (NFC). (#224758)
Add overload that is independent of an IR value/instruction, and only
takes opcode + operands.
This prepares for using it in saturating/overflowing op simplification
in follow-ups.
PR: https://github.com/llvm/llvm-project/pull/224758
Commit: f8de1a4a91af108860545b696cce9b2ef8d8fa09
https://github.com/llvm/llvm-project/commit/f8de1a4a91af108860545b696cce9b2ef8d8fa09
Author: azwolski <antoni.zwolski at intel.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/shuffle-lane-permute-cycle.ll
Log Message:
-----------
[X86] Prevent legalization cycles in lane-permute shuffle lowering (#224265)
When a cross-lane shuffle reproduces the original mask, trying a finer
sublane size can produce a decomposition that legalization transforms
back into the original shuffle. This causes legalization to cycle
indefinitely.
Stop trying finer sublane sizes when this condition is detected, and add
a regression test for the shuffle that previously caused `llc` to hang.
Fixes #224266
Commit: 02299633334a4c7c5f7d8a8ebf593b66f7e6f13e
https://github.com/llvm/llvm-project/commit/02299633334a4c7c5f7d8a8ebf593b66f7e6f13e
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll
Log Message:
-----------
[AMDGPU] Add tests for zero MUL_I24 operands. NFC (#224536)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Commit: 8fef76f77072537ea9d124df3d95a90671a2c02d
https://github.com/llvm/llvm-project/commit/8fef76f77072537ea9d124df3d95a90671a2c02d
Author: GTaf <auredu94 at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers-invalid-decl-no-crash.cpp
Log Message:
-----------
[clang-tidy] Add null-checking in Use designated Initializer check (#220093)
Part of #219739
This null check should avoid null dereferencing crash in the Use
designated Initializer check.
AI has been used in this contribution to understand the code as I'm a
beginner to the codebase. The problem understanding and proposed fix is
mine.
Commit: 02e6ae3a2812d6dd3707f8818cbf124d0a3ee0df
https://github.com/llvm/llvm-project/commit/02e6ae3a2812d6dd3707f8818cbf124d0a3ee0df
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/ASTMerge/class-template-partial-spec/test.cpp
Log Message:
-----------
[clang][bytecode] Lazily evaluate static variables (#208794)
They usually go through `evaluateAsInitializer()`, which is where we
register them as global variables. But if they're imported, they don't.
Just try to evaluate them in `VisitMemberExpr()`.
Commit: 3830f77512eaebae7a24aa04f75ad37a9facea5d
https://github.com/llvm/llvm-project/commit/3830f77512eaebae7a24aa04f75ad37a9facea5d
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
A llvm/docs/MarkedUpDisassembly.md
R llvm/docs/MarkedUpDisassembly.rst
A llvm/docs/MeetupGuidelines.md
R llvm/docs/MeetupGuidelines.rst
A llvm/docs/MemTagSanitizer.md
R llvm/docs/MemTagSanitizer.rst
A llvm/docs/MemoryModelRelaxationAnnotations.md
R llvm/docs/MemoryModelRelaxationAnnotations.rst
A llvm/docs/PCSectionsMetadata.md
R llvm/docs/PCSectionsMetadata.rst
A llvm/docs/Projects.md
R llvm/docs/Projects.rst
A llvm/docs/Proposals/GitHubMove.md
R llvm/docs/Proposals/GitHubMove.rst
A llvm/docs/Proposals/TestSuite.md
R llvm/docs/Proposals/TestSuite.rst
A llvm/docs/Proposals/VectorPredication.md
R llvm/docs/Proposals/VectorPredication.rst
A llvm/docs/QualGroup.md
R llvm/docs/QualGroup.rst
A llvm/docs/ReleaseProcess.md
R llvm/docs/ReleaseProcess.rst
A llvm/docs/ScudoHardenedAllocator.md
R llvm/docs/ScudoHardenedAllocator.rst
A llvm/docs/Security.md
R llvm/docs/Security.rst
A llvm/docs/SecurityTransparencyReports.md
R llvm/docs/SecurityTransparencyReports.rst
A llvm/docs/SegmentedStacks.md
R llvm/docs/SegmentedStacks.rst
A llvm/docs/StackMaps.md
R llvm/docs/StackMaps.rst
A llvm/docs/Statepoints.md
R llvm/docs/Statepoints.rst
A llvm/docs/SupportPolicy.md
R llvm/docs/SupportPolicy.rst
A llvm/docs/SystemLibrary.md
R llvm/docs/SystemLibrary.rst
A llvm/docs/TableGen/BackEnds.md
R llvm/docs/TableGen/BackEnds.rst
A llvm/docs/TableGen/BackGuide.md
R llvm/docs/TableGen/BackGuide.rst
A llvm/docs/TableGen/ProgRef.md
R llvm/docs/TableGen/ProgRef.rst
A llvm/docs/TransformMetadata.md
R llvm/docs/TransformMetadata.rst
A llvm/docs/TypeMetadata.md
R llvm/docs/TypeMetadata.rst
A llvm/docs/UndefinedBehavior.md
R llvm/docs/UndefinedBehavior.rst
A llvm/docs/VectorizationPlan.md
R llvm/docs/VectorizationPlan.rst
A llvm/docs/XRay.md
R llvm/docs/XRay.rst
A llvm/docs/XRayExample.md
R llvm/docs/XRayExample.rst
A llvm/docs/XRayFDRFormat.md
R llvm/docs/XRayFDRFormat.rst
A llvm/docs/YamlIO.md
R llvm/docs/YamlIO.rst
Log Message:
-----------
[LLVM][docs] Rename remaining reST docs to Markdown (batch 11) (#223098)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
The stacked conversion and cleanup is in #223100.
Commit: 7c55ad084c8b1503cafa42c60d88bff65919c9fa
https://github.com/llvm/llvm-project/commit/7c55ad084c8b1503cafa42c60d88bff65919c9fa
Author: Reid Kleckner <rkleckner at nvidia.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/docs/MarkedUpDisassembly.md
M llvm/docs/MeetupGuidelines.md
M llvm/docs/MemTagSanitizer.md
M llvm/docs/MemoryModelRelaxationAnnotations.md
M llvm/docs/PCSectionsMetadata.md
M llvm/docs/Projects.md
M llvm/docs/Proposals/GitHubMove.md
M llvm/docs/Proposals/TestSuite.md
M llvm/docs/Proposals/VectorPredication.md
M llvm/docs/QualGroup.md
M llvm/docs/ReleaseProcess.md
M llvm/docs/ScudoHardenedAllocator.md
M llvm/docs/Security.md
M llvm/docs/SecurityTransparencyReports.md
M llvm/docs/SegmentedStacks.md
M llvm/docs/StackMaps.md
M llvm/docs/Statepoints.md
M llvm/docs/SupportPolicy.md
M llvm/docs/SystemLibrary.md
M llvm/docs/TableGen/BackEnds.md
M llvm/docs/TableGen/BackGuide.md
M llvm/docs/TableGen/ProgRef.md
M llvm/docs/TransformMetadata.md
M llvm/docs/TypeMetadata.md
M llvm/docs/UndefinedBehavior.md
M llvm/docs/VectorizationPlan.md
M llvm/docs/XRay.md
M llvm/docs/XRayExample.md
M llvm/docs/XRayFDRFormat.md
M llvm/docs/YamlIO.md
Log Message:
-----------
[LLVM][docs] Finish MyST migration for remaining docs (batch 11) (#223100)
Migration notes:
- I left several eval-rest blocks in `TableGen/ProgRef` which uses EBNF
production lists to define grammars. This apparently doesn't work in
myst.
- Accidental list blockquotes were converted to native lists. The
project-layout and Makefile entries in `Projects` are native definition
lists.
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #223098, which is a standalone commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
This was prepared with rst2myst plus LLM-assisted cleanup.
Commit: 82b9a76acb072b5ee6dc5dd123d30b883fcc4222
https://github.com/llvm/llvm-project/commit/82b9a76acb072b5ee6dc5dd123d30b883fcc4222
Author: Zorojuro <sawantsukumar at gmail.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
A libc/cmake/modules/compiler_features/check_float80.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/float80_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
Log Message:
-----------
[libc] Enables MPFR for float80 and adds tests for it (#223800)
This temporarily only enables them where its natively avaialble i.e
where long double is float80 (x86)
Commit: 0cf45d08f5d412cdc8681709d960e65a2757e5a6
https://github.com/llvm/llvm-project/commit/0cf45d08f5d412cdc8681709d960e65a2757e5a6
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
A clang/test/Analysis/inlining-final-methods.cpp
Log Message:
-----------
[analyzer] Confidently inline final methods (#224070)
When the analyzer sees a virtual method call, it usually splits two
execution paths: one where the method is inlined, and one where it is
evaluated conservatively (i.e. invalidates stuff and returns a conjured
symbol) to represent the possibility that an overriding method is called
from a more derived class.
This commit disables this logic in the case when the method
corresponding to the (static or known dynamic) type of the object is
`final` (or the type of the object is `final`), because in these cases
we can definitely know that it is the method that is actually called.
Fixes #222960.
Commit: 27ba493781215910f560b36cd5b3b2f6c93ec5a3
https://github.com/llvm/llvm-project/commit/27ba493781215910f560b36cd5b3b2f6c93ec5a3
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
Log Message:
-----------
[AsmPrinter] Remove dead functions, types, and member variables (NFC) (#224819)
AccelTable::addEntries:
Added on November 18, 2023 in commit
b00e2f2a5f3e48fbbe2324b0b371e5657ccd969c without a definition or any
callers.
Dwarf5AccelTableWriter::Header::AbbrevTableSize:
Added on April 4, 2018 in commit
6088c23431239ff7653ec0acc74e97f4d2771834 without any uses.
ExceptionSymbolProvider:
The last uses were removed on November 22, 2022 in commit
4af73d7ebb5bf4bc2045d15ae0f4ebce56f2d86f.
DIEInteger::setValue:
The last uses were removed on May 27, 2015 in commit
e7e1d0c706826a009698341e36f8c5a44ff1571c.
DIEExpr::getValue:
Added on July 2, 2013 in commit
396ba8b495640d7a1d8ff38e70f145bb25d109df without any callers.
DIELabel::getValue:
The last uses were removed on December 5, 2013 in commit
c31fe2de4a824858c1d13a42d6fa68a5597cadb3.
CodeViewDebug::FunctionInfo::ParamSize:
Added on October 1, 2018 in commit
9ea2c01264eac590bf149cbb882a1f1bd1c2bc1b without any uses.
DwarfDebug::StringTypeLocMap / getStringTypeLoc / addStringTypeLoc:
Added on August 20, 2020 in commit
f91d18eaa946b2d2ea5a9334fb099c3e409ad2d1 without any callers.
DwarfUnit::hasContent:
The last uses were removed on November 9, 2006 in commit
97f89b11b392941f7f6f14d92024d00ad4bdbf7a.
DwarfUnit::setIndexTyDie:
The last use was removed on November 2, 2014 in commit
871c2d9d63273e326dd7fac1ce70cd0a0b604b81.
Assisted-by: Antigravity
Commit: 1c0fc1d0d8ae0d7e3cbce522466ec1b136c056a8
https://github.com/llvm/llvm-project/commit/1c0fc1d0d8ae0d7e3cbce522466ec1b136c056a8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll
Log Message:
-----------
[ConstraintElim] Use SubOverflow instead of MulOverflow + AddOverflow. (#224840)
getRowForLessEqual used MulOverflow to negate the constant offset, then
AddOverflow to add the result. MulOverflow by -1 can overflow, if the
other constant is INT64_MIN.
We can directly use SubOverflow, avoiding the extra multiply operation
and potential overflow.
This improves results in some edge cases. I do not think it will trigger
in practice, but it is also simpler and cheaper.
PR: https://github.com/llvm/llvm-project/pull/224840
Commit: 2747501774ba93685fc460abafb395e585a86b13
https://github.com/llvm/llvm-project/commit/2747501774ba93685fc460abafb395e585a86b13
Author: lntue <lntue at google.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/exp10f.h
A libc/src/__support/math/exp10f_double_eval.h
A libc/src/__support/math/exp10f_float_eval.h
M libc/src/__support/math/exp2f.h
A libc/src/__support/math/exp2f_double_eval.h
A libc/src/__support/math/exp2f_float_eval.h
A libc/src/__support/math/exp2f_float_utils.h
M libc/src/__support/math/expf.h
A libc/src/__support/math/expf_double_eval.h
A libc/src/__support/math/expf_float_eval.h
M libc/src/__support/math/expf_integer_eval.h
M libc/src/math/generic/expf.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/exhaustive_test_static_rounding.h
M libc/test/src/math/exhaustive/exp10f_test.cpp
M libc/test/src/math/exhaustive/exp2f_test.cpp
R libc/test/src/math/exhaustive/expf_static_rounding_test.cpp
M libc/test/src/math/exhaustive/expf_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2f_test.cpp
R libc/test/src/math/expf_static_rounding_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
R libc/test/src/math/smoke/expf_static_rounding_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
Log Message:
-----------
[libc][math] Add code size optimized float-only options for exp*f funtions. (#224735)
- Add float-only implementations for expf, exp2f, and exp10f optimized
for code-size.
- Reorganize function selections:
- `src/__support/math/func.h` - select implementation
- `src/__support/math/func_<type>_eval.h` - implementation with `<type>`
as intermediate computational type.
- keep different `<type>-eval` in `type_eval` namespace, so that all
options are available to be tested.
- Update smoke, unit, exhaustive tests to test all variants.
Assisted-by: Gemini is used for code size analysis and test refactoring.
---------
Co-authored-by: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Commit: 3e07839c678bed02746b66e45cace5d09d7899bd
https://github.com/llvm/llvm-project/commit/3e07839c678bed02746b66e45cace5d09d7899bd
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 82b9a76 (#224841)
This fixes 82b9a76acb072b5ee6dc5dd123d30b883fcc4222 (#223800).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=82b9a76acb072b5ee6dc5dd123d30b883fcc4222
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 8c8740bd92197171d5873f77a66bb68217926fb2
https://github.com/llvm/llvm-project/commit/8c8740bd92197171d5873f77a66bb68217926fb2
Author: lntue <lntue at google.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libc/docs/headers/math/index.rst
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/frac128.h
A libc/src/__support/frac256.h
M libc/src/__support/frac64.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/pow.h
A libc/src/__support/math/pow_accurate_128.h
A libc/src/__support/math/pow_accurate_256.h
A libc/src/__support/math/pow_fast.h
A libc/src/__support/math/pow_utils.h
M libc/test/src/math/pow_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Make pow function correctly rounded for all rounding modes. (#222827)
Fix overflow issues reported by Paul Zimmermann.
Algorithm overview:
Evaluate mainly as:
```
x^y = 2^(y * log2(x))
```
- Fast path:
- Compute `log2(x) = e_x + log2(m_x)` in double-double precision.
- Scale `y * log2(x)` and evaluate `2^(y * log2(x)) = 2^hi * 2^mid *
2^lo`
using a 64-entry lookup table for `2^mid` and a degree-5 polynomial
evaluated with Estrin's scheme for `2^lo`.
- Perform Ziv's rounding test.
- 128-bit accurate path (pow_accurate_128.h):
- If the fast path Ziv's test fails, recompute `log2` and `exp2` using
fixed-point arithmetic with Frac128 and Frac64.
- Evaluate degree-15 polynomial for `log2` and degree-11 polynomial for
exp2 with minimax coefficients generated by Sollya.
- Use Horner scheme in 2 steps: higher degree terms are evaluated
with 64-bit precision before combining into 128-bit precision.
- Detect exact and midpoint rounding boundaries using algorithm
described in
Lauter, C. and Lefevre, V., "Rounding Boundary Cases for Values of the
Exponential and Power Functions," IEEE Trans. Comput. 58(8):1063-1074.
- 256-bit accurate path (pow_accurate_256.h):
- If the 128-bit result fails the Ziv's test, recompute using 256-bit
fixed-point
arithmetic with Frac256.
- Evaluate degree-31 polynomial for `log2` and degree-21 polynomial for
`exp2` using Horner scheme in 3 steps (64-bit -> 128-bit -> 256-bit).
- Share the 64-entry table `EXP2_MID_FRAC256` with the 128-bit path.
- Add `Frac256` class in `libc/src/__support/frac256.h` for unsigned
256-bit
fixed-point arithmetic.
Assisted-by: Gemini was used for debugging, performance analysis, and
refactoring.
Commit: 0a0e6fce450fdd2b543367511c9513b6f38d47c0
https://github.com/llvm/llvm-project/commit/0a0e6fce450fdd2b543367511c9513b6f38d47c0
Author: lntue <lntue at google.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/mathvec/exhaustive/CMakeLists.txt
M libc/test/src/mathvec/exhaustive/exp10f_test.cpp
M libc/test/src/mathvec/exhaustive/exp2f_test.cpp
M libc/test/src/mathvec/exhaustive/expf_test.cpp
M libc/test/src/mathvec/exp10f_test.cpp
M libc/test/src/mathvec/exp2f_test.cpp
M libc/test/src/mathvec/expf_test.cpp
Log Message:
-----------
[libc][mathvec] Explicitly test against scalar double precision versions for exp*f. (#224854)
This fixes mathvec tests failures on amdgpu for
https://github.com/llvm/llvm-project/pull/224735.
Commit: f4149f6f16c716241036b2d01b6e9a28f6fb5325
https://github.com/llvm/llvm-project/commit/f4149f6f16c716241036b2d01b6e9a28f6fb5325
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
Log Message:
-----------
ARM: Fix mixed dead and not-dead LR operands in vlldm-vlstm-uops.mir (#224825)
This operand list had LR listed twice, once from its implicit-defs on
the instruction definition, and another in the variadic argument list.
One had a dead flag, and the other didn't which should be a verifier
error in the future, so remove the redundant operand.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 0e2786dcb5b28f754a1144c27e708d1c42676af9
https://github.com/llvm/llvm-project/commit/0e2786dcb5b28f754a1144c27e708d1c42676af9
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/grp.yaml
M libc/src/grp/CMakeLists.txt
A libc/src/grp/getgrgid_r.cpp
A libc/src/grp/getgrgid_r.h
A libc/src/grp/getgrnam_r.cpp
A libc/src/grp/getgrnam_r.h
M libc/src/grp/grp_utils.cpp
M libc/src/grp/grp_utils.h
M libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrgid_r_test.cpp
A libc/test/src/grp/getgrnam_r_test.cpp
Log Message:
-----------
[libc] Add getgrnam_r and getgrgid_r entrypoints (#224722)
Add the reentrant group database lookup entrypoints getgrnam_r and
getgrgid_r along with grp::find_by_name and grp::find_by_gid in
grp_utils.
Each lookup opens a ScopedFlatFileDatabase<struct group> stream so that
reentrant lookups do not disturb an in-progress getgrent iteration.
Track group_file_path alongside the iteration database so scoped streams
opened by reentrant lookups honour test path overrides.
* Add getgrnam_r and getgrgid_r entrypoints
* Add find_by_name and find_by_gid lookup helpers in grp_utils
* Define getgrnam_r and getgrgid_r in include/grp.yaml
* Add hermetic unit tests for getgrnam_r and getgrgid_r
Assisted-by: Automated tooling, human reviewed.
Commit: 123c5db6b4e9ca0ae665db29585fe3d8757c5570
https://github.com/llvm/llvm-project/commit/123c5db6b4e9ca0ae665db29585fe3d8757c5570
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
Log Message:
-----------
workflows/libclang-abi-tests: Cache baseline results (#213503)
This way we don't need to recompute them on every run.
Commit: acd9cda52648d3acd68096697eba217226875930
https://github.com/llvm/llvm-project/commit/acd9cda52648d3acd68096697eba217226875930
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
github-upload-release: Create draft releases (#209876)
https://discourse.llvm.org/t/rfc-enabling-immutable-releases-v2/91180
Commit: c89ca1ba3d3fc40343656851fe669dc80282dfdf
https://github.com/llvm/llvm-project/commit/c89ca1ba3d3fc40343656851fe669dc80282dfdf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
Log Message:
-----------
[SLP][NFC]Add a test with a missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224865
Commit: fd2f25d59643fac8c3249c3a48c25565df9af8f2
https://github.com/llvm/llvm-project/commit/fd2f25d59643fac8c3249c3a48c25565df9af8f2
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
Log Message:
-----------
[WebKit Checkers][NFC] Thread the sink type through the local vars checker (#224862)
So an upcoming borrow checker can track assignment through indirection.
For example, in `out = &vec`, where `out`'s declared type is
`Vector<char>*&`, the relevant sink type is `Vector<char>*`.
Assisted-by: Claude
Commit: b03138a9bf86f311d6549133325ec74f102933d0
https://github.com/llvm/llvm-project/commit/b03138a9bf86f311d6549133325ec74f102933d0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[bazel] Fix the build after 8c8740bd92197171d5873f77a66bb68217926fb2/2747501774ba93685fc460abafb395e585a86b13 (#224868)
Commit: 1843845752ab38a87af6fccef55ac236c2b70dd7
https://github.com/llvm/llvm-project/commit/1843845752ab38a87af6fccef55ac236c2b70dd7
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/R600Processors.td
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
A llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AMDGPU] Add `getLDSAllocGranule` to TargetParser (#220051)
Commit: e3adc74921633fe089d78cb234faab892405f68c
https://github.com/llvm/llvm-project/commit/e3adc74921633fe089d78cb234faab892405f68c
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 551af79c9031 (#224870)
Commit: 0ada78bc80f9a0dc46910bfd2997315d1679f707
https://github.com/llvm/llvm-project/commit/0ada78bc80f9a0dc46910bfd2997315d1679f707
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port f43368b4d45e (#224871)
Commit: e31da6ab711d043a785b340d6d9add76debd237d
https://github.com/llvm/llvm-project/commit/e31da6ab711d043a785b340d6d9add76debd237d
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port fce3facdfe49 (#224872)
Commit: c37874b85b4d29fe40780ac847a628cfb4a28fe1
https://github.com/llvm/llvm-project/commit/c37874b85b4d29fe40780ac847a628cfb4a28fe1
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-19 (Sat, 19 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/test/CodeGen/AMDGPU/dead-lane.mir
A llvm/test/CodeGen/AMDGPU/detect-dead-lanes-tied-undef.mir
M llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
M llvm/test/CodeGen/X86/freeze.ll
A llvm/test/CodeGen/X86/process-implicit-defs-tied-undef.mir
M llvm/test/CodeGen/X86/regallocfast-undef-tied-use.mir
A llvm/test/MachineVerifier/tied-undef-use.mir
Log Message:
-----------
[CodeGen] Reject undef tied use sharing a virtual register with another read (#222832)
A virtual use operand, tied to a def of a different register, sharing
the register with another read, carries obligation that is hard to
follow by passes. For example, twoaddressinstruction would use different
physical registers, breaking the expectation of the `IsUndef` flag:
```
define void @f() {
%y = freeze i32 undef
%m = mul i32 %y, %y
call void asm sideeffect "# use $0", "{cx}"(i32 %m)
ret void
}
%2 = IMUL32rr undef %1(tied-def 0), undef %1 ; before twoaddressinstruction
%2 = IMUL32rr undef %2(tied-def 0), undef %1 ; after
imull %eax, %ecx ; different regs
```
RegAllocFast had the same issue until #222249. Let's just reject the
shape to retire the obligation. `%0 = XOR undef %0, undef %0` stays
legal, since rewriting that tie changes nothing.
ProcessImplicitDefs and DetectDeadLanes stop producing the rejected
form: such reads keep their IMPLICIT_DEF. Physical registers are
unaffected, so post-RA expansions like Expand2AddrUndef keep
`$eax = XOR32rr undef $eax, undef $eax`.
Aided by Opus 5
Commit: b1aa74ddcb34e88a2ab1a0a1d2a1295a8c487a33
https://github.com/llvm/llvm-project/commit/b1aa74ddcb34e88a2ab1a0a1d2a1295a8c487a33
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV][XQCI] Add a test that shows getInstSizeInBytes returning an incorrect instruction size. NFC (#224787)
Follow up to https://github.com/llvm/llvm-project/pull/223913 that shows
`getInstSizeInBytes` returning an incorrect instruction size of 2 when
the 6 byte `Xqci` instruction compresses to a 4 byte instruction.
An AI agent assisted in the generation of the test.
Commit: 761561a0b41fb35e6d52b3498e8ca20073753b18
https://github.com/llvm/llvm-project/commit/761561a0b41fb35e6d52b3498e8ca20073753b18
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
Log Message:
-----------
[lldb/test] Skip test_scripted_process_addressable_bits on Windows (#224878)
This test is the first one in its directory to reach `self.build()` on
Windows, where the Makefile only knows how to build a dylib, so linking
the test binary fails on an undefined `baz` symbol.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 780937f68bfd726b3e45dd2de14d0d152e075147
https://github.com/llvm/llvm-project/commit/780937f68bfd726b3e45dd2de14d0d152e075147
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
A clang/test/AST/ByteCode/Inputs/default-ctor.cppm
A clang/test/AST/ByteCode/module-default-ctor.cpp
Log Message:
-----------
[clang][bytecode] Add a special opcode for trivial default initializers (#224839)
Trivial default initializers from modules are not implicitly defined in
the AST, so we would diagnose the attached test case as an undefined
constructor. Do what the current interpreter does and special-case this.
Fixes https://github.com/llvm/llvm-project/issues/221400
Commit: c4f702aed65d0f9af31f60849846b2bb31d8fbb0
https://github.com/llvm/llvm-project/commit/c4f702aed65d0f9af31f60849846b2bb31d8fbb0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Remove unnecessary pointer type checks in CheckLoad/CheckStore (#224884)
Only check the pointer type once.
Commit: 08daaa8e376a5dcd9be7894dbd071920a7de154a
https://github.com/llvm/llvm-project/commit/08daaa8e376a5dcd9be7894dbd071920a7de154a
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/queue
M libcxx/include/stack
A libcxx/test/std/containers/container.adaptors/flat.map/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.multimap/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.verify.cpp
Log Message:
-----------
[libc++] Update container adaptors' type verification tests (#224810)
1. Improves the error message for LWG2566.
2. Converts related compile.fail.cpp tests to verify.cpp tests.
3. Updates all related tests.
4. Removes some redundant tests (e.g. `[[nodiscard]]` is tested
elsewhere).
References:
- https://wg21.link/lwg2566
- https://wg21.link/container.adaptors
- https://wg21.link/flat.map.overview#7
- https://wg21.link/flat.map.overview#8
- https://wg21.link/flat.multimap.overview#7
- https://wg21.link/flat.multimap.overview#8
- https://wg21.link/flat.multiset.overview#7
- https://wg21.link/flat.multiset.overview#8
- https://wg21.link/flat.set.overview#7
- https://wg21.link/flat.set.overview#8
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: 383f4cf28f19443bd4aacc7cda9d08ae6cacfa0c
https://github.com/llvm/llvm-project/commit/383f4cf28f19443bd4aacc7cda9d08ae6cacfa0c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/Dlfcn.h
A llvm/include/llvm/ExecutionEngine/Orc/DlfcnSPS.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/DlfcnSPSCI.h
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC] Drive LLJIT dlopen/dlupdate/dlclose via proxies (#224881)
Add Dlfcn proxies (Dlfcn.h), their SPS specs (DlfcnSPS.h) and CI
descriptors (DlfcnSPSCI.h), and route ORCPlatformSupport's three
callSPSWrapper sites through them via recordProxy.
Commit: d9d4b55c9157bb86b8a0bd93011bed82f67cc51f
https://github.com/llvm/llvm-project/commit/d9d4b55c9157bb86b8a0bd93011bed82f67cc51f
Author: Cyrus Ding <91178148+dingcyrus at users.noreply.github.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/NVPTX/insert-vector-elt-shuffle-i8.ll
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison/isGuaranteedNotToBeUndefOrPoison - SCALAR_TO_VECTOR upper elements are poison (#217185)
ISD::SCALAR_TO_VECTOR documents its upper elements (1..N-1) as poison,
not undef. Update both helpers to use includesPoison(Kind) instead of
includesUndef(Kind) when those elements are demanded, so PoisonOnly
queries correctly report that the upper elements can create poison and
are not guaranteed to be poison-free.
AI assistance was used for code review analysis and local build
verification.
Fixes #217028
Commit: 2ef90337355eee4384d4ac61bf038175a24583ab
https://github.com/llvm/llvm-project/commit/2ef90337355eee4384d4ac61bf038175a24583ab
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/InterpState.h
Log Message:
-----------
[clang][bytecode] Use InterpState's allocator in DynamicAllocator (#224893)
This saves us yet another BumpPtrAllocator.
Commit: 6e505dbe194cd2cfb43e6de90e1e109d448800c9
https://github.com/llvm/llvm-project/commit/6e505dbe194cd2cfb43e6de90e1e109d448800c9
Author: Demo_mod <gaurvansh133 at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/test/Parser/decltype-crash.cpp
Log Message:
-----------
[clang][test] Add regression test for invalid 'int decltype {}' (#224855)
The parser crash on `int decltype {}` was fixed by #211221, but the test
it added only covers the `= 0` forms. Add the brace-init form reported
in the issue.
Fixes #165246
Commit: 67cb38c384b5e4a3a75b436259a6e20c8d9fbffd
https://github.com/llvm/llvm-project/commit/67cb38c384b5e4a3a75b436259a6e20c8d9fbffd
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/test/Transforms/HipStdPar/math-fixup.ll
Log Message:
-----------
[HIPSTDPAR] Add `sincos` support (#224620)
The math fixup pass for `hipstdpar` only supported standard library math
functions. Due to #194616, combining `sin` + `cos` into `sincos` becomes
possible, so whilst `sincos` itself is not (yet) a standard library
interface, it has to be handled as well. This extends the set of covered
intrinsics to include it.
Commit: aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
https://github.com/llvm/llvm-project/commit/aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/AST/ByteCode/Inputs/module.modulemap
A clang/test/AST/ByteCode/Inputs/redecl1.h
A clang/test/AST/ByteCode/module-redecl1.cpp
M clang/test/Modules/pr102360.cppm
M clang/test/Modules/redecl-add-after-load.cpp
Log Message:
-----------
[clang][bytecode] Notify bytecode interpreter after deserializing constant global declarations (#198062)
The problem looks something like this:
```c++
extern const int m;
constexpr int getm() { return m; }
const int m = 12;
static_assert(getm() == 12);
```
The generated bytecode for `getm()` references a global variable stored
in `interp::Program`. This variable is uninitialized when the bytecode
is generated, but since it's extern, that's not diagnosed (because it
might be initialized later).
When we parse the redeclaration of `m` on line 4, we evaluate its
initializer via `Expr::EvaluateAsInitializer`, which makes the bytecode
interpreter aware that `m` has been redeclared. It will create a new
global for the new declaration and make the previous global point to the
new one. When the bytecode is then evaluated in the `static_assert`,
there is no problem.
However, when the redeclaration isn't part of the TU but gets
de-serialized via a module (which is the case in
`test/Modules/redecl-add-after-load.cpp`), we don't call
`EvaluateAsInitializer`, we don't even necessarily de-serialize the
initializer expression at all. So the bytecode interpreter doesn't know
about the new declaration and the static_assert ultimately fails because
`m` is not initialized.
Marking this as a draft PR since I'm not sure this is the best way to do
this and if bytecode-specific things in other parts of the code base are
tolerated.
Commit: 5363b70ced4a88258e90a4d93e7887bf9614e53e
https://github.com/llvm/llvm-project/commit/5363b70ced4a88258e90a4d93e7887bf9614e53e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/PowerPC/extracted-subfields-be.ll
M llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields.ll
Log Message:
-----------
[SLP][NFC]Add extra tests for bitcasts-based vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/224916
Commit: 335793850c499195d9af75715bbbe84ce272666b
https://github.com/llvm/llvm-project/commit/335793850c499195d9af75715bbbe84ce272666b
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
Log Message:
-----------
[SCEV] Increase RewriteMap default size (NFC). (#224864)
The old automatic default of 4 inline buckets meant that in practice we
were frequently hitting the grow path to 64 buckets, causing unnecessary
memory traffic.
SCEVRewriteVisitor is used each time loop guards are applied and the new
default improves compile-time slightly for SCEV-heavy workloads. Geomean
improves by -0.03%, but mafft and lencod see bigger wins:
https://llvm-compile-time-tracker.com/compare.php?from=7c55ad084c8b1503cafa42c60d88bff65919c9fa&to=c1f14fba38c4cd7b282709d8bd9481d28642b2c6&stat=instructions:u
It mostly makes applying loop guards cheaper, making it easier to use in
more places in the future.
PR: https://github.com/llvm/llvm-project/pull/224864
Commit: 99da24b8fd7141c0eb02292e183bc5e97eb55a87
https://github.com/llvm/llvm-project/commit/99da24b8fd7141c0eb02292e183bc5e97eb55a87
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getPSHUFShuffleMask - use PSHUFD/LW/HW decodes directly. NFC. (#224900)
Don't bother going through getTargetShuffleMask and checking for a
repeated lane mask when all we care about is the mask[4] permute mask -
PSHUFLW/HW don't even need the full 128-bit lane mask!
Commit: f28f0baf480125fd1a0b70c39c316778e3794b13
https://github.com/llvm/llvm-project/commit/f28f0baf480125fd1a0b70c39c316778e3794b13
Author: Feng Zou <feng.zou at intel.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/optimize-compare-multipred.mir
Log Message:
-----------
[X86][APX] Fix EFLAGS reuse across cycles (#223613)
optimizeCompareInstr's multi-predecessor NF reuse (added in
ab39c491430e) did not scan the below-CmpInstr region of CmpMBB when
CmpMBB was on a CFG cycle: that region is on the back-edge path but is
scanned by neither the caller nor the helper's predecessor walk. A
non-NF-convertible EFLAGS clobber there (e.g. an unrelated CMP feeding a
JCC, as in the reproducer below with VUCOMISS/CTEST/COPY-\$eflags) still
let the helper delete the redundant compare and mark \$eflags live-in on
CmpMBB. That broke the reused EFLAGS on iteration 2+ and tripped
X86FlagsCopyLowering's SuccMBB == TestMBB self-loop check with a fatal
report_fatal_error when a preexisting COPY \$eflags save/restore sat in
the cycle.
Reproducer: https://godbolt.org/z/s58j5zxqd
Detect CmpMBB on a cycle via a forward-reachability BFS on its
successors and, when so, scan from just after CmpInstr to the block's
end: bail on any non-NF-convertible EFLAGS clobber, stage NF-convertible
ones. The rest of the helper is unchanged.
Tests exercise the bail paths (selfloop_shadow_below,
twoblock_cycle_shadow_below, threeblock_cycle_shadow_below,
selfloop_nfconvertible_below_cap), the positive stage-and-succeed path
(selfloop_nfconvertible_below), and the CmpMBB-not-on-cycle skip path
(multipred_above_cmpmbb).
Fixes: https://github.com/llvm/llvm-project/issues/223282
Assisted by Claude Code.
Commit: 35a11e0d32bd6f8f4eb343a5aeeee1ef401828b8
https://github.com/llvm/llvm-project/commit/35a11e0d32bd6f8f4eb343a5aeeee1ef401828b8
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M orc-rt/lib/bedrock/sys/posix/DynamicLibrary.cpp
M orc-rt/lib/bedrock/sys/posix/Memory.cpp
M orc-rt/lib/bedrock/sys/posix/PageSize.cpp
M orc-rt/lib/bedrock/sys/posix/SocketHandle.cpp
Log Message:
-----------
[orc-rt] Drop emacs mode lines from .cpp files. (#224928)
These aren't needed for .cpp files where emacs can infer the mode from
the file extension.
Commit: 1e469c741cf0f4c80fdff8749336366a8a5699a4
https://github.com/llvm/llvm-project/commit/1e469c741cf0f4c80fdff8749336366a8a5699a4
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/test/MC/RISCV/corev/XCVsimd-invalid.s
M llvm/test/MC/RISCV/corev/XCVsimd.s
Log Message:
-----------
[RISCV] Fix immediate operand ranges for XCVsimd instructions (#224876)
See link:
-
https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html#simd-bit-manipulation-operations
-
https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html#simd-shuffle-and-pack-operations
Commit: 04865d44edd515cd20ae7037f176e23d2b155544
https://github.com/llvm/llvm-project/commit/04865d44edd515cd20ae7037f176e23d2b155544
Author: knickish <knickish at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/test/CodeGen/M68k/inline-asm.ll
M llvm/test/MC/M68k/Data/Classes/MxMoveCCR.s
M llvm/test/MC/M68k/Data/Classes/MxMoveSR.s
Log Message:
-----------
[M68k] Add Imm source for MOVE to CCR/SR (#207590)
closes #165077, just adds the imm addressing mode to MOVE to SR/CCR
Commit: fbc222615d759435d4848e54987053fe5b614ce3
https://github.com/llvm/llvm-project/commit/fbc222615d759435d4848e54987053fe5b614ce3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.h
Log Message:
-----------
CodeGen: Pass instruction and operand index to isPCRelRegisterOperandLegal (#219420)
Replace the MachineOperand argument to the
TargetInstrInfo::isPCRelRegisterOperandLegal hook with the containing
instruction and operand index. The M68k implementation only used the
operand
to recover its parent instruction and operand number, so this drops the
dependence on MachineOperand::getParent().
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 0de53b0cf6500ad29ba50f64daccf0d6b91fc1fb
https://github.com/llvm/llvm-project/commit/0de53b0cf6500ad29ba50f64daccf0d6b91fc1fb
Author: hev <wangrui at loongson.cn>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchMemoryBarrierOpt.cpp
M llvm/test/CodeGen/LoongArch/memory-barrier-opt.ll
Log Message:
-----------
[LoongArch] Drop asm part from memory barrier optimization pass (#223656)
Drop the inline asm part from #218597, which violates inline assembly
semantics.
Commit: 0b44c51c08dcc096f1f1a48532c3da31ceccb036
https://github.com/llvm/llvm-project/commit/0b44c51c08dcc096f1f1a48532c3da31ceccb036
Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/AArch64/sve-vector-interleave-legalize.ll
Log Message:
-----------
[SDAG] Handle widened operands for scalable PromoteIntRes_CONCAT_VECTORS (#224274)
Commit: 5640ecf3d362b9f3bf5d2d9f98631f2c1f0da5c8
https://github.com/llvm/llvm-project/commit/5640ecf3d362b9f3bf5d2d9f98631f2c1f0da5c8
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/R600ISelLowering.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIMachineScheduler.h
Log Message:
-----------
[AMDGPU] Remove dead function and method declarations (NFC) (#224889)
createLowerWWMCopiesPass:
Added on July 28, 2023 in commit
4d42e8b5d1fa87e49768d100dd1bc53515391e89 without a definition or any
callers.
createAMDGPUReserveWWMRegsPass:
Added on September 30, 2024 in commit
ac0f64f06d67a93817ccd9a3c529ad40920115c9 without a definition or any
callers.
createAMDGPUStructurizeCFGPass:
The definition and callers were removed on June 19, 2013 in commit
d46fce11412636ec9cca038e1f2b1addf1690f00.
AMDGPUTargetLowering::LowerSTORE:
The definition was split into R600TargetLowering::LowerSTORE and
SITargetLowering::LowerSTORE on February 11, 2016 in commit
952456631458e638fdcc2509611c356bf0aa2bed.
AMDGPULibFuncBase::Param::mangleItanium,
AMDGPUMangledLibFunc::mangleName:
Added on August 11, 2017 in commit
7f37794ebd2c6c36224597800e4d1e5a99ad80e9 without definitions or any
callers.
AMDGPUTargetMachine::getSubtargetImpl():
The 0-argument overload definition and callers were removed on June
27, 2016 in commit 59c0ffa22ad2d0b3948c545b4eb442173a71633a.
GCNRPTracker::bumpDeadDefs:
Added on October 9, 2024 in commit
17bc959961aa5792821516b547100316fc886ab4 without a definition or any
callers.
PreRARematStage::ScoredRemat::rematerialize (3-argument overload):
The definition and callers were removed on April 11, 2026 in commit
42127fa2775ca9102d4be00cafbe0fcd6f25299d.
GCNSubtarget::getMaxLocalMemSizeWithWaveCount:
Moved to base class AMDGPUCommonSubtarget (now AMDGPUSubtarget) on
June 28, 2018 in commit c5a154db48c3cd9e16b5c74977d506415414daf7.
AMDGPUInstPrinter::printRegOperand (2-argument overload):
The definition and callers were removed on April 8, 2015 in commit
d7e6f13671e4f36c038b1a671697196b7b72db27.
AMDGPUInstPrinter::printLiteral, printLast, printNeg, printOMOD,
printRel, printUpdateExecMask, printUpdatePred, printWrite,
printBankSwizzle, printRSel, printCT, printKCache:
The definitions and callers were removed on June 28, 2018 in commit
c5a154db48c3cd9e16b5c74977d506415414daf7 after moving to
R600InstPrinter in commit a096b126285422933800f776b6eb830d40fed335.
R600TargetLowering::getSubtarget:
The definition and callers were removed on June 28, 2018 in commit
c5a154db48c3cd9e16b5c74977d506415414daf7.
R600InstrInfo::isFlagSet:
Added on December 11, 2012 in commit
75aadc2813824e18449e08a99690a6f886fadf13 without a definition or any
callers.
SIFixSGPRCopies::prepareRegSequenceAndPHIs:
Added on September 7, 2022 in commit
2e8817b90a9aa38c681ca1bb9075f9e8eed3f6e8 without a definition or any
callers.
SIScheduleBlockScheduler::schedule:
Added on January 13, 2016 in commit
02c3291566ff670d3fe1a7a20ba866cbe4c48266 without a definition or any
callers.
Assisted-by: Antigravity
Commit: 52500486a0b723a1d9528e3098901702da837c3d
https://github.com/llvm/llvm-project/commit/52500486a0b723a1d9528e3098901702da837c3d
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/test/CodeGen/Mips/cconv/arguments-float.ll
M llvm/test/CodeGen/Mips/cconv/arguments-struct.ll
M llvm/test/CodeGen/Mips/cconv/arguments-varargs.ll
M llvm/test/CodeGen/Mips/cconv/arguments.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved-float.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
A llvm/test/CodeGen/Mips/cconv/o32-fp64-gpr-moves.ll
A llvm/test/CodeGen/Mips/cconv/o32-mips64.ll
M llvm/test/CodeGen/Mips/cconv/reserved-space.ll
M llvm/test/CodeGen/Mips/cconv/return-float.ll
M llvm/test/CodeGen/Mips/cconv/return-hard-float.ll
M llvm/test/CodeGen/Mips/cconv/return-struct.ll
M llvm/test/CodeGen/Mips/cconv/return.ll
M llvm/test/CodeGen/Mips/cconv/stack-alignment.ll
Log Message:
-----------
[Mips] Fix O32 lowering on 64-bit CPUs (#224937)
Use 32-bit GPR lowering for O32 while preserving the selected ISA and
FPR mode. Handle FP64 transfers through the stack when high-half moves
are unavailable.
Commit: fa360c3b8dbfd8a449364b7a6e454878bcf00eb9
https://github.com/llvm/llvm-project/commit/fa360c3b8dbfd8a449364b7a6e454878bcf00eb9
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/mul-with-overflow.ll
A llvm/test/Transforms/ConstraintElimination/uadd-with-overflow.ll
M llvm/test/Transforms/ConstraintElimination/usub-with-overflow.ll
Log Message:
-----------
[ConstraintElim] Simplify all overflow intrinsics using isKnownNoWrap. (#224848)
Use isKnownNoWrap overload added in
https://github.com/llvm/llvm-project/pull/224758 to simplify all
supported overflowing math intrinsics.
Enables additional simplifications in a few more cases in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1368.
And more simplifications in Swift, which uses overflow intrinsics
extensively.
Compile-time impact in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=7a02bcc9189b467efbb071ab25d99273fefc54da&to=9a224fd59f971aa94b0e3509dcceae3bffb7ec81&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/224848
Commit: 66155d8a7409128e8c427cf5642847e01e40cb37
https://github.com/llvm/llvm-project/commit/66155d8a7409128e8c427cf5642847e01e40cb37
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
Log Message:
-----------
[SelectionDAG] Document that ISD::ADDE/SUBE/ADDC/SUBC use glue. NFC (#224765)
Commit: 51d290508d4dd980c3ba03bcc873926c41c6e591
https://github.com/llvm/llvm-project/commit/51d290508d4dd980c3ba03bcc873926c41c6e591
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner] Restrict combineOrOfSetCCToUSUBOCarry to ZeroOrOneBooleanContent. (#224759)
We need to ensure the carry in matches boolean contents. We are checking
MaskedValueIsZero which is only valid for ZeroOrOneBooleanContent.
We could check ComputeNumSignBits for ZeroOrNegativeOneBooleanContent,
but no in tree target supports USUBO_CARRY and
ZeroOrNegativeOneBooleanContent.
This was an oversight in #223396 due to incorrect documentation for
USUBO_CARRY. I will fix that in a separate patch.
Commit: ffe46933084f1340211b1e4078d2920996b8e038
https://github.com/llvm/llvm-project/commit/ffe46933084f1340211b1e4078d2920996b8e038
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
Log Message:
-----------
[SelectionDAG] Document that UADDO/USUBO_CARRRY follow getBooleanContents. NFC (#224764)
Use 'true' instead of '1'.
Follow up from post commit discussion in #223396.
Commit: c2e0c82edaa4f9a5b5615b67d3ed1768556222ff
https://github.com/llvm/llvm-project/commit/c2e0c82edaa4f9a5b5615b67d3ed1768556222ff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Add UImmLsbZeroAsmOperand class to use isUImmShifted<N, S> as the PredicateMethod. NFC (#224789)
Allows us to remove some wrappers from RISCVAsmParser.
Commit: 27eb38144a2bc40e989cdefb8265b6eb7aedb21b
https://github.com/llvm/llvm-project/commit/27eb38144a2bc40e989cdefb8265b6eb7aedb21b
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-t.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
Log Message:
-----------
[clang-tidy] Add detection of decltype(nullptr) => std::nullptr_t to modernize-use-nullptr (#224591)
Hidden behind an option switch, but on by default.
Commit: d0dc3b038f526cf85fb707cc821f4db33d3cfbcb
https://github.com/llvm/llvm-project/commit/d0dc3b038f526cf85fb707cc821f4db33d3cfbcb
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M libcxx/include/CMakeLists.txt
A libcxx/include/__iterator/static_packed_bounded_iter.h
M libcxx/include/module.modulemap.in
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/ctor.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/layout.compile.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/types.compile.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/valid.verify.cpp
Log Message:
-----------
[libc++] Add a compact, bounded iterator (#208271)
- By taking advantage of unused alignment bits for a pointer of type `T`
and the static capacity known at compile time, we can make a compact
bounded iterator who's size == `sizeof(T*)` by stuffing a counter inside
those bits.
- This new iterator type is `static_packed_bounded_iterator<class _Ptr, size_t _RangeCapacity>` and is only valid if:
- `_Ptr` is a pointer
- `_RangeCapacity` is <= `(1 << (bit_width(alignof(T)) - 1)) - 1`. The
extra -1 is required, because we need to represent the end position past
the last element.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 32080ffd98b12a7f4733181790b21ff62f9f31ba
https://github.com/llvm/llvm-project/commit/32080ffd98b12a7f4733181790b21ff62f9f31ba
Author: techmetx11 <114311037+techmetx11 at users.noreply.github.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrControl.td
A llvm/test/MC/M68k/Control/Classes/MxDBcc.s
Log Message:
-----------
[M68k][MC] Add support for DBcc instructions (#193930)
Commit: 1d655b0b72ce2a328e9cb307dfce3048c5700d7a
https://github.com/llvm/llvm-project/commit/1d655b0b72ce2a328e9cb307dfce3048c5700d7a
Author: knickish <knickish at gmail.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Target/M68k/M68kInstrControl.td
R llvm/test/MC/M68k/Control/Classes/MxDBcc.s
Log Message:
-----------
[M68k][MC] Revert "Add support for DBcc instructions" (#224950)"
llvm/llvm-project#193930 [broke m68k
builds](https://github.com/llvm/llvm-project/pull/193930#issuecomment-5751632991),
reverting
Commit: 4ffcaf61b123ba27c71daf8da7f8eb03ffdd748b
https://github.com/llvm/llvm-project/commit/4ffcaf61b123ba27c71daf8da7f8eb03ffdd748b
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M lldb/source/API/SBProgress.cpp
M lldb/source/Core/Progress.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBProgressTest.cpp
Log Message:
-----------
[lldb][SBAPI] Fix crash when calling SBProgress constructor. (#224176)
Fix crash when calling SBProgress constructor with nullptr.
Commit: 8692dda92022dc121e720b8f096e9dfdd6c00282
https://github.com/llvm/llvm-project/commit/8692dda92022dc121e720b8f096e9dfdd6c00282
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/docs/CommandLine.md
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Remove cl::multi_val (#224959)
Nothing uses it: the last user, llvm-nm, moved to OptTable. The feature
would block migration to TableGen based representation.
LLM-aided
Commit: be9e98270a4948e43b6555c7a5908bc9644209f1
https://github.com/llvm/llvm-project/commit/be9e98270a4948e43b6555c7a5908bc9644209f1
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M libc/include/sys/mman.yaml
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/mlock2.h
Log Message:
-----------
[libc] Fix mlock, mlock2, and munlock signatures (#224905)
Updated libc/include/sys/mman.yaml so the first parameter of mlock,
mlock2, and munlock is const void * rather than void *.
Updated libc/src/sys/mman/mlock2.h and
libc/src/sys/mman/linux/mlock2.cpp so the flags parameter is unsigned
int rather than int.
Assisted-by: Automated tooling, human reviewed.
Commit: f28e7b16b90e3b6e7b38a3399b279308f636f172
https://github.com/llvm/llvm-project/commit/f28e7b16b90e3b6e7b38a3399b279308f636f172
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/speculative-load.ll
A llvm/test/Analysis/CostModel/X86/speculative-load.ll
A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-basic.ll
A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-load-types.ll
A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-safety.ll
A llvm/test/Transforms/LoopVectorize/AArch64/early-exit-with-speculative-load-scalable.ll
A llvm/test/Transforms/LoopVectorize/VPlan/AArch64/early-exit-with-speculative-load-oracle.ll
M llvm/test/Transforms/LoopVectorize/unsupported_early_exit.ll
Log Message:
-----------
[LV] Add tests for early-exit loops with faulting loads (NFC). (#224762)
Pre-committing the tests for using @llvm.speculative.load intrinsic in
LoopVectorize.
Commit: cd5a0a4f07c92c65b23436d38b5aa8aa150f06dc
https://github.com/llvm/llvm-project/commit/cd5a0a4f07c92c65b23436d38b5aa8aa150f06dc
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
Log Message:
-----------
[libc] Move File::close out of line to file.cpp (#224901)
Moved File::close from src/__support/File/file.h into
src/__support/File/file.cpp and removed #include
"src/__support/CPP/new.h" from file.h, matching Dir::close in
src/__support/File/dir.h.
src/__support/CPP/new.h renames global operator delete via __asm__ to
__llvm_libc_delete (which calls free) for the entire translation unit
without renaming operator new. Including new.h in file.h leaked this
replacement operator delete into unit test translation units that
include file.h, causing an AddressSanitizer alloc-dealloc-mismatch in
Test::createCallable during death tests.
Assisted-by: Automated tooling, human reviewed.
Commit: 480adef267b7e225ea52b11d0e1b8516657309ff
https://github.com/llvm/llvm-project/commit/480adef267b7e225ea52b11d0e1b8516657309ff
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M lldb/bindings/interface/SBStringListExtensions.i
A lldb/test/API/python_api/sbstringlist/TestSBStringList.py
Log Message:
-----------
[lldb] Implement the `__repr__` method for SBStringList. (#224134)
It was annoying to working with `SBStringList` from the lldb python
repl, because printing it out will produce something like.
`<lldb.SBStringList; proxy of <Swig Object of type 'lldb::SBStringList
*' at 0x10556a7b0> >`.
This also implicitly implements `str(SBStringList)`.
Extend the `__getitem__` behaviour to cover integer slices. Add test
cases.
Commit: b9be4cc5100477dd5580e11808df046c08bc525b
https://github.com/llvm/llvm-project/commit/b9be4cc5100477dd5580e11808df046c08bc525b
Author: Matt <MattPD at users.noreply.github.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/memory-instr-ratio.ll
Log Message:
-----------
[LoopInterchange] Avoid overflow in the memory-instruction ratio check (#214920)
populateDependencyMatrix bails out if MaxMemInstrRatio * NumInsts is
less than NumMemInstr * NumMemInstr. Both products are computed in
32-bit unsigned arithmetic and can wrap, e.g., with
-loop-interchange-max-mem-instr-ratio=2147483648 and 20 instructions the
left product wraps to 0 and the pass rejects an otherwise eligible nest.
Compute both products in uint64_t instead, which cannot overflow as all
three operands are 32 bits wide.
Assisted-by: Claude Opus 5, GPT-5.6 Sol, GPT-6 Astra, Claude Fable 5.1.
Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
Commit: e1eb257d03f78c66d6055fe4b34ac5b02ab507b0
https://github.com/llvm/llvm-project/commit/e1eb257d03f78c66d6055fe4b34ac5b02ab507b0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/unittests/CodeGen/MFCommon.inc
Log Message:
-----------
CodeGen: Move DataLayout computation to CodeGenTargetMachineImpl's ctor (#224894)
Commit: 5c0b781b08ac55ceb4432631add3f8965146ae86
https://github.com/llvm/llvm-project/commit/5c0b781b08ac55ceb4432631add3f8965146ae86
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
Log Message:
-----------
[NFC][AMDGPU] Add tests for fpround of fadd and fsub feeding the mix instructions (#224909)
The f32 mix patterns already fold fadd and fsub into v_mad_mix_f32 and
v_fma_mix_f32, but the f16 and bf16 forms only fold fmul, so a half or
bfloat result still pays for a separate convert.
Also cover the denormal modes an f16 result depends on and an f16
source feeding an f16 or bf16 mix. The existing mad-mix-lo and
mad-mix-hi functions now flush denormals for every type rather than
for f32 alone.
Assisted-by: Claude Code Opus 5
Commit: 6e5b86fa50d16d9d3d7cec16aebb88e449e3ee32
https://github.com/llvm/llvm-project/commit/6e5b86fa50d16d9d3d7cec16aebb88e449e3ee32
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Add VPBlockUtils::replaceSuccessor helper (NFC). (#224970)
Add a helper to redirect a single edge, keeping the successor order and
updating the predecessor links of both the old and new successor. Use it
in insertBlockBefore.
Commit: b3154dfe4786e9e6e14f9810a8af62728a9edcd0
https://github.com/llvm/llvm-project/commit/b3154dfe4786e9e6e14f9810a8af62728a9edcd0
Author: Nina Zhang <nizhang8888 at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
A llvm/test/Transforms/LoopUnroll/AMDGPU/partial-unroll-threshold.ll
Log Message:
-----------
[AMDGPU] Add partial unroll threshold function attribute (#223291)
This change adds an `amdgpu-partial-unroll-threshold` function attribute
for controlling
`TargetTransformInfo::UnrollingPreferences::PartialThreshold` on a
per-function basis.
The existing `amdgpu-unroll-threshold` function attribute initializes
`UP.Threshold`, which is used for decisions about full
unrolling. However, there is currently no corresponding AMDGPU function
attribute for configuring `UP.PartialThreshold`
independently. As a result, clients of the AMDGPU backend cannot provide
an independent per-function cost threshold for partial and runtime
unrolling.
When present, the new attribute sets the base value of
`UP.PartialThreshold` for loops in that function. This allows the cost
threshold for partial and runtime unrolling to be configured
independently of the threshold used for full unrolling. Functions that
do not use the new attribute retain their existing behavior.
The AMDGPU function attribute documentation is updated accordingly. A
regression test sets `amdgpu-unroll-threshold` to zero and
`amdgpu-partial-unroll-threshold` to 30, then verifies that the loop is
partially unrolled by a factor of two without being fully unrolled.
Commit: c1b15b54ee18d35be275f04de1a5d0c5d1cd67e3
https://github.com/llvm/llvm-project/commit/c1b15b54ee18d35be275f04de1a5d0c5d1cd67e3
Author: he32 <he at uninett.no>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M clang/lib/Basic/Targets/M68k.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
Log Message:
-----------
[M68k][NetBSD] Fix alignments for NetBSD/m68k. (#207602)
Linux/m68k uses the ABI from Sun Microsystems for a.out on m68k, which
aligns ints/objects/pointers/stack on 16-bit boundaries.
NetBSD/m68k on the other hand uses the ABI from SVR4 for m68k, which
aligns ints/objects/pointers/stack on 32-bit boundaries.
This is a follow-up of
https://github.com/M680x0/issues/issues/13
Commit: 0bd330675f9eb08126e467505a0800f167084473
https://github.com/llvm/llvm-project/commit/0bd330675f9eb08126e467505a0800f167084473
Author: Mintsuki <36459316+Mintsuki at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/loongarch-toolchain.c
Log Message:
-----------
[clang][Driver] Use the bare-metal toolchain for LoongArch (#223703)
Clang did not handle loongarch32-\*-none-elf and loongarch64-\*-none-elf
in the
bare-metal toolchain, so these targets fell back to the generic ELF
toolchain,
which links by running gcc. Any -fuse-ld or --ld-path option is
forwarded to
gcc, and linking fails when there is no gcc. On a host whose gcc does
not target
LoongArch, which is the usual case when cross compiling, gcc drives the
linker
for the host, and the link fails with errors such as "a.o is
incompatible with
elf_x86_64". The generic ELF toolchain also searches /usr/local/include
and
/usr/include of the host.
The other bare-metal targets, Arm, AArch64, RISC-V, PowerPC, and x86
since
25f0d08bafa4, use the bare-metal toolchain, which runs the selected
linker
directly and does not search host include directories.
Handle LoongArch there as well. As the GNU toolchain does for LoongArch,
and the
bare-metal toolchain already does for RISC-V, pass -X to the linker, and
--no-relax with -mno-relax.
Assisted-by: Claude Code (Claude Opus 5)
Signed-off-by: Mintsuki <mintsuki at protonmail.com>
Commit: f970f59a9d4e6b8738547d01bc33e8a12df5244b
https://github.com/llvm/llvm-project/commit/f970f59a9d4e6b8738547d01bc33e8a12df5244b
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/AST/Type.cpp
A clang/test/Modules/concept-specialization-deserialization.cppm
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
Log Message:
-----------
[C++20] [Modules] Profiling non dependent noexcept expression by pointer (#224528)
Another approach to solve
https://github.com/llvm/llvm-project/issues/191361 and
https://github.com/llvm/llvm-project/issues/224180 than
https://github.com/llvm/llvm-project/pull/222148
I want to avoid competing PR but I do feel the original one's approach
seems too workaround. And I want to emphasize that, in my experience,
finding the root cause is much more harder than find the solution to me.
Many thanks to @ispeters
For the approach itself, I described them in the comments of the PR.
Note that the real problem is we were profiling something is not
completely deserialized, so that even if it is not crash, the logic is
not correct.
Commit: 316d12deb7725d55f90c01b72799df18a7d71d81
https://github.com/llvm/llvm-project/commit/316d12deb7725d55f90c01b72799df18a7d71d81
Author: Trevor Gross <tg at trevorgross.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M compiler-rt/lib/builtins/extendhfsf2.c
M compiler-rt/lib/builtins/fp_extend.h
M compiler-rt/lib/builtins/fp_trunc.h
M compiler-rt/lib/builtins/truncsfhf2.c
M llvm/include/llvm/IR/RuntimeLibcalls.td
Log Message:
-----------
[compiler-rt] Use integers for __gnu_h2f_ieee and __gnu_f2h_ieee (#220167)
In libgcc, these conversion routines use integers in the signature. In
practice compiler-rt's definition has worked because the AAPCS calling
convention passes and returns floats the same as the same-sized integer,
but this may not be the case on all platforms. Thus, update the
signatures to match GCC.
This new version calls the inlined functions directly., changing the
generated code from:
00000000 <__extendhfsf2>:
0: ee100a10 vmov r0, s0
4: e1a01000 mov r1, r0
<snip>
60: e1800001 orr r0, r0, r1
64: ee000a10 vmov s0, r0
68: e12fff1e bx lr
0000006c <__gnu_h2f_ieee>:
6c: e92d4800 push {fp, lr}
70: ee000a10 vmov s0, r0
74: ebfffffe bl 0 <__extendhfsf2>
78: ee100a10 vmov r0, s0
7c: e8bd8800 pop {fp, pc}
To:
00000000 <__extendhfsf2>:
0: ee100a10 vmov r0, s0
4: e1a01000 mov r1, r0
<snip>
60: e1800001 orr r0, r0, r1
64: ee000a10 vmov s0, r0
68: e12fff1e bx lr
0000006c <__gnu_h2f_ieee>:
6c: e1a01000 mov r1, r0
70: e7e42550 ubfx r2, r0, #10, #5
<snip>
c8: e1800001 orr r0, r0, r1
cc: e12fff1e bx lr
This avoids an unnecessary indirection and register shuffle when calling
`__gnu_h2f_ieee`. It does mean the code is effectively duplicated
however, since any given target will only ever use `__gnu_h2f_ieee` or
`__extendhfsf2` but never mix them, this is an improvement in the final
binary. (The same logic applies to `__gnu_f2h_ieee` and `__truncsfhf2`.)
Commit: bf73ea1468d190513fb887ffad08b36a1986b12c
https://github.com/llvm/llvm-project/commit/bf73ea1468d190513fb887ffad08b36a1986b12c
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll
Log Message:
-----------
[MLGO] Diagnose unavailable ML advisors under the new pass manager (#224585)
Without an ML model there is no release or development advisor
The legacy pass manager says so and uses the default advisor, but the
new one just crashed
Commit: 328836b340124fc45e8529d64bbd11d1de03d228
https://github.com/llvm/llvm-project/commit/328836b340124fc45e8529d64bbd11d1de03d228
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
Log Message:
-----------
[CIR][ABI] Honor abi::ArgInfo::CanBeFlattened in the call-conv lowering (#220579)
**Summary:**
- CanBeFlattened landed on abi::ArgInfo in main
(llvm/llvm-project#220558).
- Consume the abi::ArgInfo::CanBeFlattened flag in the CIR
call-convention lowering bridge.
Assisted by: Claude Opus 4.8
Commit: 5005bb7eb5d8517e9b476d94760269356a7e87d9
https://github.com/llvm/llvm-project/commit/5005bb7eb5d8517e9b476d94760269356a7e87d9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Check diagnosing() before calling diagnoseUnknownDecl() (#224906)
We can save some small preparations this way, e.g. calling
`getRootVarDecl()`.
Commit: 5e9e32dfeb4376adfe5e118080c73b170429e83a
https://github.com/llvm/llvm-project/commit/5e9e32dfeb4376adfe5e118080c73b170429e83a
Author: lrzlin <linrunze at loongson.cn>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
A llvm/test/CodeGen/LoongArch/frame-base-dedup-la32.mir
A llvm/test/CodeGen/LoongArch/frame-base-dedup-la64.mir
M llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll
Log Message:
-----------
[LoongArch] Introduce PseudoAddUpperImm to deduplicate stack-frame base address materialization (#217250)
This is largely inspired by
https://github.com/llvm/llvm-project/pull/211748, except some LoongArch
specific changes, which includes merge 12-bit signed immediate into
`ld/st` instructions while materializing the frame index first to
generate a `lu12i.w + add` combo if we could, instead of a `lu12i.w +
ori + add`. So that we could use a `PseudoAddUpperImm` to replace them
for `MachineLateInstrsCleanup` to deduplicate them later on.
This patch improves SPEC CPU2026 `709.cactus_r` performance by 27% (from
1.64 to 2.09).
**edit:** After replacing some `ld/st` with `ldptr/stptr` as long as
their address offset could not fit in 12-bit imm but could fit in 14-bit
one, the `709.cactus_r` slightly improved from **2.09** to **2.16**,
however this is done by `-O3 -mlasx`, with `-O3 -mlsx`, the score
remains at **2.31**, which shows its bottleneck is no longer on address
materialization.
Commit: c1324c4b3404119e3128874351eebb3400c2b5c0
https://github.com/llvm/llvm-project/commit/c1324c4b3404119e3128874351eebb3400c2b5c0
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Lower/CUDA/cuda-gpu-managed-components-order.cuf
A flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf
Log Message:
-----------
[flang][cuda] Implicitly attribute ALLOCATABLE/POINTER components as managed (#223087)
Under `-gpu=mem:managed`, `resolve-names` implicitly attributes
allocatables and
pointers declared in an ordinary scope as managed.
Apply the same attribution to components in `Post(ComponentDecl)`. An
explicitly
attributed component keeps its own attribute, and a translation unit
without
CUDA Fortran enabled is left alone.
Commit: a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc
https://github.com/llvm/llvm-project/commit/a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc
Author: Yangyu Chen <cyy at cyyself.name>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/cmov-unpredictable-flag.mir
A llvm/test/CodeGen/X86/cmov-unpredictable-mem.mir
Log Message:
-----------
[X86] Preserve node flags when combineCMov rebuilds a CMOV (#223469)
Commit: 5a50c15fa686c9c49b78631ac42b133340867ae3
https://github.com/llvm/llvm-project/commit/5a50c15fa686c9c49b78631ac42b133340867ae3
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-20 (Sun, 20 Sep 2026)
Changed paths:
M llvm/docs/CommandLine.md
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M mlir/include/mlir/Pass/PassOptions.h
Log Message:
-----------
[Support] Remove cl::Sink (#224953)
Nothing uses it: the last users, clang's offloading linker wrappers,
moved to OptTable. The feature would block migration to TableGen based
representation. An unknown option is now always an error.
LLM-aided
Commit: 32150a848d65af432361296bd4a2d7b7de6f01e1
https://github.com/llvm/llvm-project/commit/32150a848d65af432361296bd4a2d7b7de6f01e1
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/AST/OpenMPClause.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[Clang][OpenMP] NFC: Eliminate `Create/CreateEmpty` for scalar clause (#224935)
Use a normal constructor when the clause has a fixed size.
Keep `Create/CreateEmpty` only when the object needs extra tail storage.
Covers: `looprange, full, partial, bind, depobj, align`
Commit: c64686f1f0cce966ac00480dc4d1a91702536145
https://github.com/llvm/llvm-project/commit/c64686f1f0cce966ac00480dc4d1a91702536145
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Clang][OpenMP][NFC] Use `getLimitedValue` for loop transform counts (#224940)
Use `getLimitedValue()` when reading integer counts for `unroll, split,
interchange, fuse` transforms.
It avoids direct `getZExtValue()` calls and follows the existing OpenMP
count handling style.
Commit: ea52030d57087b910f6fcfe0fa5206969b48ffbd
https://github.com/llvm/llvm-project/commit/ea52030d57087b910f6fcfe0fa5206969b48ffbd
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/corev/XCVbitmanip-invalid.s
M llvm/test/MC/RISCV/corev/XCVbitmanip.s
Log Message:
-----------
[RISCV][MC] Reject invalid combined immediates for `cv.insert` (#224985)
The CV32E40P specification requires `Is3 + Is2 < 32` for `cv.insert`.
This commit fixes the MC part problem in LLVM.
Link:
https://github.com/openhwfoundation/cv32e40p/blob/cv32e40p_v1.8.3/docs/source/instruction_set_extensions.rst#L600-L604
Commit: 3eaddb5735f63ac1bfe5e27400f457fc38435fb4
https://github.com/llvm/llvm-project/commit/3eaddb5735f63ac1bfe5e27400f457fc38435fb4
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/SystemZ/CMakeLists.txt
M llvm/lib/Target/SystemZ/SystemZ.h
A llvm/lib/Target/SystemZ/SystemZAlignGlobals.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/test/CodeGen/SystemZ/la-01.ll
Log Message:
-----------
[SystemZ] Try to align globals to at least 2 bytes (#224586)
s390x has a minimum ABI alignment of 2 for globals. However, private
globals introduced by optimizations (including directly in the frontend
in the case of promotion of large const variables) are not required to
respect this ABI alignment. To avoid having to go through GOT to load an
unaligned addressed, we should try to raise the alignment of such
globals in the backend. This is done through a new SystemZ-specific
module pass.
Commit: 7d8c2a2f3436df5c564b61b75cd472f2c4a18a7e
https://github.com/llvm/llvm-project/commit/7d8c2a2f3436df5c564b61b75cd472f2c4a18a7e
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
Log Message:
-----------
[Clang] Do not apply inaccessiblememonly to ::operator new() (#224316)
Do not apply `memory(inaccessiblemem: readwrite, errnomem: write)` to
`::operator new()` style calls (as opposed to `new T`). This matches the
cases where we mark the call as `builtin`, i.e. we only consider it
inaccessiblememonly in the cases where the allocation is also elidable.
I've left the old `noalias` handling alone, so that part keeps being
applied to `::operator new()` as before. Let me know if I should move
that to EmitNewDeleteCall() as well.
Commit: 01e57356732a91d804114acf4cb389d89e9f9635
https://github.com/llvm/llvm-project/commit/01e57356732a91d804114acf4cb389d89e9f9635
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/FeatureModule.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp
Log Message:
-----------
[clangd] Extend FeatureModule hooks (#221054)
Feature modules may need to participate at points in AST construction
that `beforeExecute()` and `sawDiagnostic()` cannot represent.
This PR adds:
- `beforePPCallbacks()` for installing preprocessing observers before
clangd starts collecting include and macro events.
- `afterExecute()` for work that needs a completed AST after token
collection and traversal-scope restriction.
- `finalizeDiagnostic()` for transformations that need the complete
diagnostic, including its notes and fixes.
For example, clang-tidy needs to register preprocessing callbacks before
preamble events are replayed, run AST matchers after clangd restricts
the traversal scope, and process diagnostics after their notes and fixes
are attached.
These changes prepare moving the clang-tidy implementation into a
FeatureModule.
RFC:
https://discourse.llvm.org/t/rfc-clangd-move-clang-tidy-integration-into-a-featuremodule/91707
Commit: 1784573db1506040f89bc476fc490ce104206380
https://github.com/llvm/llvm-project/commit/1784573db1506040f89bc476fc490ce104206380
Author: ArdenYang <ardenyang0125 at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/LoopAnnotationImporter.cpp
M mlir/lib/Target/LLVMIR/LoopAnnotationTranslation.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
M mlir/test/Target/LLVMIR/loop-metadata.mlir
Log Message:
-----------
[mlir][LLVMIR] Fix loop follow-up metadata import and export (#223376)
## Problem
MLIR currently exports loop follow-up metadata by wrapping its
properties in an additional self-referencing loop ID:
```llvm
!1 = !{!"llvm.loop.unroll.followup_unrolled", !2}
!2 = distinct !{!2, !3}
!3 = !{!"llvm.loop.mustprogress"}
```
LLVM expects the properties directly after the follow-up name:
```llvm
!1 = !{!"llvm.loop.unroll.followup_unrolled", !3}
!3 = !{!"llvm.loop.mustprogress"}
```
`makeFollowupLoopID` copies the follow-up operands without unwrapping a
nested loop ID. Consequently, properties such as
`llvm.loop.mustprogress` inside the extra wrapper are not recognized as
properties of the resulting loop.
## Changes
- Export follow-up properties directly, excluding the temporary loop
ID's self-reference.
- Update import to read direct property lists.
- Preserve explicitly empty follow-ups, multiple properties, nested
follow-ups, and debug locations.
- Diagnose malformed follow-up metadata and detect cycles to prevent
infinite recursion.
An explicitly empty follow-up is different from an absent follow-up: it
specifies an empty configuration instead of leaving the transformation
to use its default follow-up attributes. Import therefore preserves it
as a non-null, empty `LoopAnnotationAttr`.
This patch corrects MLIR's representation of existing LLVM follow-up
metadata. It does not change LLVM's transformation policies or introduce
automatic attribute inheritance.
## Testing
Built `mlir-translate`, `FileCheck`, `count`, and `not` on Linux using a
Release build with assertions enabled.
All three targeted regression tests passed:
- `mlir/test/Target/LLVMIR/loop-metadata.mlir`
- `mlir/test/Target/LLVMIR/Import/metadata-loop.ll`
- `mlir/test/Target/LLVMIR/Import/import-failure.ll`
`git diff --check` also passed. The full MLIR test suite was not run.
Assisted-by: OpenAI Codex
---------
Co-authored-by: yangzihan <yangzihan at sunmmio.com>
Commit: fe62ed5134de05e1ac19ce914b15797c95eee0dd
https://github.com/llvm/llvm-project/commit/fe62ed5134de05e1ac19ce914b15797c95eee0dd
Author: Dharuni R Acharya <125176188+DharuniRAcharya at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm100f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm110f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm120f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm90a.py
M llvm/test/CodeGen/NVPTX/wmma.py
Log Message:
-----------
[NVPTX] Add support for ldmatrix extensions introduced in PTX 9.4 (#224264)
This patch adds support for `.s8.s4` types for `ldmatrix` instruction
for `.m8n16` shape introduced in PTX 9.4.
PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#warp-level-matrix-instructions-ldmatrix
---------
Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
Commit: 8f0baab45375336f4c972c4800376a4938da0d97
https://github.com/llvm/llvm-project/commit/8f0baab45375336f4c972c4800376a4938da0d97
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
Log Message:
-----------
[ORC] Drive COFFPlatform bootstrap calls via proxies (#225007)
Replace the three callSPSWrapper sites in bootstrapCOFFRuntime (platform
bootstrap, register_jitdylib, register_object_sections) with Proxy
dispatch. CI descriptors are kept local to the .cpp, since these are
COFFPlatform specific.
Commit: 5612c2710b855cccaa277890a281fdd43f3ee92b
https://github.com/llvm/llvm-project/commit/5612c2710b855cccaa277890a281fdd43f3ee92b
Author: Timur Baidusenov <timurbaidusenov at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
A llvm/test/Transforms/GVNSink/pseudo-probe.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit-macho.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-emit.ll
Log Message:
-----------
[IR] Mark llvm.pseudoprobe arguments as immarg (#224669)
Per LangRef, llvm.pseudoprobe requires constant integer arguments.
Enforce this by marking them as immarg.
In particular, this prevents invalid sinking of llvm.pseudprobe calls in
GVNSink, which would introduce a phi node for a pseudoprobe argument.
Fixes #166306.
Commit: 2ef17d9c2d8090771aecac3e2e0738eeedd38768
https://github.com/llvm/llvm-project/commit/2ef17d9c2d8090771aecac3e2e0738eeedd38768
Author: David Green <david.green at arm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
A llvm/test/CodeGen/X86/masked-store-illegal-type.ll
M llvm/test/CodeGen/X86/pr179489.ll
M llvm/test/CodeGen/X86/pr46532.ll
Log Message:
-----------
[DAG] Optimize masked store of constant lane mask to standard store (#224255)
A masked store with a constant mask enabling the first n lanes can be
lowered to a standard store of size n.
For example a masked store with masks `<1, 1, 0, 0>` or a scalable store
with mask `llvm.get.active.lane.mask.v4i1.i32(i32 0, i32 2)`
This is a recommit of #223665 with a legal type check to protect against
v1f64 stores on X86 with +avx512.
Commit: 42b886e3f1b8c0f90f69ec16d2945dde8bfeae06
https://github.com/llvm/llvm-project/commit/42b886e3f1b8c0f90f69ec16d2945dde8bfeae06
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/CommandLine.md
M llvm/lib/Support/CommandLine.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M mlir/test/Dialect/SparseTensor/external_direct.mlir
Log Message:
-----------
[Support] Accept only true, false, 1 and 0 for cl::opt<bool> (#224975)
For these internal developer options, accepting `-flag=` (empty
value)/`-flag=True`/`-flag=FALSE` is a weird quirk. To the best of my
knowledge, they are nearly never used. Drop the spellings. In the
future, we will migrate to `-flag`/`-no-flag` (or their double-dash
form).
LLM-aided
Commit: 50a32fcc14d36ecddf3b602530f0e615be9c9aa8
https://github.com/llvm/llvm-project/commit/50a32fcc14d36ecddf3b602530f0e615be9c9aa8
Author: Mariya Podchishchaeva <Mariya.Podchishchaeva at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
A clang/test/CIR/CodeGen/target-lowering-dead-block.cpp
Log Message:
-----------
[CIR] Unreacheable blocks should be target lowered (#224609)
Similar to CXXABILowering and LowerToLLVM, target lowering should also
transform unreacheable blocks to avoid legalization failures.
Commit: 3c85ce724f447a7c2e439d05817b440cb872edd3
https://github.com/llvm/llvm-project/commit/3c85ce724f447a7c2e439d05817b440cb872edd3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
Log Message:
-----------
LoongArch: Simplify handling of call pseudo operands when expanding. (#224824)
copyImplicitOperands isn't really intended for the call instruction case
where there are also variadic operands. This avoids duplicating the R1
implicit-def operand when expanding calls. This avoids having mixed dead
and not dead flags on the same register, which will fail a future
verifier check.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8f223ba273618835333666ada2a0c3145010f15b
https://github.com/llvm/llvm-project/commit/8f223ba273618835333666ada2a0c3145010f15b
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M orc-rt/CMakeLists.txt
M orc-rt/include/orc-rt-c/support/Compiler.h
M orc-rt/include/orc-rt-internal/tools/OptionParser.h
M orc-rt/include/orc-rt/support/BitmaskEnum.h
M orc-rt/include/orc-rt/support/Error.h
M orc-rt/include/orc-rt/support/ExecutorAddress.h
M orc-rt/include/orc-rt/support/bit.h
M orc-rt/lib/bedrock/CMakeLists.txt
M orc-rt/lib/bedrock/sps/AllSPSCI.cpp
A orc-rt/lib/bedrock/sys/windows/DynamicLibrary.cpp
A orc-rt/lib/bedrock/sys/windows/Memory.cpp
M orc-rt/test/unit/CMakeLists.txt
M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.cpp
M orc-rt/test/unit/Inputs/RTTICrossDylibTestLib.h
M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
M orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
M orc-rt/test/unit/bedrock/NativeDylibManagerTest.cpp
M orc-rt/test/unit/bedrock/SimpleNativeMemoryMapTest.cpp
M orc-rt/test/unit/bedrock/sps/NativeDylibManagerSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleNativeMemoryMapSPSCITest.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
M orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp
M orc-rt/test/unit/support/CallableTraitsHelperTest.cpp
M orc-rt/test/unit/support/ErrorExceptionInteropTest.cpp
M orc-rt/test/unit/support/bit-test.cpp
M orc-rt/test/unit/tools/OptionParserTest.cpp
Log Message:
-----------
[orc-rt] msvc portability (#224512)
1. designated initializers are not supported under c++17 in msvc. Clang
seems to support them.
2. Fixed constexpr issues requiring everything to be constexpr in msvc.
Mostly the bit changes.
3. Add stubs for all the platform specific code, they will land in
separate patches.
4. Enabling RTTI/Exceptions for lib and tests.
5. Disable and fix up tests so they can compile and pass, future PRs
will enable and make work properly.
6. Fixed some protection issues in simpleCA.
7. Removed posix only files and darwin only files.
Various other small fixes as necessary to get compiling.
Commit: b67d4ccd1ecdecb5a625e41ee9035eac5ae14652
https://github.com/llvm/llvm-project/commit/b67d4ccd1ecdecb5a625e41ee9035eac5ae14652
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Move getConstantStride to vputils (NFC). (#224972)
Move the helper from VPlanTransforms.cpp to vputils, so it can also be
used from other VPlan files.
Commit: cf40ab1dc19aa9b42e0725fec1e5cf34f898a4d4
https://github.com/llvm/llvm-project/commit/cf40ab1dc19aa9b42e0725fec1e5cf34f898a4d4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
R clang/test/CodeGen/WebAssembly/exception-model-flag.c
M clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
M clang/test/CodeGen/exception-model-flag.c
M clang/test/CodeGenCXX/builtins-eh-wasm.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenObjC/wasm32-eh-arc.m
M clang/test/CodeGenObjC/wasm32-eh.m
M clang/test/CodeGenObjCXX/wasm32-eh-objcxx.mm
M clang/test/Driver/wasm-toolchain.c
M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.mir
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
M llvm/test/CodeGen/WebAssembly/eh-lsda.ll
M llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
M llvm/test/CodeGen/WebAssembly/exception-legacy.ll
M llvm/test/CodeGen/WebAssembly/exception-legacy.mir
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/null-streamer.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-em-sjlj-error.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-invalid-personality.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
M llvm/test/CodeGen/WebAssembly/wasm-eh-sjlj-setjmp-within-catch.ll
Log Message:
-----------
WebAssembly: Remove -wasm-enable-eh cl::opt in favor of -exception-model=wasm (#224313)
The -wasm-enable-eh backend flag was redundant with
-exception-model=wasm: every caller paired the two, and the model already
carries the intent.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 0b665c8649f49dc8e44bec3540694b1662c16ea9
https://github.com/llvm/llvm-project/commit/0b665c8649f49dc8e44bec3540694b1662c16ea9
Author: Yangyu Chen <cyy at cyyself.name>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/cmov-unpredictable-flag.mir
M llvm/test/CodeGen/X86/cmov-unpredictable-mem.mir
Log Message:
-----------
[X86] Fix cmov-unpredictable MIR tests under expensive checks (#225011)
The machine functions have no body, so the MIR parser sets NoVRegs and
leaves TracksLiveness unset, and the verifier rejects the vregs created
by instruction selection. Declare tracksRegLiveness: true and noVRegs:
false, and add -verify-machineinstrs to the RUN lines.
Fixes https://lab.llvm.org/buildbot/#/builders/187/builds/23887 after
#223469 (commit a3d0da5c2c3cbfc1fc2d569700fd1a6b30c751dc).
Assisted-by: Claude Code:claude-fable-5-1
Commit: 3783db502a743ff25462590010c4d91d17c918b3
https://github.com/llvm/llvm-project/commit/3783db502a743ff25462590010c4d91d17c918b3
Author: Yao Qi <yao_qi at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M lldb/source/Target/Memory.cpp
Log Message:
-----------
[lldb] [NFC] Fix unused variable warning in MemoryCache::InsertPartialLine (#224973)
A Release build (assertions disabled) warns:
```
lldb/source/Target/Memory.cpp:144:18: warning: unused variable 'line_size' [-Wunused-variable]
144 | const uint32_t line_size = m_L2_cache.GetLineByteSize();
| ^~~~~~~~~
```
`line_size` was read only inside the `assert` that checks a partial-line
insert does not cross a cache line boundary. `assert` expands to nothing
when `NDEBUG` is defined, so the variable becomes unused in that
configuration.
`llvm/docs/CodingStandards.md` covers this shape directly:
```
In the first case, the call to `V.size()` is only useful for the assert,
and we don't want it executed when assertions are disabled. Code like
this should move the call into the assert itself.
```
so call `GetLineByteSize()` in the assert and drop the local.
Verified by building `lldb/source/Target/Memory.cpp` with
`-DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=OFF`: the warning
above reproduces before this change and is gone after it, with a clean
rebuild of the same object file.
Commit: 462f83ce4fff5d7fef0e6beb6b8bb2e568a5d13f
https://github.com/llvm/llvm-project/commit/462f83ce4fff5d7fef0e6beb6b8bb2e568a5d13f
Author: Victor Campos <victor.campos at arm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/CodeGen/builtin-clear-padding-codegen.c
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
Log Message:
-----------
[Clang] Fix padding clearing logic for packed boolean vectors in big endian (#224033)
The memory layout of packed boolean vectors in big endian mode is quite
involved. This patch adds support for determining the occupied bits of
this type in big endian mode, so that the correct bits are cleared as
padding.
Commit: 622e816cb4bf94ea99e2f1763c5c16b061ec80e2
https://github.com/llvm/llvm-project/commit/622e816cb4bf94ea99e2f1763c5c16b061ec80e2
Author: Luke Lau <luke at igalia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-non-native-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
M llvm/test/Transforms/LoopVectorize/VPlan/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-any-of.ll
M llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-non-const-iv-start.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll
M llvm/test/Transforms/LoopVectorize/scalarized_conditional_ops_uncountable_exits.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
A llvm/test/Transforms/LoopVectorize/single-early-exit-anyof-fold.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
Log Message:
-----------
[VPlan] Fix VPInstruction::AnyOf combine undoing freeze (#223640)
There is an any-of combine for unrolled VPlans which does:
any-of (fcmp uno A, A), (fcmp uno B, B), ...-> any-of (fcmp uno A, B)
However any-of implicitly freezes each individual operand and this means
we go from `freeze (fcmp uno A, A)` to `freeze (fcmp uno A, B)` which
isn't sound: https://alive2.llvm.org/ce/z/UdQM7C
This causes miscompiles today with early exit loops that are unrolled,
see the attached test case in single-early-exit-anyof-fold.ll.
This fixes it by explicitly modelling the freeze in VPlan. There are
three places where we use AnyOf:
1) early exit loops: the freeze needs to be applied per-lane, so apply
it as `(any-of (freeze (combined-conds-to-exit)))`
2) handleMaxMinNumReductions: we need to freeze the operands to the
min/max reductions earlier since they have multiple uses introduced and
we don't check the values aren't undef
3) handleFindLastReductions: we need to freeze Cond itself since it's
got multiple uses, but I plan on fixing this in a separate PR
Fable 5.1 was used to help generate the tests
Commit: 3c8ed91159b2144284672cf490cedd7befaba3fa
https://github.com/llvm/llvm-project/commit/3c8ed91159b2144284672cf490cedd7befaba3fa
Author: Marton Moro <moro.marton at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/combine-vmnot-setcc.ll
Log Message:
-----------
[RISCV] Fold vmnot.m of an integer compare into the compare (#222553)
Fold a mask NOT of an integer vector compare into the compare by
inverting
the condition code, so `vmsne.vi` + `vmnot.m` becomes `vmseq.vi`:
(vmxor_vl (setcc_vl a, b, cc), vmset_vl) -> (setcc_vl a, b, !cc)
Only `SETCC_VL` with integer operands, one use and an undef passthru is
handled. The NOT also flips the masked-off lanes, which the inverted compare
would copy unchanged from the passthru, so the passthru must be undef.
The mask can be anything. FP compares are excluded since the inverse of an
ordered compare is unordered.
Fixes #222158
Commit: 723be9c6fceee293c9695aa07c4f9389534934e6
https://github.com/llvm/llvm-project/commit/723be9c6fceee293c9695aa07c4f9389534934e6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/LivenessAnalysis.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
A mlir/test/Transforms/isolated-region-branch-canonicalize.mlir
A mlir/test/Transforms/remove-dead-values-function-root.mlir
A mlir/test/Transforms/remove-dead-values-nested-root.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR] `remove-dead-values` and RegionBranchOp canononicalizations fixes around the `IsolatedFromAbove` ops (#224831)
I have a downstream op which is both `RegionBranchOpInterface` and
`IsolatedFromAbove`, trying use `remove-dead-values` on it and
especially trying to use this op as pass root uncovered various issues.
* `LivenessAnalysis` were treating yielded values as dead
* `RegionBranchOpInterface` canonicalization were just asserting on
`IsolatedFromAbove`
* When rooting on `func.func` it would leave callers invalid.
* Subsequent canonicalization could reach outside the scope.
Commit: 9e36e5a44bb5ade74202b01246cab4231d202972
https://github.com/llvm/llvm-project/commit/9e36e5a44bb5ade74202b01246cab4231d202972
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr72038.cppm
Log Message:
-----------
[C++20] [Modules] Don't check redeclaration for TagUseKind::Referencekind declaration (#194546)
Close https://github.com/llvm/llvm-project/issues/72038
The reason of the issue is ISO forbids redeclaration between GMF and the
module purview.
But "struct kevent evt;" was thought to be declaration than triggers the
above issue.
In this patch, we simply not checking for cases of TagUseKind::Reference
declaration.
Commit: 16ff0ec65655a16f9a01c20d059d1e6ddb27f6b9
https://github.com/llvm/llvm-project/commit/16ff0ec65655a16f9a01c20d059d1e6ddb27f6b9
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
Log Message:
-----------
Revert "[Clang] Warn about ignored dllimport on explicit instantiations" (#224971)
Reverts llvm/llvm-project#191392
Causes wrong warnings on libc++
(https://github.com/llvm/llvm-project/pull/191392#issuecomment-5752359615).
Commit: 3d144ccf9a49b8d0f73bc32b03dd1adb2cf33830
https://github.com/llvm/llvm-project/commit/3d144ccf9a49b8d0f73bc32b03dd1adb2cf33830
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/lib/ExecutionEngine/ArmSMEStubs.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
Log Message:
-----------
[mlir] Fix ArmSME ABI stub exports (#224629)
Previously, the `MLIR_ARMSMEABISTUBS_EXPORTED` macro would expand to
`__declspec(dllimport)` when building LLVM as a dylib on Windows. This
would cause a build failure since it is an incorrect annotation on a
function definition.
The intent here is to always export the symbol, so these changes use the
`LLVM_ALWAYS_EXPORT` macro, which properly expands to the right
attribute depending on the compiler / platform.
The effort to build LLVM as a dylib is tracked in #109483.
Commit: 1758952bc409011b935ed814b36e9339f65ee006
https://github.com/llvm/llvm-project/commit/1758952bc409011b935ed814b36e9339f65ee006
Author: Fabrice de Gans <Steelskin at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[llvm] Adjust remaining LLVM_ABI annotation issues (#224619)
Following up from #224293. Some annotations cannot be automatically
adjusted by the ids-check-helper and idt:
* Only headers under llvm/include are parsed. Source files and internal
headers are not.
* Headers are parsed in release mode, so debug-only declarations are
invisible.
* idt ignores private declarations.
These were found while performing a dylib build on Windows.
The effort to build LLVM as a dylib is tracked in #109483.
Commit: 468d2e73112a8e9f5fae4e21ad53526a7dc03262
https://github.com/llvm/llvm-project/commit/468d2e73112a8e9f5fae4e21ad53526a7dc03262
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/docs/InternalsManual.md
Log Message:
-----------
[Clang] Document when to use ExtWarn and Extension (#223440)
Commit: 419a152df732336ffac80a676a81b3cd0560936b
https://github.com/llvm/llvm-project/commit/419a152df732336ffac80a676a81b3cd0560936b
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/docs/OpenMPSupport.md
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-dispatch.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Support for dispatch construct with clauses nocontext & novariants (#215877)
Support for dispatch construct with clauses nocontext & novariants clauses in MLIR
This patch adds the omp.dispatch operation to the OpenMP dialect, along
with the nocontext and novariants clauses, the verifier, and LLVM IR
translation. It is limited to the MLIR layer. Flang lowering follows in
later patches.
Part 1 of 3 of the !$omp dispatch support.
This is derived from
[203320](https://github.com/llvm/llvm-project/pull/203320) (split into 3
parts).
This also Fixes[
#203317](https://github.com/llvm/llvm-project/issues/203317)
---------
Co-authored-by: Sunil Kuravinakop <kuravina at pe31.hpc.amslabs.hpecorp.net>
Commit: 40f30ea173b50c130c01d843b612f9563ca63930
https://github.com/llvm/llvm-project/commit/40f30ea173b50c130c01d843b612f9563ca63930
Author: Rohan Shenoy <RohanRadhesh.Shenoy at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/expand-vp-int-intrinsics.ll
M llvm/test/CodeGen/X86/inc-of-add.ll
M llvm/test/CodeGen/X86/masked-udiv.ll
M llvm/test/CodeGen/X86/masked-urem.ll
M llvm/test/CodeGen/X86/sub-of-not.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vector-shift-lut.ll
Log Message:
-----------
[X86] Prefer sub-of-not for vector inc-of-add (#207695)
Avoids lengthening the dependency chain for vector conditional
increments by preferring sub-of-not for vectors. Keeps existing
inc-of-add for scalars.
Fixes #167441
Commit: 16cbb06c5ce1f1632b6d02346147caa17093e788
https://github.com/llvm/llvm-project/commit/16cbb06c5ce1f1632b6d02346147caa17093e788
Author: unexpectedlydefined <91391114+unexpectedlydefined at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/llvm-dwarfdump.md
M llvm/test/tools/llvm-dwarfdump/X86/Inputs/coverage-opt.ll
M llvm/test/tools/llvm-dwarfdump/X86/Inputs/coverage.ll
M llvm/test/tools/llvm-dwarfdump/X86/coverage.test
M llvm/tools/llvm-dwarfdump/Coverage.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h
Log Message:
-----------
[llvm-dwarfdump][LineCov] Add --variable-coverage-maybe-undefined option (#220855)
This patch adds a `--variable-coverage-maybe-undefined` flag to
llvm-dwarfdump as part of the recently implemented feature that measures
DWARF coverage of local variables in terms of source lines. This causes
the IR-level analysis to consider variables live if they are defined on
any path, and therefore include lines where the variable may be
undefined. By default, variables must be defined on all paths to be
counted.
Additionally, it includes fixes for a few issues found by @SLTozer and
myself after merging the previous patches:
- Variables not present in the DWARF information that appear in the
baseline are now included in the output.
- The assertion that there are no `undef`/`poison` variable locations in
the IR has been removed, as in some circumstances it is possible to have
a `#dbg_declare(poison)` at `-O0`.
- A small error where entries were inserted into the file name map while
iterating through it has been fixed.
Commit: 4b99afb361a8cfd45fc17aebc637688661e9e472
https://github.com/llvm/llvm-project/commit/4b99afb361a8cfd45fc17aebc637688661e9e472
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/include/mlir/IR/Remarks.h
Log Message:
-----------
[MLIR][NFC] Drop sentinel leftovers from DenseMapInfo<Remark> (#224612)
`DenseMap` no longer uses sentinel keys, and the `getEmptyKey` and
`getTombstoneKey` members of `DenseMapInfo<Remark>` were removed in
#200633 and #201991. Two leftovers stayed behind, the `"<EMPTY_KEY>"`
comparison at the top of `isEqual` and the static dummy `MLIRContext`
that used to back the sentinel remarks.
The comparison is also wrong. A remark literally named `<EMPTY_KEY>`
compares unequal to any other remark, including one with a matching
hash, which breaks the hash and equality contract. This change removes
both leftovers and adds a comment saying what the specialization
compares, which is location, remark name, combined category name and
kind.
No behaviour change for any remark with a normal name. Existing Remark
unit tests and `mlir/test/Pass/remark-final.mlir` cover the
specialization through `RemarkEmittingPolicyFinal`.
Assisted-by: Claude Code (Claude Fable 5.1).
Commit: cdae908ca061cc4bbf0d43a428107770102d460f
https://github.com/llvm/llvm-project/commit/cdae908ca061cc4bbf0d43a428107770102d460f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/elementwise-fma-operand1.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/non-commutative-second-arg-only-copyable.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reduced-copyable-element.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-indices.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-multi-same-nodes.ll
Log Message:
-----------
[SLP]Pass operand info and context to TTI cost queries
Feed operand value info, the context instruction, cast context hints,
and the actual select condition predicate to the TTI cost queries, so
target discounts that depend on them (fused fmul/fma pricing, folded
read-modify-write, constant or uniform operands) apply to both scalar
and vector sides of the SLP cost model. Also make the reversed-store
query describe the stored value instead of the pointer, per the
getMemoryOpCost contract.
Assisted-by: Cursor
Reviewers: RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/224931
Commit: 56e8f0393c6ace765f7ae8ca28bfe07151082a5b
https://github.com/llvm/llvm-project/commit/56e8f0393c6ace765f7ae8ca28bfe07151082a5b
Author: Jiaxun Yang <jiaxun.yang at flygoat.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsMachineFunction.cpp
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
A llvm/test/CodeGen/Mips/named-register-aliases.ll
M llvm/test/MC/Mips/mips-register-names-invalid.s
M llvm/test/MC/Mips/mips64-register-names-n32-n64.s
A llvm/test/TableGen/MatchRegisterAltNameWithIndex.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[Mips] Introduce ABI-specific register names and accessors (#224284)
To accommodate the P32/P64 ABIs, we need to separate machine registers
from ABI register names and calling-convention roles. The existing
register IDs use OABI names, even when another ABI assigns a different
role to the same physical register.
As a first step, describe OABI, NABI and PABI names with
RegAltNameIndices. Extend TableGen's AsmMatcherEmitter with the opt-in
ShouldEmitMatchRegisterAltNameWithIndex flag, which generates
MatchRegisterAltName(StringRef, unsigned AltIdx). It matches only names
associated with the selected index, allowing the same spelling to
identify different registers across ABIs.
Use the indexed matcher in shared MIPS register lookup for the assembler
and named-register lowering, retaining compatibility aliases and
diagnostics for deprecated spellings.
Add ABI accessors for argument, temporary, saved and return registers,
backed by shared register lists, and use them in lowering code. Keep the
existing register IDs and assembly/MIR spellings for now, with a TODO
for ABI-independent IDs.
Commit: 72e9d33d2945504159c8d316d12c187fc706b156
https://github.com/llvm/llvm-project/commit/72e9d33d2945504159c8d316d12c187fc706b156
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/arm64-zip.ll
A llvm/test/CodeGen/AArch64/vselect-widen-mask-tree.ll
M llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-sext.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
A llvm/test/CodeGen/X86/vselect-widen-mask-tree.ll
Log Message:
-----------
Reapply "[SelectionDAG] Recurse through mask expression trees in WidenVSELECTMask" (#217307)
WidenVSELECTMask currently handles only two mask shapes: a bare SETCC
or a single AND/OR/XOR of exactly two SETCCs. Anything deeper bails out
to the generic condition widening path, which often introduces
unnecessary narrow/widen roundtrips (xtn+sshll on AArch64,
packssdw+vpmovsxwd on X86).
Replace the hand-coded cases with a recursive widenMaskTree that walks
through SETCC, AND/OR/XOR, FREEZE, VECTOR_SHUFFLE, SELECT/VSELECT, and
all-ones/all-zeros BUILD_VECTORs.
I had to revert #188085 earlier this year. This PR resolves the flagged
issue and cleans up suggested approach to avoid that class of potential
errors.
Commit: 0da8b0febd7d9105a7bd8e38c576a6a469e2c40c
https://github.com/llvm/llvm-project/commit/0da8b0febd7d9105a7bd8e38c576a6a469e2c40c
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Log Message:
-----------
[MachineScheduler](NFC) Remove separate handling for non-alias loads and stores (#224310)
The separate handling of non-alias loads and stores was always extra
complexity with no pay off. Remove this.
Split from #205689
Commit: d64a0a9effc7704962e21ede22eb0f5ba24e4390
https://github.com/llvm/llvm-project/commit/d64a0a9effc7704962e21ede22eb0f5ba24e4390
Author: Nathan Corbyn <n_corbyn at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
Log Message:
-----------
[ValueTracking] Make `getUnderlyingObjectsForCodegen()` preserve unidentified objects (#224584)
In some situations, it is useful to inspect the underlying objects of a
memory operation, even if they may alias with one another. A concrete
example comes from the approach to schedule DAG construction I've been
developing (see #205689) where these objects are used to infer that a
class of control dependencies between memory operations is redundant,
whereby eliminating the compile time cost of recording them. Update
`getUnderlyingObjectsForCodegen()` to return these objects.
Split from https://github.com/llvm/llvm-project/pull/205689
Commit: 466df937833ef60bc9f549a01059869ca7143d32
https://github.com/llvm/llvm-project/commit/466df937833ef60bc9f549a01059869ca7143d32
Author: Cheng-Chieh Liu <jay87406 at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Support/APFloat.cpp
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[APFloat] Fix sign bit corrupting exponent in unsigned FP8 formats (#223286)
`convertIEEEFloatToAPInt` unconditionally ORs the sign bit into the top
bit of the encoded value. `Float8E8M0FNU` and `Float8E5M3FNU` have no
sign bit (`hasSignedRepr = false`), so that top bit actually belongs to
the exponent field. Encoding a value with sign set therefore corrupts
the exponent, in one case colliding with the reserved NaN bit pattern.
Guard the OR with `hasSignedRepr`, matching the existing check in the
decode path (`initFromIEEEAPInt`).
Extend `ConvertLosesUnrepresentableSignAndZero` to also check
`bitcastToAPInt()` after dropping an unrepresentable sign, using `-1.0`
instead of `-2.0` so the corruption is actually visible in the bits.
Commit: 8472e4556c064de7251ac82e0993bdaf05978841
https://github.com/llvm/llvm-project/commit/8472e4556c064de7251ac82e0993bdaf05978841
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/lib/Semantics/check-omp-syntax.cpp
M flang/test/Semantics/OpenMP/allocate_do1.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/depend05.f90
M flang/test/Semantics/OpenMP/depobj-construct-v52.f90
M flang/test/Semantics/OpenMP/from-clause-v45.f90
M flang/test/Semantics/OpenMP/map-modifiers-v60.f90
M flang/test/Semantics/OpenMP/to-clause-v45.f90
M flang/test/Semantics/OpenMP/uses-allocators-version50.f90
M flang/test/Semantics/OpenMP/uses-allocators-version51.f90
Log Message:
-----------
[flang][OpenMP] Reword some diagnostic messages, NFC (#224945)
Instead of "something...something in OpenMP vX.Y on SOME clause" say
"something...something on SOME clause in OpenMP vX.Y".
Commit: 038f5968616a3b466e790084bc72eab62d6a6743
https://github.com/llvm/llvm-project/commit/038f5968616a3b466e790084bc72eab62d6a6743
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/non-power-of-2-with-adjusted-gathers.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/revec-non-pow2.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction-i1-mask.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/cmp-ptr-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-cmp-swapped-pred.ll
M llvm/test/Transforms/SLPVectorizer/X86/entries-different-vf.ll
M llvm/test/Transforms/SLPVectorizer/X86/fabs-cost-softfp.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/zext-incoming-for-neg-icmp.ll
Log Message:
-----------
[SLP]Cost-based choice of the i1 reduction form
i1 reductions (and/or of <n x i1>, add of zexted <n x i1>) can be
emitted as the plain target reduction or in the bitcast-based form
(bitcast to the scalar int type plus a compare for and/or, plus ctpop
for add). Choose the cheaper form by cost, estimating the bitcast-based
form from its emitted components; the ctpop form is estimated as the
cheaper of the scalar bitcast+ctpop and the vector ctpop on the mask
type.
Fixes #40657
Reviewers: michaelselehov, RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/223163
Commit: 7818c91f7151a50df614fae9211eedfbfd32e938
https://github.com/llvm/llvm-project/commit/7818c91f7151a50df614fae9211eedfbfd32e938
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/PowerPC/convert-ri-addi-to-ri.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
M llvm/test/CodeGen/PowerPC/fixup-kill-dead-flag-crash.mir
M llvm/test/CodeGen/PowerPC/fold-rlwinm.mir
M llvm/test/CodeGen/PowerPC/fold-rot-and-peephole.mir
M llvm/test/CodeGen/PowerPC/jump-tables-collapse-rotate-remove-SrcMI.mir
M llvm/test/CodeGen/PowerPC/mi-peephole-forwarding-undef.mir
M llvm/test/CodeGen/PowerPC/mi-peephole.mir
M llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir
M llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
M llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
M llvm/test/CodeGen/PowerPC/peephole-livevars-tracking.mir
M llvm/test/CodeGen/PowerPC/peephole-miscompile-extswsli.mir
M llvm/test/CodeGen/PowerPC/rlwinm_rldicl_to_andi.mir
M llvm/test/CodeGen/PowerPC/sext_elimination.mir
Log Message:
-----------
PowerPC: Remove LiveVariables dependency from PPCMIPeephole (#222416)
PPCMIPeephole only used LiveVariables to keep kill/dead flags valid
after its transforms, and made no real use of the analysis.
A later LiveVariables run recomputes those flags from scratch anyway, so
just clear possbly stale kill/dead flags on changed registers.
PPCMIPeephole was the only user of LiveVariables at this point in the
pipeline, so also drop the explicit LiveVariables run before
PPCTLSDynamicCallPass, whose comment references a > 10 year old build
bot failure.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: 61978757eca575e2743471ddf7bcfb7e3a3979e4
https://github.com/llvm/llvm-project/commit/61978757eca575e2743471ddf7bcfb7e3a3979e4
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
M llvm/test/CodeGen/SPIRV/atomicrmw-storage-class-semantics.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
A llvm/test/CodeGen/SPIRV/fence-shader.ll
M llvm/test/CodeGen/SPIRV/fence.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchange_cl20.ll
Log Message:
-----------
[SPIR-V] Add storage class bits to fence and generic atomic semantics (#223023)
A barrier only orders the memory it names, and we named none, so fences
ordered nothing
Name every class the target can reach, generic pointers had the same gap
in atomics
Commit: 87c971d36345c0ff4f7a7ae75080bd55e83e4fca
https://github.com/llvm/llvm-project/commit/87c971d36345c0ff4f7a7ae75080bd55e83e4fca
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-root.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/loop-accumulator-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-fma-loss.ll
Log Message:
-----------
[SLP]Emit loop-carried horizontal reductions as loop vector accumulator
A reduction whose root is the backedge value of a loop accumulator phi
is emitted as a lane-wise vector accumulator in the loop plus a single
reduction in the exit blocks, instead of a horizontal reduction on every
iteration. The loop-carried dependency chain becomes lane-wise and the
reduction is paid once per loop execution.
Note: It is partial vectorization within the loop, LV cannot handle it.
SLP already does something similar with multi-register reductions,
this adds another level - phi-based loop accumulator reductions.
Reviewers: RKSimon, bababuck
Pull Request: https://github.com/llvm/llvm-project/pull/221598
Commit: 92d07f56b285805edb4ea6ca0d348b2b0f80aa2d
https://github.com/llvm/llvm-project/commit/92d07f56b285805edb4ea6ca0d348b2b0f80aa2d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h
Log Message:
-----------
[ORC] Mangle memory-access CI names as C rather than Verbatim (#225066)
Flip the memory-access wrapper descriptors (MemoryAccessSPSCI.h) from
Verbatim to C., so their names carry the target's C mangling (a leading
'_' on Darwin, no-op elsewhere). First step of moving the ORC runtime
controller-interface names to C to match an upcoming runtime change. The
controller (recordProxy) and the in-tree executor (OrcRTBootstrap,
mangledCopy) mangle these same specs, so they stay in sync; nothing else
defines these names.
Commit: dca7629f289f3dc92efb80557463f08d56255365
https://github.com/llvm/llvm-project/commit/dca7629f289f3dc92efb80557463f08d56255365
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
clang-sycl-linker: Compute the DataLayout from the triple (#224376)
Seed the module's DataLayout from the target triple directly rather than
from TargetMachine::createDataLayout().
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: df7b30abf4f1976b17c4d2c1a7177608c64dc529
https://github.com/llvm/llvm-project/commit/df7b30abf4f1976b17c4d2c1a7177608c64dc529
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Don't pass the sentinel to vector::__{insert,init}_with_size (#224583)
We don't make use of the sentinel anymore, so we don't need to pass it
around.
This was originally part of #214132. However, that patch has a difficult
to track down performance issue. I'm splitting it up to make the search
easier.
Commit: a9f4d3ff18c554d29bbabc546f9a9df0376701e0
https://github.com/llvm/llvm-project/commit/a9f4d3ff18c554d29bbabc546f9a9df0376701e0
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-vector-compress.mir
Log Message:
-----------
[GlobalISel] Add G_VECTOR_COMPRESS support of computeKnownBits & computeNumSignBits (#223967)
Port the value tracking for ISD::VECTOR_COMPRESS to the GlobalISel
G_VECTOR_COMPRESS. Each result lane is either a lane of the source or
the passthrough operand, so:
- KnownBits is the intersection of the source and passthrough and,
- the number of sign bits is the minimum of the two.
Commit: f10b0b1554d31fdea2dd3963e179fa75ea2e262e
https://github.com/llvm/llvm-project/commit/f10b0b1554d31fdea2dd3963e179fa75ea2e262e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/Wasm.cpp
Log Message:
-----------
[clang][Interpreter] Do not overwrite the module's DataLayout (#224027)
The incremental CUDA device and Wasm executors reset the module's
DataLayout from TargetMachine::createDataLayout() before codegen. These
modules are produced by clang's own CodeGen, so already have a datalayout so
this is redundant. This also avoids using the TargetMachine copy of the datalayout,
which will eventually be removed.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: d3d2960ebb9d98850662a6ce53864b10c4f94586
https://github.com/llvm/llvm-project/commit/d3d2960ebb9d98850662a6ce53864b10c4f94586
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M offload/CMakeLists.txt
M offload/liboffload/CMakeLists.txt
M offload/liboffload/src/OffloadImpl.cpp
M offload/libomptarget/CMakeLists.txt
Log Message:
-----------
[offload][omp] link libomptarget against liboffload (#221730)
This first creates a static version of liboffload and links
libomptarget against it instead of linking the plugins directly. This
allows libomptarget to access the plugins both directly and through
liboffload in the subsequent PRs to starte the migration to liboffload.
Assisted by Claude.
Commit: f5dd45d427bee1a958cfcd35b1155da9391cc4e1
https://github.com/llvm/llvm-project/commit/f5dd45d427bee1a958cfcd35b1155da9391cc4e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll
M llvm/test/Analysis/ScalarEvolution/trip-count13.ll
Log Message:
-----------
[SCEV] Use computeMaxBECountForLT for howManyGreaterThans. (#224863)
Instead of checking for overflow of IV > RHS we can instead check ~IV <
~RHS.
This allows removing canIVOverflowOnGT, by extending canIVOverflowOnLT
and computeMaxBECountForLT to invert the operands if needed, replacing
hand rolled logic in howManyGreaterThans.
This improves results in some cases, because computeMaxBECountForLT
covers some additional cases:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1371.
This is also the last step in preparation for using howManyLessThans for
howManyGreaterThans.
PR: https://github.com/llvm/llvm-project/pull/224863
Commit: 94eb926803f2fa755b3f487a4220e13ac7348c83
https://github.com/llvm/llvm-project/commit/94eb926803f2fa755b3f487a4220e13ac7348c83
Author: Kseniya Tikhomirova <kseniya.tikhomirova at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libsycl/include/sycl/__impl/queue.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/global_objects.hpp
M libsycl/src/detail/queue_impl.hpp
M libsycl/src/queue.cpp
M libsycl/unittests/event/async_handler.cpp
Log Message:
-----------
[libsycl] Integrate context to async handlers. (#224050)
Assisted-by: Claude Code.
---------
Signed-off-by: Tikhomirova, Kseniya <kseniya.tikhomirova at intel.com>
Commit: 233f1108a8235fe4568f7eae5ace8ae492825e94
https://github.com/llvm/llvm-project/commit/233f1108a8235fe4568f7eae5ace8ae492825e94
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M orc-rt/lib/bedrock/sys/windows/TargetTriple.cpp
M orc-rt/test/unit/bedrock/sys/TargetTripleTest.cpp
Log Message:
-----------
[orc-rt] Implement Windows target triple detection (#224514)
Adds Windows target triple detection for ORC-RT.
Currently supports x86-64 MSVC targets only. ARM64 will be added once
tested on that platform.
Commit: 0a40cb2bbd3d7887947c9f4a8a4a0d031e0ac76c
https://github.com/llvm/llvm-project/commit/0a40cb2bbd3d7887947c9f4a8a4a0d031e0ac76c
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
R libc/src/__support/CPP/vector.h
M libc/test/src/__support/CPP/CMakeLists.txt
R libc/test/src/__support/CPP/vector_test.cpp
Log Message:
-----------
[libc][CPP][NFC] Remove unused cpp::vector container (#224976)
Removed cpp::vector (added in 5afbbd04803c) and its unit tests.
The group and password database entrypoints now pack auxiliary pointer
arrays into the trailing scratch space of DynamicBuffer (7252edd9aa82),
leaving cpp::vector with no callers in the codebase.
Assisted-by: Automated tooling, human reviewed.
Commit: 69172de43c4cdf4fa9de7826f6f3e4174b33a0f2
https://github.com/llvm/llvm-project/commit/69172de43c4cdf4fa9de7826f6f3e4174b33a0f2
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
A clang/test/OpenMP/nvptx_target_teams_ompx_bare_kernel_environment_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_default_codegen.cpp
M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
A clang/test/OpenMP/target_teams_host_kernel_environment_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][flang][omp] Always generate a kernel environment (#223772)
Currently OpenMP doesn't generate a Kernel Enviroment for host kernels
or ompx_bare kernels. This causes the runtime to have special handling
for this cases.
This patch ensures that a Kernel Environment is always generated which
will allow to simplify the RTL handling.
Done mostly by Claude.
Commit: 3e4b32a108999591908ca254ac53aa81d7a1acb9
https://github.com/llvm/llvm-project/commit/3e4b32a108999591908ca254ac53aa81d7a1acb9
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/CMakeLists.txt
A llvm/cmake/WiXPerMachinePatch.xml
M llvm/docs/ReleaseNotes.md
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
workflows/release-binaries: Improve Windows installer (#220414)
The Windows WiX installer was missing two things for its setup:
1. The "product ID" which is used to uninstall any previous installed
LLVM versions. This avoids having versions living side-by-side with each
new release. I've reused the same GUID as the current 23.1.0 Win64
installer, to continue that "line" of product. The AArch64 installation
and any prior LLVM version (NSIS) before 23.1.0 will need to be
uninstalled manually, if we want to avoid side-by-side installatin.
2. A "per machine" scope which avoids messy installations which are
installed globally, but cannot be uninstalled globally, and available
only for the current user. After this PR, the installation is available
/ uninstallable to all users on the machine.
Since LLVM currently requires cmake 3.20 for building, and hasn't been
bumped yet to 3.31, also provide a workaround for the WiX scope setup.
Added a release note to signify that users would need to uninstall the
previous versions manually.
Assisted by Claude Opus 5.
Commit: bc9e7ae8e828ffa5f59f700a8a0d5fb54e0f6ba9
https://github.com/llvm/llvm-project/commit/bc9e7ae8e828ffa5f59f700a8a0d5fb54e0f6ba9
Author: Kamlesh Kumar <kamlesh.kumar at arm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/vector-interleave-consecutive-splats.ll
Log Message:
-----------
[SelectionDAG] fold interleave of contiguous splats (#224318)
When operands of vector_interleave is splats and each splat's is from a
contiguous source , interleave operations can be folded to shuffles of
source of splat.
i.e.
interleave(splat(S[J]), splat(S[J+1]), splat(S[J+2]), ..., splat(S[J +
Factor - 1]))
can be folded to
shuffles (S[J], S[J+1], S[J+Factor -1], S[J]....)
Commit: 04b52bf1dc212b3af60d3d071defa4e034ece382
https://github.com/llvm/llvm-project/commit/04b52bf1dc212b3af60d3d071defa4e034ece382
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/Lowering/ternary.cir
Log Message:
-----------
[CIR] Fix assertion with pointer offset in ternary (#224724)
Ternary lowers into some blocks, so the values that come into it end up
being block arguments, so there is no defining op for them. As a result,
the 'optimization' of the zero/subtract isn't really possible. THis
patch uses a dyn_cast_if_present instead of a dyn_cast to make sure we
don't hit that.
Commit: ddc7d4b3b43be5ef26671c19035761fb84a40388
https://github.com/llvm/llvm-project/commit/ddc7d4b3b43be5ef26671c19035761fb84a40388
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
M llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
Log Message:
-----------
Hexagon: Don't duplicate the PC def when converting a return to L4_return (#225059)
Commit: 1dfe26e2259d80c442f0b4be66198316e2b8229d
https://github.com/llvm/llvm-project/commit/1dfe26e2259d80c442f0b4be66198316e2b8229d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/test/LTO/ARM/runtime-library-subtarget.ll
A llvm/test/LTO/RISCV/merged-module-datalayout.ll
M llvm/test/LTO/X86/cfi_endproc.ll
M llvm/test/LTO/X86/linkonce_odr_func.ll
Log Message:
-----------
LTO: Stop overwriting the merged module's DataLayout (#223987)
LTOCodeGenerator::optimize() unconditionally reset the merged module's
DataLayout from TargetMachine::createDataLayout(). The merged module
already carries the correct DataLayout since IRMover propagates the source
module's layout into the empty destination. The module should be the source of
truth for its DataLayout.
Recomputing it from the TargetMachine is also latently wrong, since the
DataLayout depends on the target-abi module flag which the
TargetMachine's cached DataLayout cannot account for.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8bc1cbb53e6476adfc57b7ccbdda80837ac034f9
https://github.com/llvm/llvm-project/commit/8bc1cbb53e6476adfc57b7ccbdda80837ac034f9
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
Log Message:
-----------
[ORC] Mangle SimpleNativeMemoryMap CI names as C (#225074)
Flip the SimpleNativeMemoryMap memory-manager descriptors (instance +
reserve/initialize/deinitialize/release) from Verbatim to C, so their
names carry the target's C mangling. The controller and in-tree executor
mangle the same specs, and no other provider defines these names, so
they stay in sync; nothing else defines these names.
Also update the CreateFromExecutionSession test to use the process
triple so that its name mangling matches the target mangling above.
Commit: 8bc145f7c62d6d426ebfba7d2e297b4ecc9d4dd7
https://github.com/llvm/llvm-project/commit/8bc145f7c62d6d426ebfba7d2e297b4ecc9d4dd7
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_err.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_t16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop2.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop2-real16.txt
Log Message:
-----------
[AMDGPU][MC] Upstream gfx11 true16 disassembler test coverage (#223823)
Upstream new gfx11 disassembler test cases, mostly covering true16
operand
(.l/.h) and op_sel decoding that had no upstream coverage.
Commit: 95b14f3dd3db293caec8b51fad2a93373b07c587
https://github.com/llvm/llvm-project/commit/95b14f3dd3db293caec8b51fad2a93373b07c587
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libsycl/test/usm/memset.cpp
Log Message:
-----------
[libsycl][lit] Disable usm/memset.cpp (#225093)
Sporadically failing, see
https://github.com/llvm/llvm-project/issues/225092.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: fd4bcc57cd7f2aabc409768097a976edc40ff05b
https://github.com/llvm/llvm-project/commit/fd4bcc57cd7f2aabc409768097a976edc40ff05b
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
Log Message:
-----------
[AMDGPU] Do not fold clamp when only one max source has modifiers (#224517)
Fix isClamp to bail if either max source has a modifier, not only when
both do. Previously `max(x, |x|)` was wrongly folded as if it were x
Commit: b569f8d694e9cec6fef18dfde2f2a76bc9f84983
https://github.com/llvm/llvm-project/commit/b569f8d694e9cec6fef18dfde2f2a76bc9f84983
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate-nested-allocatable-mapper.f90
Log Message:
-----------
[Flang][FIR] Handle SequenceTypes in isRecordWithAllocatableMember (#224048)
Currently isRecordWithAllocatableMember does not handle sequence types,
either at the top level on the input type or in subsequent nestings, it
will effectively skip them. This is quite different to how
isRecordWithDescriptorMember handles these cases, as it does in fact
unwrap sequence types to correctly dictate if there are descriptor
members inside of a record type.
This PR simply aims to align the behaviour with
isRecordWithDescriptorMember, as there are several locations where
isRecordWithAllocatableMember is being used and the expectation is that
it will indicate if there's an allocatable member inside of the record
type irrespective of sequence types being part of the equation.
Commit: 1e635d09d53d4a8656ed92bfa139a19f1012cd3d
https://github.com/llvm/llvm-project/commit/1e635d09d53d4a8656ed92bfa139a19f1012cd3d
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M orc-rt/lib/bedrock/sys/windows/CPUFeatures.cpp
M orc-rt/test/unit/bedrock/sys/CPUFeaturesTest.cpp
Log Message:
-----------
[orc-rt] Implement Windows CPU feature detection (#224516)
Adds Windows CPU feature detection for ORC-RT.
Currently supports x86-64 using the Windows/MSVC CPU feature interfaces.
Additional architectures can be added as needed.
Commit: 975b5d2336389fbf282e38158d84aa1e14a8a304
https://github.com/llvm/llvm-project/commit/975b5d2336389fbf282e38158d84aa1e14a8a304
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/test/Driver/systemz-features.cpp
M clang/test/Sema/zvector.c
Log Message:
-----------
[SystemZ][z/OS] Extend systemz-features.cpp and zvector.c with z/OS RUN lines (#224733)
Add `s390x-ibm-zos` RUN lines to
`clang/test/Driver/systemz-features.cpp`
covering the default, `-mhtm`/`-mno-htm`, and `-mvx`/`-mno-vx` cases.
The `-mvx` z/OS lines require `-march=arch11` because the default z/OS
CPU (zEC12) pre-dates vector support.
Add a second RUN in `clang/test/Sema/zvector.c` using triple
`s390x-ibm-zos` with `-target-cpu z13` so the file is exercised under
the z/OS code path.
These test extensions were carved out from
https://github.com/llvm/llvm-project/pull/223026 per reviewer request
(@uweigand): the extra test runs are good additions but are not related
to the i128 XPLINK64 change.
Commit: 9028ff14b18ea678683a4960306051044160bb67
https://github.com/llvm/llvm-project/commit/9028ff14b18ea678683a4960306051044160bb67
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sched.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/aarch64/clone.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/clone.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/riscv/clone.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/x86_64/clone.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/pthread/CMakeLists.txt
M libc/src/sched/CMakeLists.txt
A libc/src/sched/clone.h
M libc/src/sched/linux/CMakeLists.txt
A libc/src/sched/linux/clone.cpp
M libc/src/threads/CMakeLists.txt
M libc/test/src/sched/CMakeLists.txt
A libc/test/src/sched/linux/CMakeLists.txt
A libc/test/src/sched/linux/clone_test.cpp
Log Message:
-----------
[libc] Implement clone(2) and use it in thread spawning (#224257)
This patch implements an internal clone syscall wrapper and uses it both
to implement the public clone(2) entry point and to spawn new threads in
libc's thread implementation.
Previously, thread creation in thread.cpp invoked the raw SYS_clone
syscall directly, requiring target-specific inline assembly or register
variables and subtle tricks with __builtin_frame_address to pass
arguments to start_thread in the newly spawned thread.
By introducing an inline assembly clone wrapper that sets up func and
arg on the child stack and jumps to the entry function upon clone
returning in the child, we can simplify start_thread to a normal
function taking a single void * argument and eliminate the frame pointer
hacks as well as the need to compile thread.cpp with
-fno-omit-frame-pointer or optimizations.
The public clone(2) entrypoint delegates to this wrapper after unpacking
its varargs and validating pointers (returning EINVAL like glibc).
A particularly tricky aspect of this patch is the invalidation of the
cached thread IDs. As with fork(), we do this in the parent, but we
cannot do this safely for clone() in all situations. The problematic
case is where the user does not set a custom TLS block (which means the
child uses the parent's block), does not clone the address space (no
copy-on-write), and does not suspend the parent (vfork semantics). In
this case, we just give up and don't touch the thread ID. For this
particular flag, most of the operations in the child are not safe, so
we're assuming the user is prepared for such a restricted environment.
Support is implemented for x86_64, aarch64, and riscv. The
architecture-specific assembly is split out into detail::clone_impl
inside per-architecture headers.
Assisted-by: Gemini
Commit: 6b07a4d1c81ea6cdcc1e569299b0a2a628e49f70
https://github.com/llvm/llvm-project/commit/6b07a4d1c81ea6cdcc1e569299b0a2a628e49f70
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
A clang/test/Parser/ms-lambda-capture.clcpp
A clang/test/Parser/ms-lambda-capture.cpp
A clang/test/Parser/ms-lambda-capture.hip
A clang/test/ParserHLSL/ms-lambda-capture.hlsl
Log Message:
-----------
[clang] Disambiguate lambdas from Microsoft attributes (#214247)
With -fms-extensions, a CUDA/HIP lambda capture list can be consumed as
a Microsoft attribute list. This causes attributed lambdas used in
direct initialization to be misparsed as function declarators.
Tentatively inspect the tokens following the capture list and any
trailing attributes to identify lambdas before parsing Microsoft
attributes.
Assisted by: Cursor / Claude Opus 4.8
Commit: 86bd6bf6adbb266d2f4f5e0625d57e6b983220fb
https://github.com/llvm/llvm-project/commit/86bd6bf6adbb266d2f4f5e0625d57e6b983220fb
Author: Finn Plummer <mail at inbelic.dev>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/unittests/Frontend/HLSLSemanticSignaturePackingTest.cpp
Log Message:
-----------
[HLSLSemanticSignatures] Implement the prefix packing of elements (#218062)
Implements the prefix packing algorithm.
Resolves: #204889.
Assisted by: Claude Opus 5 and GPT-5.6 Sol
Commit: 16f37d13492079a0740837e1d04f3841f13fcfa4
https://github.com/llvm/llvm-project/commit/16f37d13492079a0740837e1d04f3841f13fcfa4
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[IR] Use `uint64_t` when assigning `getZExtValue` into `I` (#224648)
This prevents a potential multiplication overflow when a constant is
later built with `ConstantInt::get()`. This fixes an issues reported by
a CodeQL scan.
Commit: 35006688eb78eb5b601e282d21701f430d737888
https://github.com/llvm/llvm-project/commit/35006688eb78eb5b601e282d21701f430d737888
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sched.yaml
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
R libc/src/__support/OSUtil/linux/syscall_wrappers/aarch64/clone.h
R libc/src/__support/OSUtil/linux/syscall_wrappers/clone.h
R libc/src/__support/OSUtil/linux/syscall_wrappers/riscv/clone.h
R libc/src/__support/OSUtil/linux/syscall_wrappers/x86_64/clone.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/pthread/CMakeLists.txt
M libc/src/sched/CMakeLists.txt
R libc/src/sched/clone.h
M libc/src/sched/linux/CMakeLists.txt
R libc/src/sched/linux/clone.cpp
M libc/src/threads/CMakeLists.txt
M libc/test/src/sched/CMakeLists.txt
R libc/test/src/sched/linux/CMakeLists.txt
R libc/test/src/sched/linux/clone_test.cpp
Log Message:
-----------
Revert "[libc] Implement clone(2) and use it in thread spawning" (#225111)
Reverts llvm/llvm-project#224257: Fails to build on risc-v.
Commit: 525d9e9db6a49f39c4eaaad879d0464b70991ef5
https://github.com/llvm/llvm-project/commit/525d9e9db6a49f39c4eaaad879d0464b70991ef5
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M libcxx/include/__iterator/capacity_aware_iterator.h
M libcxx/include/__optional/optional.h
M libcxx/include/__optional/optional_ref.h
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
Log Message:
-----------
[libc++] Remove `_Tag` template parameter from __capacity_aware_iterator (#224983)
Since it was decided that `_Tag`'s benefit of preventing iterator mixups
didn't outweigh the added compile times and extra template
instantiations, remove it and all locations that used
`__capacity_aware_iterator` (so just `optional`).
Commit: 050b5650ff5c905a8d80beb31244c72f8551ba5b
https://github.com/llvm/llvm-project/commit/050b5650ff5c905a8d80beb31244c72f8551ba5b
Author: Anirudh Mathur <126768505+anirudhmathur12 at users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/GH220525.cpp
Log Message:
-----------
[Clang][Sema] Don't treat error-recovery dependence as genuine template dependence in ActOnTag (#221440)
When a template argument fails to resolve (e.g. a namespace name used
where a value is expected), Sema substitutes a RecoveryExpr with a
dependent type so downstream code can recover gracefully. This
error-induced dependence was being conflated with genuine template
parameter dependence in ActOnTag's handling of TagUseKind::Reference/
Friend, causing computeDeclContext to report failure the same way it
would for an actually-dependent nested-name-specifier. This tripped an
assert in ActOnExplicitInstantiation that assumes dependent names can't
reach explicit instantiation, when in fact the diagnostic had already
been emitted at the point the RecoveryExpr was created.
Fixes #220525
Commit: c0a7197865180e8aee11f96fd84e3c1037b69d20
https://github.com/llvm/llvm-project/commit/c0a7197865180e8aee11f96fd84e3c1037b69d20
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes aa6b03e (#224915)
This fixes aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed (#198062).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: aec1f9ce37aea8005a3b1a5d4acf4988d6487813
https://github.com/llvm/llvm-project/commit/aec1f9ce37aea8005a3b1a5d4acf4988d6487813
Author: Jan André Reuter <j.reuter at fz-juelich.de>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
A offload/test/ompt/host_op_id_emi.c
Log Message:
-----------
[Offload][OMPT][NFC] Add test for `host_op_id` consistency (#201144)
Add test to ensure that `host_op_id` is correctly passed for external
monitoring interface callbacks. A set `host_op_id` during
`ompt_scope_begin` should show up during `ompt_scope_end`.
This catches cases like 2c8ca9679e85e466e8d7105027df322d03c45e3d, where
a nested `data_op` callback caused an incorrect `host_op_id` on the
outer `ompt_scope_end` event (fixed by
9de6f9e7c8d1faabf7e7e49ba49e6d6f3af21373).
---------
Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>
Commit: 5ed8a18c43ad9d328df1cfa08e3377933e6ea398
https://github.com/llvm/llvm-project/commit/5ed8a18c43ad9d328df1cfa08e3377933e6ea398
Author: David Zbarsky <dzbarsky at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Give musl LLVM tools 8 MiB worker stacks (#223989)
LLVM 23 ThinLTO can overflow musl's 128 KiB default pthread stack in
`DSEState::eliminateRedundantStoresViaDominatingConditions`, crashing
`ld.lld` on valid input. Add `-Wl,-z,stack-size=8388608` to
`Support.linkopts` for musl Bazel builds, using the
`@rules_cc//cc/libc:musl` constraint already used by `config.bzl`. [musl
supports increasing default pthread stacks through
`PT_GNU_STACK`](https://wiki.musl-libc.org/functional-differences-from-glibc.html).
Downstream validation on LLVM 23.1.0 in
https://github.com/hermeticbuild/hermetic-llvm/pull/753 reproduced the
crash with a captured link and a synthetic 1000-block ThinLTO input. A
musl linker rebuilt with the same linker option advertised an 8 MiB
`GNU_STACK` and passed both cases.
On this upstream branch, Buildifier, `git diff --check`, and
`llvm-check-pr-format` pass (no changed C/C++ files). No fresh
upstream-main LLVM build was performed.
AI tool disclosure: Co-authored with OpenAI Codex.
Commit: 3eb0f2b9251df770a0140d140d17bc6e53f69e44
https://github.com/llvm/llvm-project/commit/3eb0f2b9251df770a0140d140d17bc6e53f69e44
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
Log Message:
-----------
[llvm] Remove declarations without definitions (NFC) (#225020)
ThreadSafeTrieRawHashMapBase::getImpl in
llvm/include/llvm/ADT/TrieRawHashMap.h: Added on October 29, 2024 in
commit b510cdb895b9188e5819c4c85a6dab22a4d14385 without a definition or
any callers.
MIRAddFSDiscriminators::getNumFSBBs and
MIRAddFSDiscriminators::getNumFSSamples in
llvm/include/llvm/CodeGen/MIRFSDiscriminator.h: Added on May 18, 2021 in
commit 886629a8c9e58752627d8ae7abf6fa93191a3df8 without definitions or
any callers.
MIRProfileLoaderPass::init in
llvm/include/llvm/CodeGen/MIRSampleProfile.h: Added on August 18, 2021
in commit 5fdaaf7fd8f35ac9c9de50a45b09e29c7b0d48c4 without a definition
or any callers.
ModuloScheduleExpanderMVE::generateKernelPhi in
llvm/include/llvm/CodeGen/ModuloSchedule.h: Added on June 12, 2024 in
commit 0c5319e546321d7a766999e49e0ccf801ff2b3dc without a definition or
any callers.
codeview::DebugFrameDataSubsection::setFrames in
llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h: Added
on June 14, 2017 in commit a8cfc29c9a3e39a18f576a2820a7a259654fe953
without a definition or any callers.
gsym::DwarfTransformer::parse in
llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h: Added on
February 11, 2020 in commit 19602b71949db1f840b262558c832c5f73722c7e
without a definition or any callers.
logicalview::LVLogicalVisitor::printMemberAttributes (both overloads) in
llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h:
Added on February 27, 2023 in commit
e7950fceb1e7f82370f6cff80b258e552eb410a6 without definitions or any
callers.
pdb::InfoStreamBuilder::finalize in
llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h: Added on
January 20, 2017 in commit 60667ca0b2b95ee25dace3f8627feda5a904cd8f
without a definition or any callers.
orc::SimpleCompiler::manglingOptionsForTargetMachine in
llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h: Added on
January 21, 2020 in commit ce2207abaf9a925b35f15ef92aaff6b301ba6d22
without a definition or any callers.
orc::DLLImportDefinitionGenerator::getTargetPointerSize and
orc::DLLImportDefinitionGenerator::getEndianness in
llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h: The definitions
and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.
orc::IRMaterializationUnit::getInitSymbol in
llvm/include/llvm/ExecutionEngine/Orc/Layer.h: Added on December 16,
2019 in commit 85fb997659b55101b58e3545733e581bf4ed9cf2 without a
definition or any callers.
orc::loadMachOLinkableFile in
llvm/include/llvm/ExecutionEngine/Orc/MachO.h: Added on August 28, 2024
in commit 7a4013f029c4d360a9374ff49b5d17479fcb03df without a definition
or any callers (when renaming loadMachORelocatableObject in the header
while leaving the definition in MachO.cpp named
loadMachORelocatableObject).
RuntimeDyldChecker::getSectionLoadAddress in
llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h: The definition
and callers were removed on April 8, 2019 in commit
941f247d30c447903107aa614ea46fb1e4019698.
hlsl::rootsig::verifyRangeType in
llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h: The
definition and caller were removed on September 10, 2025 in commit
9e778f6cd155f64896a9a0580e96aa4814ca999b.
FenceInst::Init in llvm/include/llvm/IR/Instructions.h: Added on
July 25, 2011 in commit fee02c6c1378f7244e05157aa9b07da77061fb64 without
a definition or any callers.
initializeDXILMetadataAnalysisWrapperPrinterPass and
initializeLogicalSROALegacyPassPass in
llvm/include/llvm/InitializePasses.h:
initializeDXILMetadataAnalysisWrapperPrinterPass was added on August 12,
2024 in commit 03e6675fc78783d0d0b0a784eccbd5ff19de23a2, and
initializeLogicalSROALegacyPassPass was added on July 20, 2026 in commit
03b5c5285eaf0acdc1dc30c5be6e0a7cefeab16f, both without definitions or
any callers.
createCustomBehaviour, createInstrPostProcess, and
createInstrumentManager in llvm/include/llvm/MC/TargetRegistry.h:
createCustomBehaviour and createInstrPostProcess were added on July 24,
2021 in commit dbed061bf13b74cbbe6de3062f7f50481dd45ac4, and
createInstrumentManager was added on November 4, 2022 in commit
98e342dca23729dd4e9cdc5f25c647d617b94283, all without definitions or any
callers (only the corresponding methods on Target were defined).
object::DXContainer::parseSignature in
llvm/include/llvm/Object/DXContainer.h: Added on October 5, 2023 in
commit 9f87522b121a08b97aff433e8b53dec1acf7c9d0 without a definition or
any callers.
object::Record::getContinuousData and
object::{TXTRecord,HDRRecord,ESDRecord,RLDRecord,ENDRecord}::getData in
llvm/include/llvm/Object/GOFF.h: RLDRecord::getData was added on
April 28, 2023 in commit 2fa6bcf02f1585df3af6d0081215e23c07421f43
without a definition or any callers; the definitions and callers of
Record::getContinuousData, TXTRecord::getData, HDRRecord::getData,
ESDRecord::getData, and ENDRecord::getData were removed on August 13,
2026 in commit 5f59554a392283f9f047b51ca5e562179e2e37d8.
GCOVBlock::getLineCount in llvm/include/llvm/ProfileData/GCOV.h: The
definition and callers were removed on September 13, 2020 in commit
4d7b19454397103620394dcceaf29592ef195231.
sandboxir::CmpInst::createCommon in
llvm/include/llvm/SandboxIR/Instruction.h: Added on September 4, 2024 in
commit 840da2e8ba7e0f77938adfc6f6d315137542a1b8 without a definition or
any callers.
cl::expandResponseFiles (4-argument overload) in
llvm/include/llvm/Support/CommandLine.h: Added on August 22, 2022 in
commit b934be2c059a99351d08069bb80155e49f047b6e without a definition or
any callers.
DebugCounter::parseChunks in llvm/include/llvm/Support/DebugCounter.h:
The definition and callers were removed on January 5, 2026 in commit
7f9a00e59c569110ac2bdaa5f21d26eff9c1de65.
sys::fs::status_known (2-argument overload) in
llvm/include/llvm/Support/FileSystem.h: Added on November 24, 2010 in
commit 96bcfcf2c2907519cd765debce94082f421f0829 without a definition or
any callers.
Xtensa::getCPUFeatures and Xtensa::fillValidCPUList in
llvm/include/llvm/TargetParser/XtensaTargetParser.h: Added on August 12,
2025 in commit 48da8489f2c1d416658527f6b806d618abd5ab73 without matching
definitions or any callers (XtensaTargetParser.cpp defined overloads
taking std::vector<StringRef> & instead of
SmallVectorImpl<StringRef> &).
Assisted-by: Antigravity
Commit: 7ff51d0e1895b0b27556e3da3b15142555ce0b07
https://github.com/llvm/llvm-project/commit/7ff51d0e1895b0b27556e3da3b15142555ce0b07
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_gemm.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_3d_mxfp_gemm.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_dequantizeB_F4.mlir
M mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm_quantizeA_F4.mlir
Log Message:
-----------
[MLIR][XeGPU] Update WG integration tests to strict property syntax (#222457)
XeGPU enabled strict properties in its assembly format (b73a8b8d8c17),
so inherent attributes such as the `layout`/`layout_*` operands of
load_nd, store_nd, prefetch_nd, dpas and dpas_mx must be spelled in a
prop-dict (`<{...}>`) instead of the discardable attr-dict (`{...}`).
Several workgroup level integration tests were missed by that update and
now fail to parse.
Commit: 64dad8b0453e32472bc47c5874145b06950c9aa1
https://github.com/llvm/llvm-project/commit/64dad8b0453e32472bc47c5874145b06950c9aa1
Author: leovance <leovancekang at outlook.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
Log Message:
-----------
[mlir][OpenACC][NFC] Fix par_width syntax in code examples (#222291)
Update the acc.predicate_region documentation and the ACCCGToGPU example
to use the explicit par_dim(...) syntax required since #217298.
These examples still use the old attribute-dictionary spelling. This is
a documentation-only change; operation definitions and lowering behavior
are unchanged.
Commit: 39e01e7fab62551ff1b4f6407af80ba011948c1e
https://github.com/llvm/llvm-project/commit/39e01e7fab62551ff1b4f6407af80ba011948c1e
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
Log Message:
-----------
[SCEV] Move getSCEVAtExit() into ScalarEvolution (#225102)
Exit value replacement only needs to know the value at a specific exit,
while getSCEVAtScope() provides one that is valid at *any* exit. It has
some custom code to at least handle the case of addrecs.
Uplift this code into SCEV as getSCEVAtExit(). For now it just does the
same thing the code in LoopUtils did.
Commit: 267f92f79b2de95202af0df2b4488a004e0639a5
https://github.com/llvm/llvm-project/commit/267f92f79b2de95202af0df2b4488a004e0639a5
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
Log Message:
-----------
[CIR][NFC] Fix VectorType element-type description (#224827)
Fix the VectorType element-type description
Commit: 4f611fa8e0c770753d5006d2cb934cde9a8a6831
https://github.com/llvm/llvm-project/commit/4f611fa8e0c770753d5006d2cb934cde9a8a6831
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
Fix bazel build for clang/unittests:serialization_tests (#225134)
Fixes https://github.com/llvm/llvm-project/pull/224528 (commit
f970f59a9d4e) by adding missing //clang:ast dependency.
Commit: 2e7f48adb2c1ec1fdd15486289583e4e1668bb56
https://github.com/llvm/llvm-project/commit/2e7f48adb2c1ec1fdd15486289583e4e1668bb56
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
M llvm/test/Transforms/SandboxVectorizer/Passes/BundleVec/aux_arg.ll
Log Message:
-----------
[SandboxVec][BottomUpVec][NFC] Use AuxPassArg for BundleVec pass aux args (#224777)
This patch replaces the original logic that processes the bundle-vec
auxiliary arguments with the AuxPassArg classes.
Commit: 78563625bdce600d1a4af2905ed42c17ff881a94
https://github.com/llvm/llvm-project/commit/78563625bdce600d1a4af2905ed42c17ff881a94
Author: Zhen Wang <zhenw at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFDuplicateDeviceFunc.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/test/Fir/CUDA/cuda-device-func-transform-aio.mlir
A flang/test/Fir/CUDA/cuda-device-func-transform-copies.mlir
A flang/test/Fir/CUDA/cuda-duplicate-device-func.mlir
Log Message:
-----------
[flang][cuda] duplicate host_device procedures early and outline the copies under their original name (#224400)
An `attributes(host,device)` procedure is lowered as a single
`func.func`, which `cuf-transform-device-func` clones into the GPU
module at the end of the FIR pipeline. By then the optimizer has already
placed the one body under the host policy, so with `-fstack-arrays` an
automatic array stays a `fir.alloca` and overflows the device stack at
run time:
```fortran
attributes(host,device) integer function sumauto(n)
integer :: auto(n)
...
end function
attributes(global) subroutine kern(a, n)
a(1) = sumauto(n) ! device call
end subroutine
```
Procedures reached from device code only through such a procedure, and
device bodies inlined into a kernel, have the same problem.
This adds `cuf-duplicate-device-func`, meant to run before the FIR
optimizer. Every `host_device` procedure, and every procedure without a
device attribute that device code reaches through calls or procedure
references, gets a device copy in the host module, and device code is
redirected to it while host code keeps the original:
```mlir
func.func @sumauto(...) attributes {cuf.proc_attr = #cuf.cuda_proc<host_device>} {
%auto = fir.alloca !fir.array<?xi32>, %n // host copy, unchanged
}
func.func @sumauto.device(...) attributes {cuf.proc_attr = #cuf.cuda_proc<device>,
cuf.device_copy_of = @sumauto,
fir.allocation_policy = #fir.allocation_policy<stack_arrays = false, ...>} {
%auto = fir.alloca !fir.array<?xi32>, %n // placed to the heap by the optimizer
}
func.func @kern(...) attributes {cuf.proc_attr = #cuf.cuda_proc<global>} {
fir.call @sumauto.device(...) // was @sumauto
}
```
The optimizer then treats the two as ordinary functions with their own
policies, and inlining a copy into a kernel carries the heap allocation
along. Declarations are not copied, so runtime calls keep their real
names and the descriptor I/O check in `cuf-transform-device-func` still
fires.
`cuf-transform-device-func` recognizes the `cuf.device_copy_of` marker,
outlines the copy under the original name, since device symbol names are
the cross-unit ABI, restores the original names inside outlined code and
`cuf.kernel` regions, leaves the `host_device` original in the host
module and erases the copy:
```mlir
func.func @sumauto(...) { %auto = fir.alloca ... } // host module
gpu.module @cuda_device_mod {
gpu.func @sumauto(...) { %auto = fir.allocmem ... } // the copy, renamed back
gpu.func @kern(...) kernel { fir.call @sumauto(...) }
}
```
Without markers the pass behaves as before, so it is correct in either
pipeline order.
The device code gathering is factored out of `cuf-transform-device-func`
into `cuf::collectDeviceCode`, shared by both passes.
`fir::getPresentedFunction` and `fir::getPresentedCallee` let
diagnostics and remarks report a copy as the procedure it copies, and
`fir::getPresentableFunctionName` uses them, so a remark inside
`@sumauto.device` names `sumauto`. Lowering and the copies share
`cuf::setDeviceAllocationPolicy`.
Commit: 37f85ad1b302a993a6b2d3afd0a031baf64e7d9c
https://github.com/llvm/llvm-project/commit/37f85ad1b302a993a6b2d3afd0a031baf64e7d9c
Author: Adam Magier <adam.a.magier.foss at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/catch-pointer-overflow-volatile.c
M clang/test/CodeGen/catch-pointer-overflow.c
M clang/test/CodeGen/ubsan-pointer-overflow.c
Log Message:
-----------
[clang][CodeGen] Use ptrtoaddr for the pointer-overflow check (#223446)
Since 052dde9c3a62 ("[SCEV] Do not represent ptrtoint as ptrtoaddr")
SCEV treats the check's ptrtoint as opaque, so IndVarSimplify no longer
infers nuw on the reconstructed address and InstCombine no longer folds
the comparison. Provably safe checks now survive to run time.
ptrtoaddr is correct here: the address is only compared against the
recomputed one and passed to the handler, and is dead otherwise. This is
unlike the pointer subtraction in d7594bf4caa5 (reverted in
fcd814ae4357), whose result is a user-visible value that can be used to
reconstruct a pointer, e.g. via -(nullptr - ptr).
The result type becomes DL.getAddressType(), so the offset arithmetic is
done in the address width rather than the pointer width. They coincide
in every address space the check is emitted in on in-tree targets, and
where they do not the diagnostics are unaffected: EmitCheckValue
zero-extends a narrower argument to IntPtrTy before the handler call.
Assisted-by: Kiro CLI / Claude Opus 5
Commit: d6da65a5b9822dbdc8764c933334cf609655a63c
https://github.com/llvm/llvm-project/commit/d6da65a5b9822dbdc8764c933334cf609655a63c
Author: Yian Su <yiansu.developer at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-thread-private-storage-remark.mlir
Log Message:
-----------
[mlir][openacc] Report privates using thread-private storage (#224398)
ACCCGToGPU reports privates it places in GPU shared memory, but says
nothing when a private is given per-thread storage instead. Collect
those names too and emit a matching remark.
Commit: cb9286833f2b6bac93edcc258289b54b4681037b
https://github.com/llvm/llvm-project/commit/cb9286833f2b6bac93edcc258289b54b4681037b
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUPeepHoleOptimizer.cpp
M mlir/test/Dialect/XeGPU/peephole-optimize.mlir
Log Message:
-----------
[mlir][xegpu] Fold memref offset in peephole create_nd_tdesc rewrite (#224459)
XeGPUCreateNdDescOpPattern in peephole optimization only extracted
strided metadata for dynamic-shape
memrefs, but hasStaticShapeAndStrides() ignores the offset — so a
static-shape memref with a nonzero or dynamic offset (e.g. from a
subview) would silently read from offset 0. This PR changes it to always
extract and fold the offset into the base pointer.
Assisted by Claude
Commit: 4791c3055214978d6acc5184bf236d75fc75ee23
https://github.com/llvm/llvm-project/commit/4791c3055214978d6acc5184bf236d75fc75ee23
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/nsw.ll
M llvm/test/Analysis/ScalarEvolution/ranges.ll
M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll
Log Message:
-----------
[SCEV] Propagate a recurrence's nuw flag to mul in exit value. (#224974)
Follow-up to #217378. The same reasoning applies to the multiply emitted
as well:
A recurrence's exit value is its closed form Start + BTC * Step. The
multiply does not wrap, if the recurrence does not wrap: the recurrence
reached iteration BTC, so the value it computes there is the value the
recurrence had, and that did not wrap.
Alive2 Proof: https://alive2.llvm.org/ce/z/S3_sRh
Also includes small SCEVExpander changes to thread through operands as
SCEVUse.
PR: https://github.com/llvm/llvm-project/pull/224974
Commit: 5e14ef5d10879eafe6b412278d6d851719e62c88
https://github.com/llvm/llvm-project/commit/5e14ef5d10879eafe6b412278d6d851719e62c88
Author: Jian Li <hellothedreamer at 126.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.md
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv32.ll
A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/get-named-operand-idx.td
Log Message:
-----------
[RISCV][GlobalISel] Add G_CLMULR support (#224525)
Add G_CLMULR to represent reversed carry-less multiplication in generic
Machine IR.
Translate llvm.riscv.clmulr to G_CLMULR and mark it legal for native
XLEN scalar types when Zbc is available.
Commit: 31c70556b20ad72bcb91525448bd0821c90efc27
https://github.com/llvm/llvm-project/commit/31c70556b20ad72bcb91525448bd0821c90efc27
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Parser/options.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/fixed-c-comment01.F
A flang/test/Preprocessing/fixed-c-comment02.F
A flang/test/Preprocessing/fixed-c-comment03.f
A flang/test/Preprocessing/fixed-c-comment04.f
A flang/test/Preprocessing/fixed-c-comment05.f
A flang/test/Preprocessing/free-c-comment01.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/f18-parse-demo/f18-parse-demo.cpp
Log Message:
-----------
[flang] Accept C-style comments in label fields (#207012)
The main goal of this patch is to make multi-language header files
easier to write and use in fixed format sources. For this reason, and
for simplicity, C-style comments after labels, directives and OpenMP
conditional compilation sentinels are not supported.
Fixes #127426
Assisted-by: Claude Opus 5
Commit: 854a9b8d7036ef52490edfb644f30ba043a0f238
https://github.com/llvm/llvm-project/commit/854a9b8d7036ef52490edfb644f30ba043a0f238
Author: Janet Yang <qxy11 at meta.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M .ci/green-dragon/lldb-ubuntu.groovy
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/build.md
M lldb/include/lldb/Host/Config.h.cmake
R lldb/include/lldb/Host/LZMA.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Host/CMakeLists.txt
R lldb/source/Host/common/LZMA.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/test/CMakeLists.txt
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/CMake.md
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Support/Compression.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/Compression.cpp
M llvm/test/CMakeLists.txt
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Support/CompressionTest.cpp
M llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/lit/lit/llvm/config.py
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/third-party/BUILD.bazel
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[Support][lldb] Port xz (lzma) decompression from LLDB into LLVM (#220092)
### Summary
LLDB's `lldb_private::lzma` is currently the only xz decompressor in the
tree. It reads the ELF `.gnu_debugdata` (MiniDebugInfo) section, whose
embedded symbol table can sometimes be the only source of function names
in a stripped binary. Move it to `'llvm::compression::xz` so that other
tools like llvm-gsymutil can use it.
- Only decompression is implemented and it's kept out of
`compression::Format` since it's not written by LLVM and is produced by
an extra packaging step. It also doesn't model the schemes usable for
SHF_COMPRESSED sections, which are self-describing via some type of
`ELFCOMPRESS_*` constant, which doesn't exist for XZ.
- Reformats the ported code to LLVM standards, but avoids other
functional changes unless a comment was specifically made on the PR to
address it. There is a latent bug in the ported code where
`lzma_index_buffer_decode()` was passed a pointer to the stream index
but the size of the whole stream, which could've caused it to
technically read past the end of the buffer. Valid streams aren't
currently affected since the index is self-delimiting and CRC-checked,
so this will just be addressed in a following PR.
- `LLDB_ENABLE_LZMA` is replaced by `LLVM_ENABLE_LZMA`, and is default
to ON globally. Cases where LLDB_ENABLE_LZMA and LLVM_ENABLE_LZMA are in
disagreement will fail, and otherwise, uses of LLDB_ENABLE_LZMA will
result in deprecation warnings.
- In the Bazel overlay, @llvm-project//lldb:lzma=system flag can no
longer work for the same reason, so it is replaced by
-- at llvm-project//third-party:llvm_enable_lzma=true via a new
//third-party:lzma target alongside the existing zlib and zstd wrappers.
### Testing
Added a unit test testing the decompression
Existing LLDB unit tests of minidebuginfo still passing
Tested with `LLVM_ENABLE_LZMA` both on and off, check-llvm, and
check-lldb-shell are clean.
Commit: bbbcb2eb4f793af95ba9380a2c8be1e33cb6fdb2
https://github.com/llvm/llvm-project/commit/bbbcb2eb4f793af95ba9380a2c8be1e33cb6fdb2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
M clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/ABI/Types.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Types.cpp
M llvm/unittests/ABI/AArch64TargetInfoTest.cpp
M llvm/unittests/ABI/TypesTest.cpp
Log Message:
-----------
[LLVMABI][AARCH64] Handle conditions for ignoring empty types (#224476)
This adds AArch64 ABI library handling to decide when empty records and
zero-sized (non-SVE) types can be ignored as arguments and return types.
These are always ignored as return types, but the argument handling
depends on the language and ABI kind.
Assisted-by: Cursor / various models
Commit: f5bd36ecc87a5024feeced94815518438f7344a0
https://github.com/llvm/llvm-project/commit/f5bd36ecc87a5024feeced94815518438f7344a0
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
Log Message:
-----------
[AMDGPU] Do not count AGPRs twice in the wave dispatch VGPR minimum (#225110)
The minimum applies to arch VGPRs, but it was taken against the total,
which already counts AGPRs
Commit: 520af5f67f9f6d9a5a250b04de27020b100076d3
https://github.com/llvm/llvm-project/commit/520af5f67f9f6d9a5a250b04de27020b100076d3
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/attr-musttail-ehspec-errors.cpp
M clang/test/CIR/CodeGen/ehspec-noexcept.cpp
Log Message:
-----------
[CIR] Implement exception-related musttail diagnostics (#224778)
When a musttail call occurs in a function that was marked noexcept or
has a dynamic exception specification, we must report a diagnostic to
the user saying that the call is not supported in this case. This change
adds such a diagnostic for CIR codegen.
Assisted-by: Cursor / claude-opus-5
Commit: f12afd1dcfdaddc197aeb950c0d7eead6d7d96f6
https://github.com/llvm/llvm-project/commit/f12afd1dcfdaddc197aeb950c0d7eead6d7d96f6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
M llvm/test/CodeGen/AArch64/kcfi-bti.ll
Log Message:
-----------
AArch64: Don't duplicate the branch's implicit defs in call pseudo expansion (#225064)
These pseudo expansions started with an implicit LR def and are replaced
with a new instruction with a different LR def. Previously this would copy the
old instruction's operand list, merging with the newly build instruction def
list. Avoid creating a redundant def with inconsistent dead flags. This avoids
failing a future verifier check.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: f0159c871942b821eb54f057a7739b4269f72b46
https://github.com/llvm/llvm-project/commit/f0159c871942b821eb54f057a7739b4269f72b46
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Basic/FileEntry.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225022)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
where the operands are known to be nonnull.
The operands are known to be nonnull in one of three ways:
- Preceding checks: A null check, assertion, or dereference a few
lines above guarantees the PointerUnion is nonnull.
- Downstream code: The else or fallthrough branch unconditionally
calls cast<...>, dereferences the pointer, or reaches
llvm_unreachable.
- By construction: In DeclContextInternals.h, FileEntry.h,
FileIndexRecord.cpp, and LifetimeSafety/Checker.cpp, only nonnull
pointers are ever stored in the PointerUnion.
Assisted-by: Antigravity
Commit: 8c5c2ccf47434b4c948e5b875c977bef4d15c84e
https://github.com/llvm/llvm-project/commit/8c5c2ccf47434b4c948e5b875c977bef4d15c84e
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/EHScopeStack.h
M clang/test/CodeGen/compound-literal-lifetime.c
Log Message:
-----------
[clang][CodeGen] Exempt lifetime marker cleanups in musttail check (#224731)
PR #219045 started emitting @llvm.lifetime.start and @llvm.lifetime.end
markers for block-scoped compound literals in C via
pushCleanupAfterFullExpr<CallLifetimeEnd>.
When a compound literal is evaluated inside a conditional branch,
pushCleanupAfterFullExpr wraps CallLifetimeEnd inside
EHScopeStack::ConditionalCleanup, which did not override
EHScopeStack::Cleanup::isRedundantBeforeReturn(). Consequently,
CodeGenFunction::EmitCall rejected [[clang::musttail]] calls when a
conditional compound literal was in scope at -O1 and above.
Because EHScopeStack::ConditionalCleanup wraps cleanups by composition,
virtual methods on EHScopeStack::Cleanup other than Emit() do not work
for conditional cleanups. Replace the virtual
EHScopeStack::Cleanup::isRedundantBeforeReturn() method with a
StackRestore bit on CleanupKind/EHCleanupScope alongside the existing
LifetimeMarker bit, and check EHCleanupScope::isRedundantBeforeReturn()
in CodeGenFunction::EmitCall.
Assisted-by: Gemini
Fixes: 93b2629d1d1f ("[clang][CodeGen] Emit lifetime markers for
block-scoped compound literals in C (#219045)")
Fixes: https://github.com/llvm/llvm-project/issues/224337
Commit: 2c429b568e1ffa1ee7e88444fac6375d46c5d979
https://github.com/llvm/llvm-project/commit/2c429b568e1ffa1ee7e88444fac6375d46c5d979
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
WebAssembly: Don't duplicate implicit CALL operands in LowerCallResults (#225069)
When recombining the CALL_PARAMS/CALL_RESULTS pseudo-pair into a real
CALL, LowerCallResults copied CallParams.uses() onto the new instruction.
uses() includes the implicit operands (implicit-def $arguments and the implicit
$sp32/$sp64 uses), which the freshly created CALL already carries. This
resulted in a duplicated implicit-def of $arguments. This avoids a
future verifier error.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 6460a5605d9b73640b25bd5987dea597cd648f47
https://github.com/llvm/llvm-project/commit/6460a5605d9b73640b25bd5987dea597cd648f47
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme-streaming-mode-landingpads.ll
Log Message:
-----------
AArch64: Fix duplicating VG def operands in isel pseudo expansion (#225113)
Previously MSRpstatePseudo's handling would produce a duplicate VG operand.
AdjustInstrPostInstrSelection added an implicit VG use/def and an FPMR def. It's
dubious to introduce a def in the output which wasn't already present in the input,
so fix the missing FPMR def. Also guard against re-introducing the operands for
instructions which already have the defs. Ideally there would not be any of these m
anual def add calls, but that is a larger fix.
This removes the duplicate operand and fixes potentially inconsistent
dead flags, avoiding a failure in a future verifier check.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 150f8999285d07bdebc6a73dfdeae520dbdf1468
https://github.com/llvm/llvm-project/commit/150f8999285d07bdebc6a73dfdeae520dbdf1468
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Introduce TDMInsts feature for tensor load/store (#225123)
Commit: 82fb38ef98afbc21ca58c0591209e48cd6d83b37
https://github.com/llvm/llvm-project/commit/82fb38ef98afbc21ca58c0591209e48cd6d83b37
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/trimmed-subtree-schedule.ll
Log Message:
-----------
[SLP][NFC]Add a test for deleted nodes but still scheduled, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225154
Commit: 9d73c09b090939b0a94c2d156519f173734e98a0
https://github.com/llvm/llvm-project/commit/9d73c09b090939b0a94c2d156519f173734e98a0
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/mad-mix-bf16-t16-inline-imm.mir
Log Message:
-----------
[AMDGPU] Use a bf16 operand profile for v_fma_mix_bf16_t16 (#224910)
Assisted-by: Claude Code Opus 5
Commit: 583e39e96333beb6b5809c94cc0607025938644b
https://github.com/llvm/llvm-project/commit/583e39e96333beb6b5809c94cc0607025938644b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
A llvm/test/tools/llvm-dwarfdump/X86/apple-names-overflowing-entry-count.s
Log Message:
-----------
[DebugInfo] Fix 32-bit overflow in AppleAcceleratorTable::equal_range (#224866)
Computing the end offset overflowed 32 bits before widening to 64 bits.
Because SameNameIterator stops on exact equality, a wrapped offset
caused an infinite loop.
Compute the product in 64 bits and return an empty range if the end
offset exceeds the section size.
rdar://186839483
Commit: cde11153fcbda7fce2299c6fe463f21cfb4a6208
https://github.com/llvm/llvm-project/commit/cde11153fcbda7fce2299c6fe463f21cfb4a6208
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang-rt/unittests/Runtime/Assign.cpp
Log Message:
-----------
[flang-rt][unittests] Define MAP_ANONYMOUS fallback for AIX in Assign tests (#224675)
We ran into
```
flang-rt/unittests/Runtime/Assign.cpp:497:21: error: use of undeclared identifier 'MAP_ANONYMOUS'
497 | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)};
```
On AIX, `flang-rt` is built with `_XOPEN_SOURCE=700` and without `_ALL_SOURCE`, which prevents `<sys/mman.h> `from exposing `MAP_ANONYMOUS` / `MAP_ANON`. Provide a fallback definition so mmap unit tests introduced in PR #222101 compile successfully on AIX.
Commit: 4648d33f8e759d7557fb5bb8a0978023fa67306b
https://github.com/llvm/llvm-project/commit/4648d33f8e759d7557fb5bb8a0978023fa67306b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
Log Message:
-----------
[lldb] Bounds check minidump location descriptors (#223911)
MinidumpParser::GetModuleUUID sliced the file with the RVA and DataSize
taken straight from a module's CvRecord. ArrayRef::slice asserts, but a
build without assertions still reads out of bounds.
Route both through MinidumpFile::getRawData, which range checks in 64
bits, and log the error rather than returning a slice that looks valid.
rdar://186889966
rdar://186890172
Commit: b33f5efbfbfe621d77d90308c01f4a31ccf18fb1
https://github.com/llvm/llvm-project/commit/b33f5efbfbfe621d77d90308c01f4a31ccf18fb1
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU][MC] Upstream gfx12 true16 disassembler test coverage (#223825)
Upstream new gfx12 disassembler test cases, covering true16 operand
(.l/.h)
and op_sel decoding for f16 opcodes that had no upstream coverage:
Commit: 5301245b7d20fc4871a3253fd235a31e69f1bdfb
https://github.com/llvm/llvm-project/commit/5301245b7d20fc4871a3253fd235a31e69f1bdfb
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrFragments.td
A llvm/test/CodeGen/X86/pr222714.ll
Log Message:
-----------
[X86] Don't drop a redundant 32-bit `and` whose users were selected as def32 (#223750)
Fixes #222714
Nothing was wrong with the IR or the DAG combines here; the `and %idx,
1` survived all the way into instruction selection. Isel selects users
before operands, so the `zext` of the (narrowed, i32) `and` had already
been turned into a `SUBREG_TO_REG` through the `def32` pattern, which
assumes the i32 producer zeroes the upper 32 bits. When isel then
reached the `and`, `shrinkAndImmediate` noticed via known bits that the
mask was redundant and replaced the `and` with its operand — a
`truncate` of a 64-bit `cmov`. That truncate is just a subregister copy,
so the already-emitted `SUBREG_TO_REG` ended up reading the whole 64-bit
register, and the upper bits went straight into the scaled address. The
`_BitInt(98)` is a red herring; the same thing happens with plain `i64`.
The `def32` predicate now lives in `X86DAGToDAGISel::isDef32` (the
PatLeaf calls it), and `shrinkAndImmediate` only drops a 32-bit `and`
when its operand satisfies that predicate. Otherwise it returns false
and the `and` is selected as a normal 32-bit instruction, which zeroes
the upper half as the users expect.
Commit: b0d31f40189dbdcf8b62e2c6ef79b039c5202aba
https://github.com/llvm/llvm-project/commit/b0d31f40189dbdcf8b62e2c6ef79b039c5202aba
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#225106)
Several compound directives containing FOR were missing the ORDERED
clause in the set of allowed (once) clauses.
Commit: 832df12314030ea46e1ea506cabd98d805ae7ce7
https://github.com/llvm/llvm-project/commit/832df12314030ea46e1ea506cabd98d805ae7ce7
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/Transforms/SROA/phi-and-select.ll
A llvm/test/Transforms/SROA/phi-store.ll
Log Message:
-----------
[SROA] Enable alloca promotion for stores through pointer PHIs (#222893)
A store to an alloca through a phi-node prevents promotion of that
alloca in mem2reg. Mem2reg requires all users of the alloca to be
loads/stores. Fixes https://github.com/llvm/llvm-project/issues/202670.
The following is a motivating example:
```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
%a = alloca i32, align 4
%b = alloca i32, align 4
store i32 0, ptr %a, align 4
store i32 0, ptr %b, align 4
br i1 %cond, label %left, label %right
left:
br label %merge
right:
br label %merge
merge:
%ptr = phi ptr [ %a, %left ], [ %b, %right ]
store i32 %value, ptr %ptr, align 4
%a.value = load i32, ptr %a, align 4
%b.value = load i32, ptr %b, align 4
%result = add i32 %a.value, %b.value
ret i32 %result
}
```
To promote, we can rewrite this so that we store on each branch, before
the phi:
```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
%a = alloca i32, align 4
%b = alloca i32, align 4
store i32 0, ptr %a, align 4
store i32 0, ptr %b, align 4
br i1 %cond, label %left, label %right
left:
store i32 %value, ptr %a, align 4
br label %merge
right:
store i32 %value, ptr %b, align 4
br label %merge
merge:
%a.value = load i32, ptr %a, align 4
%b.value = load i32, ptr %b, align 4
%result = add i32 %a.value, %b.value
ret i32 %result
}
```
Now we can promote.
```llvm
define i32 @store_to_phi(i1 %cond, i32 %value) {
entry:
br i1 %cond, label %left, label %right
left:
br label %merge
right:
br label %merge
merge:
%a.value = phi i32 [ %value, %left ], [ 0, %right ]
%b.value = phi i32 [ 0, %left ], [ %value, %right ]
%result = add i32 %a.value, %b.value
ret i32 %result
}
```
Later optimizations can reduce this to just `ret i32 %value`.
You can't always move the store directly into the phi's direct
predecessor. You can only do this if that predecessor's only has one
successor. Consider the following example:
```llvm
define void @store_to_phi_split_edge(
i1 %choose_right, i1 %take_store, i32 %value, ptr %out) {
entry:
%a = alloca i32, align 4
br i1 %choose_right, label %right, label %left
left:
br label %merge
right:
br i1 %take_store, label %merge, label %exit
merge:
%ptr = phi ptr [ %a, %left ], [ %out, %right ]
store i32 %value, ptr %ptr, align 4
br label %exit
exit:
ret void
}
```
If we moved the store into the `right` branch, then we will now execute
the store when `right` branches directly to `exit`, whereas previously
we didn't. We fix this by splitting the `right` branch:
```llvm
define void @store_to_phi_split_edge(
i1 %choose_right, i1 %take_store, i32 %value, ptr %out) {
entry:
%a = alloca i32, align 4
br i1 %choose_right, label %right, label %left
left:
store i32 %value, ptr %a, align 4
br label %merge
right:
br i1 %take_store, label %right.to.merge, label %exit
right.to.merge:
store i32 %value, ptr %out, align 4
br label %merge
merge:
br label %exit
exit:
ret void
}
```
AI assisted.
Commit: eaab73d4bbaafa471f2216d58172126d2fd7c2b6
https://github.com/llvm/llvm-project/commit/eaab73d4bbaafa471f2216d58172126d2fd7c2b6
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/noinline-available-externally-skip.cpp
Log Message:
-----------
[CIR] Correct the behavior of 'shouldEmitFunction' with always/noinline (#224378)
These attributes modified the linkage of functions in certain cases that
caused us to, ironically, skip emitting something when we picked it up
via PCH during self-build. This patch just copies/pastes the code from
classic codegen.
Commit: 5dfe8605911e3f0f43fe2b5c08b4ffc23f2af37a
https://github.com/llvm/llvm-project/commit/5dfe8605911e3f0f43fe2b5c08b4ffc23f2af37a
Author: Pranav Kant <prka at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/CMakeLists.txt
M clang/include/clang/Config/config.h.cmake
M clang/lib/Interpreter/IncrementalExecutor.cpp
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h
Log Message:
-----------
[clang-repl] Add CLANG_ENABLE_EMUTLS_GET_ADDRESS cmake option (#217700)
Guard the extern "C" declaration and reference to __emutls_get_address
in IncrementalExecutor.cpp behind a new CMake option
CLANG_ENABLE_EMUTLS_GET_ADDRESS, which is OFF by default.
This prevents link errors in environments/runtimes where
__emutls_get_address is not available.
Replace all other guards with the new cmake option.
Commit: 16dcf47ee4fb8a9cb6dd8759e7be6599d935b618
https://github.com/llvm/llvm-project/commit/16dcf47ee4fb8a9cb6dd8759e7be6599d935b618
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
M llvm/test/MC/RISCV/riscv-relocs-macho-data.s
M llvm/test/MC/RISCV/riscv-relocs-macho.s
Log Message:
-----------
[RISC-V][Mach-O] Fix bogus 12-bit range check on subtraction expressions. (#222205)
Assembling a subtraction expression whose offset does not fit in a
signed 12-bit integer, such as
.word _a - _b + 5000
failed with a misleading diagnostic:
error: AUIPC out of range of corresponding %pcrel_lo instruction
The check was copied from the %pcrel_lo path, where 12 bits is a real
constraint because the offset is inlined in the immediate field of an
addi or an lw. For data, the addend is stored inline in the bytes
being relocated, and a .word has all 32 bits available to hold it.
Drop the check. No extra relocation record is needed; the
offset is simply written in the data, as otool reports in the tests:
.long 5000 @ KIND_DATA
Commit: 5306fce6c317c13a5889e6909a7e3c959747fb02
https://github.com/llvm/llvm-project/commit/5306fce6c317c13a5889e6909a7e3c959747fb02
Author: R-Goc <ryszardgoc at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
A clang/lib/CIR/CodeGen/CIRGenMicrosoftCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
A clang/test/CIR/CodeGen/cxx-msvc-abi.cpp
Log Message:
-----------
[CIR] Add initial Microsoft C++ ABI support in ClangIR (#221038)
Stub out Microsoft C++ ABI support for ClangIR CodeGen and dialect
lowering:
- Stub out CIRGenMicrosoftCXXABI.
- Stub out LowerMicrosoftCXXABI to integrate into the TargetLowering
pass in CIR dialect transforms.
- Add error.NYI extensively.
- Add a minimal test file, mainly so that it is in tree.
Assisted-by: Gemini:gemini-3.8-flash-high
Commit: 88c276ca9da8385ceb0b343db45f9f6f4dbaf8dd
https://github.com/llvm/llvm-project/commit/88c276ca9da8385ceb0b343db45f9f6f4dbaf8dd
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/InstCombine/atomic.ll
Log Message:
-----------
[InstCombine] Preserve elementwise atomic access sizes (#223897)
There are two cases where instcombine currently will change the atomic
access size of an unordered elementwise atomic. Note that, for example,
`load atomic elementwise <4 x i32>` and `load atomic elementwise <2 x
i64>` do not have equivalent semantics. The former has 4 atomic accesses
and the latter has 2. Rewriting the former to the latter can introduce
mixed-size, concurrent, atomic accesses, which race in LLVM. Without
`elementwise`, rewriting _is_ legal.
The two cases are:
1. `mergeStoreIntoSuccessor`:
```
/// Try to transform:
/// if () { *P = v1; } else { *P = v2 }
/// or:
/// *P = v1; if () { *P = v2; }
/// into a phi node with a store in the successor.
```
You can't do this if the stores have different atomic access sizes.
2. Load CSE and load-to-store forwarding. These are also illegal if the
memory operations in question have different atomic access sizes.
Fixes https://github.com/llvm/llvm-project/issues/223738.
AI assisted.
Commit: 364f1c3d236c2cf3c15c0d4b119e7cdd05d1b945
https://github.com/llvm/llvm-project/commit/364f1c3d236c2cf3c15c0d4b119e7cdd05d1b945
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/test/CodeGen/Sparc/sparc-vaarg.c
M clang/test/CodeGen/Sparc/sparcv8-abi.c
Log Message:
-----------
[Sparc][clang] Match GCC's SPARC V8 vector argument passing (#222254)
Pass floating-point vectors and vectors larger than 64 bits indirectly.
Assisted-by: Codex
Commit: 37e2c3bc9610b7952405ddd7c3557c93e933e554
https://github.com/llvm/llvm-project/commit/37e2c3bc9610b7952405ddd7c3557c93e933e554
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/lowering-lang-options.cpp
A clang/test/CIR/IR/lowering-lang-options.cir
Log Message:
-----------
[CIR] Serialize lowering-relevant LangOptions as #cir.lowering_lang_options (#224757)
Post-CIRGen lowering (LoweringPrepare, CallConvLowering)
reads a handful of LangOptions flags that have no
triple/module representation. A reloaded `.cir`
module has no live `clang::LangOptions`, so those flags must be
serialized for the file to be self-describing and lower the
same way it was compiled.
Add a module-level aggregate attribute `#cir.lowering_lang_options`
holding the LangOpts facts lowering consumes: "exceptions,
threadsafe_statics, cuda, cuda_is_device, hip, gpu_rdc, openmp,
openmp_is_target_device, and clang_abi_compat". Target-derived
facts (size_t width, CXXABI, comdat, char/pointer/atomic width,
SDK version, fp formats) are **NOT** stored: they are
rebuilt from `cir.triple`
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 27b50fc8e7908bc969635c61a96d6d3f08f79941
https://github.com/llvm/llvm-project/commit/27b50fc8e7908bc969635c61a96d6d3f08f79941
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/unittests/Optimizer/InternalNamesTest.cpp
Log Message:
-----------
[flang] Add option to exclude array literals from isCompilerGenerated (#225164)
This is used to register variables under -gpu=mem:unified and array
literals can stay as device resident.
Commit: 2e2655f10d1a05bb585e172083b448a25a5b7434
https://github.com/llvm/llvm-project/commit/2e2655f10d1a05bb585e172083b448a25a5b7434
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
Log Message:
-----------
[AMDGPU] Require flushed FP16 denormals for the mad-mix f16 results (#224911)
v_mad_mixlo_f16 and v_mad_mixhi_f16 are the unfused gfx900 forms and flush 16-bit denormals, so a denormal half result is written as zero even when the FP16 mode asks for it to be kept, while the patterns only required the FP32 mode to flush and that is the one a HIP compile turns off on its own.
Assisted-by: Claude Code Opus 5
Commit: e7b5aa9b5734121f94527261320fcbdb573f37f4
https://github.com/llvm/llvm-project/commit/e7b5aa9b5734121f94527261320fcbdb573f37f4
Author: Jelle Schühmacher <schuehmacher at roofline.ai>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][linalg] Fix exponential walk of tensor.extract indices (#222319)
`isLoopInvariantIdx` showed exponential runtime behavior. Replaced with
a worklist and a visited set.
Encountered in iree-org/iree#24886.
Assisted-by: Claude
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: 1492dbc61765111d035eb5a27ea71e7527a8c6c0
https://github.com/llvm/llvm-project/commit/1492dbc61765111d035eb5a27ea71e7527a8c6c0
Author: Adam Magier <adam.a.magier.foss at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c
Log Message:
-----------
[clang][CodeGen] Compute the pointer-overflow offset from the index list (#225139)
Follow up to #223446. EmitGEPOffsetInBytes recreated the offset by
walking the GEP value that EmitCheckedInBoundsGEP had just created. That
required a separate path for the case where CreateGEP folded the result,
because a folded GEP need not be a GEP at all: `gep(null, 1)` becomes
`inttoptr(1)`, and `gep(@g, 0)` becomes `@g`.
Pass ElemTy and IdxList instead and walk those directly. This removes
the constant path, the cast to GEPOperator, and two asserts that
restated the caller's own behaviour.
This is not quite NFC. The constant path reported OffsetOverflows as
false unconditionally, so a constant GEP whose byte offset wrapped to
exactly zero satisfied the TotalOffset == Zero early return and emitted
no check. The unified path computes the flag, so such a GEP now emits
one. It is provably valid, since TotalOffset == 0 makes the computed
address equal the base, so this is extra IR at -O0 rather than a change
in behaviour.
Add constant-base cases to ubsan-pointer-overflow-constant-fold.c,
including the wraps-to-zero case: it passes before this change only
because no check is emitted at all.
Assisted-by: Kiro CLI / Claude Opus 5
Commit: b09f78de3c4163d6c52971c185dcf4ed66015d06
https://github.com/llvm/llvm-project/commit/b09f78de3c4163d6c52971c185dcf4ed66015d06
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/WasmEHPrepare.cpp
Log Message:
-----------
[WebAssembly] Remove an unnecessary variable (NFC) (#224962)
That `CPI` had a use when first written in
https://github.com/llvm/llvm-project/commit/99d60e0dabcf20f4db683da83cde905b7a1373de
but after
https://github.com/llvm/llvm-project/commit/445f4e74841e87da06743a4c126b09c9b9b05124
it's not necessary to cast it anymore.
Commit: 0b04288569e3daff0c42e302d6e024056eedb895
https://github.com/llvm/llvm-project/commit/0b04288569e3daff0c42e302d6e024056eedb895
Author: Adam Magier <adam.a.magier.foss at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
Log Message:
-----------
[clang][CodeGen] Compute the pointer-overflow offset from the index list (#225139)
Follow up to #223446. EmitGEPOffsetInBytes recreated the offset by
walking the GEP value that EmitCheckedInBoundsGEP had just created. That
required a separate path for the case where CreateGEP folded the result,
because a folded GEP need not be a GEP at all: `gep(null, 1)` becomes
`inttoptr(1)`, and `gep(@g, 0)` becomes `@g`.
Pass ElemTy and IdxList instead and walk those directly. This removes
the constant path, the cast to GEPOperator, and two asserts that
restated the caller's own behaviour.
This is not quite NFC. The constant path reported OffsetOverflows as
false unconditionally, so a constant GEP whose byte offset wrapped to
exactly zero satisfied the TotalOffset == Zero early return and emitted
no check. The unified path computes the flag, so such a GEP now emits
one. It is provably valid, since TotalOffset == 0 makes the computed
address equal the base, so this is extra IR at -O0 rather than a change
in behaviour.
Add constant-base cases to ubsan-pointer-overflow-constant-fold.c,
including the wraps-to-zero case: it passes before this change only
because no check is emitted at all.
Assisted-by: Kiro CLI / Claude Opus 5
Commit: ae22af25cef652dd1741ae720c29d2ecdf627037
https://github.com/llvm/llvm-project/commit/ae22af25cef652dd1741ae720c29d2ecdf627037
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Log Message:
-----------
WebAssembly: Move target EH passes into backend (#225172)
Currently the wasm-specific EH lowering passes are added in the
generic pass configs, driven by the TargetOptions ExceptionModel.
As preparation for driving this process off the IR flag, move these
pass runs into the target. There should be no change in the relative
pass ordering.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 8e635116824243b37aa1cce4a38b0203fad0a0e6
https://github.com/llvm/llvm-project/commit/8e635116824243b37aa1cce4a38b0203fad0a0e6
Author: 1s <zishun.yi.dev at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/test/Driver/fsanitize.c
Log Message:
-----------
[clang][FreeBSD] Enable KASAN and KMSAN for riscv64 (#202288)
enables KASAN and KMSAN for the riscv64 freebsd target in the Clang
driver.
The corresponding FreeBSD kernel runtime support for riscv64 KASAN is
currently under active review.
Depends on: https://reviews.freebsd.org/D57381
Co-authored-by: aokblast <aokblast at FreeBSD.org>
Commit: 9906c580517b6e22df73a6f7206de551e4883a52
https://github.com/llvm/llvm-project/commit/9906c580517b6e22df73a6f7206de551e4883a52
Author: geoffreygaren <ggaren at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[WebKit Checkers] Trace through temporaries in tryToFindPtrOrigin (#224877)
RefPtr checking skips temporaries, reporting a path through any
temporary as unsafe. This is mostly correct, but not always. For
example, the following is a false positive:
// makeKey() returns a temporary
RefCountable* p = condition(makeKey()) ? guardian.ptr() : nullptr;
In the upcoming Borrow checker, it's even more important to trace
through temporaries because not tracing an expression can drop a
`lifetimebound` link, resulting in false **negatives**.
This patch adds tracing through temporaries. The logic is:
* In function call arguments, temporaries are lifetime safe because the
full expression does not end until the call returns
* In ranged for loops, temporaries are lifetime safe because lifetime
extends past the full expression to the duration of the loop (C++ P2718)
* Otherwise, temporaries are not lifetime safe
Assisted-by: Claude
Commit: fbbf5d2daec93118bb5e478b7d6089fbbb857f94
https://github.com/llvm/llvm-project/commit/fbbf5d2daec93118bb5e478b7d6089fbbb857f94
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/volatile-local.ll
Log Message:
-----------
[NVPTX] Preserve volatile on atomic local loads and stores (#224719)
Local loads and stores discard atomic ordering during instruction
selection, but volatile accesses with acquire, release, or seq_cst
ordering also lose the volatile qualifier. Preserve volatile for all
valid load/store orderings when local volatile instructions are
supported. Follow up to #217764.
Commit: 4a49d09c3358c6ac54362d9a8ef8075a4b121114
https://github.com/llvm/llvm-project/commit/4a49d09c3358c6ac54362d9a8ef8075a4b121114
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Log Message:
-----------
[DebugInfo] Fix overflow in DWARFDebugLine::SectionParser (#224770)
Adding a DWARF64 unit length can overflow and wrap back into the
section, causing an infinite loop. Saturate the addition so an
overflowing offset fails the bounds check.
rdar://186810393
Commit: 06c7e8db78adf3a5478362ba80d6bb7f25b936b0
https://github.com/llvm/llvm-project/commit/06c7e8db78adf3a5478362ba80d6bb7f25b936b0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Simplify computeKnownBits for EXTRACT_ELEMENT using KnownBits::extractBits. NFC (#225168)
Commit: e7302d9069f007ce968f6eac0a95d0f34cfc1152
https://github.com/llvm/llvm-project/commit/e7302d9069f007ce968f6eac0a95d0f34cfc1152
Author: Ryan Buchner <rbuchner at qti.qualcomm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/folded-broadcast-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remark-zext-incoming-for-neg-icmp.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-gather.ll
Log Message:
-----------
[SLP] Reland: More accurately cost RISCV scalar splats (#224766)
Originally #213104, reverted due to assertion failure in cases of
reordered gather nodes.
Backends may have a fast path for splatting scalar operands (i.e. rather
than generating the splat vector, the vector instruction may be able to
take a scalar operand), for example RISCV `vfoo.vx` instructions. Pass a
hint to the TTI when costing the insert/shuffle sequence in such cases.
Fixes #212413.
Assisted By: Codex
Commit: 434b00aa1d89d276b826f40afd132308ee19277f
https://github.com/llvm/llvm-project/commit/434b00aa1d89d276b826f40afd132308ee19277f
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_opsel.s
A llvm/test/MC/AMDGPU/gfx11_asm_t16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
Log Message:
-----------
[AMDGPU][MC] Upstream gfx11/gfx12 true16 assembler test coverage (#223826)
Upstream new assembler test cases, covering true16 .l/.h operands and
op_sel
handling that had no upstream coverage.
Commit: aea2e768d7c2f5d97ae6a41c5c7469dcac4ba113
https://github.com/llvm/llvm-project/commit/aea2e768d7c2f5d97ae6a41c5c7469dcac4ba113
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/union.c
Log Message:
-----------
[CIR] Regenerate CHECK lines for two callconv opt-out tests (#225189)
Neither `union.c` nor `paren-list-agg-init.cpp` is blocked by the
calling convention lowering pass any more, and both compile clean with
it running. Remove the `-fno-clangir-call-conv-lowering` opt-out and
update their CHECK lines. The coerced parameters and returns they now
pin match classic.
The bodies still differ, since CIR round-trips the record through a
fresh coerce slot, so those fragments move to the `LLVMCIR` and `OGCG`
prefixes the file already declares. Four `define` lines in
`paren-list-agg-init.cpp` wildcarded their return type and now pin it.
Assisted-by: Cursor / claude-opus-5
Commit: 418bede1ebba8990349df1e17306a05bb3d75e51
https://github.com/llvm/llvm-project/commit/418bede1ebba8990349df1e17306a05bb3d75e51
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
M llvm/unittests/ExecutionEngine/Orc/EPCGenericDylibManagerTest.cpp
Log Message:
-----------
[ORC] Mangle NativeDylibManager CI names as C (#225096)
Flip the NativeDylibManager descriptors (instance + load/lookup) from
Verbatim to C, so their names carry the target's C mangling. Served by
the in-tree SimpleExecutorDylibManager; controller and executor mangle
the same specs and nothing else defines these names.
Also give the CreateFromExecutionSession test EPC the process triple,
matching the memory-manager fix (its bootstrap symbols were keyed with
the process triple but the EPC had an empty target triple).
Commit: 82cf8d465a76e9fda817906a4405fb7d18eb84d5
https://github.com/llvm/llvm-project/commit/82cf8d465a76e9fda817906a4405fb7d18eb84d5
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/ConnectionSpecTest.cpp
Log Message:
-----------
[ORC] Rename ConnectionSpec's fd transport to socket:adopt (#225075)
A ConnectionSpec's transport field says what kind of thing the
descriptor names, and "fd" named a representation rather than a kind. It
also left no room for a pipe transport, which takes two descriptors and
a different server.
The transport becomes "socket", and adopting a handed-over handle
becomes an explicit "adopt" action rather than the absence of one. So
"tcp" names an endpoint to reach while "socket" names a handle already
held, and a spec states how the process came by its channel -- worth
spelling out, since "adopt", "connect" and "listen" do not carry the
same trust.
llvm-jitlink-executor takes "socket:adopt=<fd>" in place of "fd=<fd>"
and rejects any other action for that transport. The spec is an internal
handoff from llvm-jitlink in every in-tree use, so nothing else needed
updating. The class comment is rewritten around the same split and stops
describing transports that do not exist yet.
Matches the scheme the ORC runtime uses for its connector registry.
Commit: 9696514f547989b2688e73a987fb676d71f570aa
https://github.com/llvm/llvm-project/commit/9696514f547989b2688e73a987fb676d71f570aa
Author: Alex Duran <alejandro.duran at intel.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/OpenMP/nvptx_target_teams_ompx_bare_kernel_environment_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][openmp] Avoid generating geometry for Bare kernels (#225185)
Don't use the information from num_teams or thread_limit clauses to
initialize the Kernel Environment of bare kernels. They only support one
single dimension and for NVIDIA (only) we generate a "nnvm.maxntid"
attribute which is incompatible with the multi-dimensional launch that
happens at runtime.
Fixes a regression introduced by #223772
Commit: e22f06e20c56cb71c00acd5372c512f54616b884
https://github.com/llvm/llvm-project/commit/e22f06e20c56cb71c00acd5372c512f54616b884
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] Do not match an f16 extension as a bf16 mix source (#224912)
Assisted-by: Claude Code Opus 5
Commit: 32636ffa83325ca3b3c1ae3342d66abe053ddf87
https://github.com/llvm/llvm-project/commit/32636ffa83325ca3b3c1ae3342d66abe053ddf87
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/test/CIR/CodeGen/bitfields.cpp
M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
Log Message:
-----------
[CIR] Drop the stale callconv opt-out from two CIR tests (#225180)
`bitfields.cpp` was waiting on padded, packed and over-aligned record
shapes. `uncopyable-args.cpp` was waiting on parameters of an empty or
tag class. Both files now compile and check clean with the pass running,
so the `-fno-clangir-call-conv-lowering` opt-out and its TODO header are
removed and the tests exercise the pass as written. Neither file changes
a CHECK directive.
Assisted-by: Cursor / claude-opus-5
Commit: d9b61968481a0cc6fbbef744eeecab16ff9d0c18
https://github.com/llvm/llvm-project/commit/d9b61968481a0cc6fbbef744eeecab16ff9d0c18
Author: Greg Clayton <gclayton at fb.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
A llvm/test/tools/llvm-gsymutil/X86/macho-symbol-stubs.yaml
Log Message:
-----------
Add support for mach-o symbol stubs. (#225155)
This patch add support for making symbols from the symbol stubs in
mach-o files. Symbol stubs are found in sections that whose type is
S_SYMBOL_STUBS and using these setions along with the indirect symbol
table, we can make symbols for the PLT entries for external functions.
Some crashes occur in these stubs and previous to this fix those
addresses might be incorrecty associated with the last real symbol from
the symbol table and cause confusion and incorrect stack attributions in
symbolication workflows.
Commit: 54cfa2b76494491dc2e0780b7a5ffea9e55ea529
https://github.com/llvm/llvm-project/commit/54cfa2b76494491dc2e0780b7a5ffea9e55ea529
Author: Vasileios Porpodas <vasileios.porpodas at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Value.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement Value::stripAndAccumulateConstantOffsets() (#224784)
This patch implements the Sandbox IR version of
Value::stripAndAccumulateConstantOffsets(), mirroring LLVM IR.
Commit: 3374bc31c4e293bb7037abdffacb2308e7ca2ebd
https://github.com/llvm/llvm-project/commit/3374bc31c4e293bb7037abdffacb2308e7ca2ebd
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/side-effect.cpp
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/enum-attrs.cir
A clang/test/CIR/IR/invalid-effect-attrs.cir
A clang/test/CIR/Lowering/memory-effects.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/idiom-recognizer.cpp
Log Message:
-----------
[CIR] Split side_effect into memory effects, nounwind, and willreturn (#223890)
`side_effect` was carrying three facts at once. It described the memory
a callee may touch, and it was also the only thing lowering derived
`nounwind` and `willreturn` from, so any callee with a known memory
effect got both. That is wrong for one that can throw, and `willreturn`
had no other representation in CIR at all.
`const`, `pure` and `noalias` now record the three separately, and the
enum is replaced by a structured `#cir.memory_effects` carrying the same
six ModRef slots as the LLVM dialect. It has no keyword syntax of its
own, so on an operation it sits in the attribute dictionary.
The only change in emitted IR is for `__declspec(noalias)`, which the
old enum could not express, and which now gets
`inaccessibleOrArgMemOnly` and `nounwind` to match classic. Everything
else lowers exactly as it did.
Assisted-by: Cursor / claude-opus-5
Commit: febbf39f76caf3224dda67a5be9f92787356fdc8
https://github.com/llvm/llvm-project/commit/febbf39f76caf3224dda67a5be9f92787356fdc8
Author: Kewen Meng <Kewen.Meng at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M offload/ci/hip-tpl.py
Log Message:
-----------
[CI][AMDGPU] Add clean up step for HIP test (#224177)
The bot failed because the GPU core dumps took all the disk space. Added
a step in the HIP build script to clean them up before building the
tests in each run.
Commit: 5dc57157f12f0ff676e823d9b4d98b45c07e5df2
https://github.com/llvm/llvm-project/commit/5dc57157f12f0ff676e823d9b4d98b45c07e5df2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-test-tools.yml
Log Message:
-----------
Partially revert "[libcxx] Move premerge jobs to k8s mode runner set (#221395)" (#224717)
This patch partially reverts commit 028cdb4b9ec09: it only reverts
changing the runner set for the libcxx-pr-test-tools.yml workflow, which
started failing for an unknown reason since the change.
This is temporary until we figure out the problem and switch the
workflow again.
Commit: 04d36008ff346d1ff9deded1cdf275fb2fb28c69
https://github.com/llvm/llvm-project/commit/04d36008ff346d1ff9deded1cdf275fb2fb28c69
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/test/AST/ByteCode/module-default-ctor.cpp
Log Message:
-----------
[clang][test] Write obj file into %t in ByteCode/module-default-ctor.cpp (#225192)
Commit: 83af6956eda8e52d6dfbac143da5d5bd62fff9fe
https://github.com/llvm/llvm-project/commit/83af6956eda8e52d6dfbac143da5d5bd62fff9fe
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes d9b6196 (#225223)
This fixes d9b61968481a0cc6fbbef744eeecab16ff9d0c18 (#225155).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=d9b61968481a0cc6fbbef744eeecab16ff9d0c18
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: f677d3f38f45f318df47d5b5dd59a20c71d6a9bc
https://github.com/llvm/llvm-project/commit/f677d3f38f45f318df47d5b5dd59a20c71d6a9bc
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/pointer-tighten-ne.ll
Log Message:
-----------
[ConstraintElimination] Allow pointer types in tightenBoundUsingNe (#223215)
Allow pointer types in ConstraintInfo::tightenBoundUsingNe() for the
unsigned system. When A != B is known and the system already implies A
u>= B, tighten the bound to strict inequality A u> B (symmetrically, A
u<= B becomes A u< B).
Added lit tests in
llvm/test/Transforms/ConstraintElimination/pointer-tighten-ne.ll.
Commit: d3620a08fe99370161844c11d3a288d64583446f
https://github.com/llvm/llvm-project/commit/d3620a08fe99370161844c11d3a288d64583446f
Author: Shilei Tian <i at tianshilei.me>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s
M llvm/test/MC/AMDGPU/gfx13_asm_vopd_errs.s
Log Message:
-----------
[AMDGPU][MC] Remove two VOPD instructions from gfx1250 and gfx13 (#225199)
V_DUAL_DOT2ACC_F32_F16 and V_DUAL_DOT2ACC_F32_BF16 were removed from
both gfx1250 and gfx13.
Fixes LCOMPILER-2684.
Commit: bf9a1bb8b032da4cfbad5db2671f1037f69a2107
https://github.com/llvm/llvm-project/commit/bf9a1bb8b032da4cfbad5db2671f1037f69a2107
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Don't require single-pred blocks on path to loop region (NFC). (#225208)
Generalize getVectorLoopRegion logic to not on single
predecessor/successor chain. This won't hold once the epilogue skeleton
is also modeled in VPlan.
Instead stop at any block with multiple predecessors. In plain CFG form,
that is the loop header, in region-based CFG the scalar preheader.
Currently NFC, but preparation to fully model epilogue vectorization in
VPlan natively.
Commit: dc0abebc8e834bceea9a467f07e124ab944e9be9
https://github.com/llvm/llvm-project/commit/dc0abebc8e834bceea9a467f07e124ab944e9be9
Author: Adrian Prantl <aprantl at apple.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/docs/CommandGuide/lit.md
M llvm/utils/lit/lit/Test.py
M llvm/utils/lit/lit/cl_arguments.py
M llvm/utils/lit/lit/main.py
R llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/lit.cfg
R llvm/utils/lit/tests/Inputs/rerun-failed-serially-retries/needs-four-attempts.py
R llvm/utils/lit/tests/Inputs/rerun-failed-serially/always-fails.py
R llvm/utils/lit/tests/Inputs/rerun-failed-serially/fails-once.py
R llvm/utils/lit/tests/Inputs/rerun-failed-serially/lit.cfg
R llvm/utils/lit/tests/rerun-failed-serially.py
Log Message:
-----------
Revert "[lit] Add --rerun-failed-serially <REGEX> mechanism (#223504)" (#225205)
This reverts commit 49923e950b3e8f0adb693aa68b99df6a2479418b.
People reported flakyness in the LIT test for this lit change.
Commit: eb701ae7fdf5071bf4b1dbde37a41fb16df49081
https://github.com/llvm/llvm-project/commit/eb701ae7fdf5071bf4b1dbde37a41fb16df49081
Author: Adam Smith <adams at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vaarg-non-pod-nyi.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/var-arg-aggregate.c
A clang/test/CIR/CodeGen/var-arg-direct-offset.cpp
A clang/test/CIR/CodeGen/var-arg-empty.c
A clang/test/CIR/CodeGen/var-arg-int128.c
A clang/test/CIR/CodeGen/var-arg-long-double.c
A clang/test/CIR/CodeGen/var-arg-vector.c
M clang/test/CIR/CodeGen/var_arg.c
A clang/test/CIR/Transforms/abi-lowering/x86_64-vaarg-valist-shape-nyi.cir
M llvm/include/llvm/ABI/FunctionInfo.h
M llvm/lib/ABI/Targets/X86.cpp
M mlir/include/mlir/ABI/ABIRewriteContext.h
Log Message:
-----------
[CIR] Expand callee-side va_arg on x86_64 (#222420)
CallConvLowering now classifies every `cir.va_arg` on its own, as an
unnamed argument with a full register budget, and expands it in place. A
fetch that fits the budget reads from the saved register area, and
everything else reads the overflow area and bumps the cursor. An
aggregate, an x87 long double, and an `__int128` all lower correctly
now. Each fetch reads at the alignment the argument area gives it, which
for an over-aligned record is higher than its type reports.
A non-trivially-copyable type still reports NYI.
`rewriteVAArg` takes the register demand from the ABI library rather
than rebuilding it from the shape of the coerced type. The library
computes it in `classifyArgumentType` as the `NeededInt` and `NeededSSE`
out-parameters and used to drop it, so `llvm::abi::ArgInfo` and
`mlir::abi::ArgClassification` now carry it. Expanding a `cir.va_arg`
needs the inputs to that decision rather than its result, because the
choice has to become a runtime branch on the va_list cursor.
Assisted-by: Cursor / claude-opus-5
Commit: 6854d299e83c7b08d0450bcc85f13a84d3b5a29e
https://github.com/llvm/llvm-project/commit/6854d299e83c7b08d0450bcc85f13a84d3b5a29e
Author: Kunal Dubey <xakep8 at protonmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c
Log Message:
-----------
[CIR] Lowering for the C2Y `stdc` bit builtins (#218852)
Implemented CIR lowering for the C2Y `stdc` bit builtins currently
covered by this PR.
This adds support for:
- `stdc_rotate_left_*` / `__builtin_stdc_rotate_left`
- `stdc_rotate_right_*` / `__builtin_stdc_rotate_right`
- `stdc_memreverse8u8/u16/u32/u64`
- `stdc_memreverse8` / `__builtin_stdc_memreverse8`
The rotate builtins lower to `cir.rotate`, which then lowers to the LLVM
funnel-shift intrinsics.
For `stdc_memreverse8`, CIR matches classic CodeGen behavior:
- sizes `0` and `1` are no-ops, while still evaluating the pointer
argument
- sizes `2`, `4`, and `8` lower to load / byte-swap / store
- other constant sizes and dynamic sizes fall back to a
`stdc_memreverse8` library call through the isLibFunction path
Reference to discussion in PR #214931
[here](https://github.com/llvm/llvm-project/pull/214931#discussion_r3769544573)
Commit: 6fe7d97e974d96b0962fdb5f5d975ffa42c9b0ad
https://github.com/llvm/llvm-project/commit/6fe7d97e974d96b0962fdb5f5d975ffa42c9b0ad
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/CodeGen/RISCV/target-abi-valid.ll
Log Message:
-----------
[RISC-V] Test ELF e_flags for llc -target-abi without module flag (#225128)
Verify that `llc -filetype=obj -target-abi=...` sets the ELF header
`e_flags`
according to `-target-abi` even when the input IR has no `"target-abi"`
module
flag and the enabled extensions (such as `+d`) would default to a
different ABI.
This commit was created with the help of AI tools
Commit: 215a9b006a007b315af5c4bb3f669353029da44c
https://github.com/llvm/llvm-project/commit/215a9b006a007b315af5c4bb3f669353029da44c
Author: Taufiq Rahman <taufiqrx8 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/Support/RISCVISAUtils.h
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update the canonical extension order (#192392)
Fixes #192357.
Update the canonical order of one-letter standard RISC-V extensions in
RISCVISAUtils::AllStdExts to match the updated specification order,
where `p` moves after `v`.
Commit: 31b28f55900649668bb3dad18ab90f6ce7a77c51
https://github.com/llvm/llvm-project/commit/31b28f55900649668bb3dad18ab90f6ce7a77c51
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
M clang/lib/CIR/Lowering/CIRPasses.cpp
A clang/test/CIR/CodeGenCUDA/lowering-lang-options.cu
Log Message:
-----------
[CIR] Consume serialized LangOptions in post-CIRGen lowering (#225224)
Post-CIRGen lowering (LoweringPrepare, CallConvLowering) read a handful
of LangOptions facts from a live clang::LangOptions via the pass's
ASTContext. That prevented a reloaded .cir from lowering the same way it
was compiled, since a serialized module has no ASTContext. PR #224757
serialized those facts onto the module as #cir.lowering_lang_options;
this change makes lowering consume them from there.
To make sure the `lowering_lang_options` attribute is always available,
I moved the constrction of langOpts from release to the constructor. The
overall approach is very close to `LowerModule::getTarget()`
Currently there is still a reliance to `astContext` which I plan to
remove in upcoming PRs. The reliance blocks consuming .cir as an input
and test `cir-opt` with some of such passes.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 69ddc4658fe6742c023043a4760194c530bc86c8
https://github.com/llvm/llvm-project/commit/69ddc4658fe6742c023043a4760194c530bc86c8
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
M llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
Log Message:
-----------
[AMDGPU] Add MemoryPipeline scheduling to Coexec sched (#192325)
This adds two pieces to the new scheduler:
Stalls between ds_load and fence
tryAsyncPipe
For both of these pieces we are making some assumptions about the
pipelining of memory instructions in the incoming IR. Namely, that the
long latency memory operations are pipelined and the shorter latency
memory operations (e.g. ds_loads) aren't. Moreover, this assumes that
any user added waitcnts appear directly before fences. These assumptions
are compensating for the fact that we don't have any analysis of the
pipeline available during scheduling.
Stalls between ds_load and fence
The main concept here is that when legalizing the fences we will insert
wait_dscnts for any outstanding ds_load instructions. By teaching the
scheduler about the stall between these instructions, we can hide
latency between ds_load -> wait_dscnt. A common idiom is:
wait_loadcnt
fence
signal
fence
Since waitcnts are often included with fences, we also add stalls for
these waitcnt instructions.
tryAsyncPipe
This helps us to acheive good memory pipelining without having good
memory pipeline modelling. This assumes the pipeline has been well
designed and amdgpu-barrier-signal-wait-latency is set appropriately.
Then, this heuristic will schedule memory pipeline components as soon as
the stalls are cleared. It will, for example, keep waitcnt and fence
instructions together, and will schedule load instructions as soon as
registers from previous iterations have been consumed (ensuring max
latency between load -> consumer). It errs on the side of hiding too
much latency for long latency loads.
---------
Co-authored-by: Austin Kerbow <Austin.Kerbow at amd.com>
Commit: 2ce662d124ddf4081993c7980986207444a51305
https://github.com/llvm/llvm-project/commit/2ce662d124ddf4081993c7980986207444a51305
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Bump libc container to Ubuntu 26.04 (#225212)
Commit: d43ef1b381ca458bb34c1e79b050db5d3d834abd
https://github.com/llvm/llvm-project/commit/d43ef1b381ca458bb34c1e79b050db5d3d834abd
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/RawBufferLoadDouble.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/load-rawbuffer-wide-double.ll
M llvm/test/CodeGen/DirectX/TextureLoad.ll
Log Message:
-----------
[DirectX] Fix RawBuffer Loads of double vectors (#224695)
fixes https://github.com/llvm/llvm-project/issues/224684
We need to do the same change we did for Raw Buffer Stores
(https://github.com/llvm/llvm-project/issues/223558) in
https://github.com/llvm/llvm-project/pull/224136 by Create add with the
byte index offsets because were were looking at the wrong argument.
Commit: 33fcd70991316e238e63684cd4018f618d690668
https://github.com/llvm/llvm-project/commit/33fcd70991316e238e63684cd4018f618d690668
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-sm65-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedMax-errors.hlsl
Log Message:
-----------
[HLSL] Add `InterlockedMax` function and resource methods (#222160)
This PR adds the `InterlockedMax` standalone function and resource
methods.
It mimics the implementation of the `InterlockedMin` function and
resource
methods.
Like `min`, `max` is signedness aware. A signed operand lowers to
`atomicrmw max` and an unsigned operand lowers to `atomicrmw umax`. This
matches DXC, which selects between the `IMax` and `UMax` atomic binary
operations.
The PR also adds the 64-bit `InterlockedMax64` methods, which DXIL gates
on
shader model 6.6.
Fixes: https://github.com/llvm/llvm-project/issues/99124
Assisted by: Github Copilot
Commit: d28da7e5238e8bd81c609ef19170dc6b73ee48ac
https://github.com/llvm/llvm-project/commit/d28da7e5238e8bd81c609ef19170dc6b73ee48ac
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStackFrameRecognizerPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
Log Message:
-----------
[lldb] Make ScriptedPythonInterface::Dispatch return llvm::Expected<T> (#224988)
Until now, `Dispatch` returned the extracted value and reported failure
through a `Status &` out-parameter, which leaves the two outcomes
indistinguishable at the value level: a Python method that returns
`None` and one that raises both hand back a default-constructed `T`.
Only `error` told them apart, and because the signature advertises the
value, call sites reached for the value and dropped the error.
Three real instances of that:
- `ScriptedHookPythonInterface::HandleStop` returned `true` whenever the
object was null, discarding the backtrace of a raising `handle_stop`
(fixed separately).
- `GetStatusFromMethod` discarded `Dispatch<Status>`'s return value, so
the `SBError` returned by `ScriptedProcess.launch/attach/resume` and the
three `ScriptedPlatform` entry points was ignored entirely: a `launch()`
returning `SBError("no such file")` reported success.
- `GetThreadPlanMetadataForStepType` string-matched the exception text
to guess whether the method existed, with a FIXME asking for exactly
this.
This switches `Dispatch`, `CallStaticMethod` and
`ExtractValueFromPythonObject` to `llvm::Expected<T>` and drop the
out-parameter. `CheckStructuredDataObject` becomes dead and is removed.
An absent method now yields `UnimplementedError`. Three helpers let each
call site state its intent: `DispatchToOptional` for optional methods a
script may legitimately omit, which reports an unimplemented method as
`std::nullopt` and lets every other failure propagate; `LogAndDefault`
for entry points whose return type cannot express failure, which logs
the error and falls back to a default-constructed value instead of
discarding it; and `LogAndError`, which builds and logs the errors
`Dispatch` returns itself.
Widening the `LogAndDefault` entry points to `Expected` touches every
caller in ScriptedThread/ScriptedProcess/ScriptedFrame and is left as
follow-up.
This patch stops at the interface layer deliberately: it is about
surfacing the error and the Python exception out of `Dispatch` and into
the scripted interface classes. That has to happen to all of them at
once, because they share the same dispatch entry point, which is why
this touches every interface class together. Carrying those exceptions
the rest of the way to the user is per-extension work, and lands as a
follow-up PR for each extension.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 8d64e84bb915b900a546408143790a578ab4ac19
https://github.com/llvm/llvm-project/commit/8d64e84bb915b900a546408143790a578ab4ac19
Author: Konstantinos Parasyris <koparasy at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
Log Message:
-----------
[CIR][NFC] Route target facts in LoweringPrepare through LowerModule (#225236)
LowerModule already rebuilds a full clang::TargetInfo
from the module's cir.triple and exposes getTarget()
and getCXXABIKind(). The changes are a pure routing
change: no new attribute and no CIRGen change,
since every routed fact is derivable from the triple,
that is already included in the module.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Commit: 26c90e1588af2d70ac7cf9b51a01ea56acd9f2cc
https://github.com/llvm/llvm-project/commit/26c90e1588af2d70ac7cf9b51a01ea56acd9f2cc
Author: Andy Lim <andysjlim at chromium.org>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/MC/COFF/ir-to-imgrel.ll
Log Message:
-----------
[TargetLowering][COFF] Only check shouldAssumeDSOLocal on GlobalVariable in lowerRelativeReference (#225160)
In #220674, a check was added to lowerRelativeReference requiring that
LHS be dso_local to prevent image-relative relocations for dllimport
variables. However, this check was applied unconditionally to all
GlobalObjects, including functions.
On Windows COFF, dllimport functions are valid targets for
image-relative relocations because the linker provides import thunks in
the local image. In particular, MSVC C++ exception handling metadata
(ThrowInfo and CatchableType) references imported copy constructors and
destructors via image-relative offsets when throwing exception types
across DLL boundaries. Rejecting them caused compilation failures in
downstream projects like PyTorch with:
"error: symbol '__ImageBase' can not be undefined in a subtraction
expression"
Restrict the shouldAssumeDSOLocal check to GlobalVariables only.
Commit: d024790161549c4e45828da9fb0ea74be5786403
https://github.com/llvm/llvm-project/commit/d024790161549c4e45828da9fb0ea74be5786403
Author: Anshul Nigham <nigham at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/AST/ByteCode/module-redecl1.cpp
Log Message:
-----------
[clang][test] Fix module cache path in module-redecl1.cpp (#225241)
Fixes commit aa6b03ed5a9ffe5ba6f0d945fac9961884b5c6ed
Use `-fmodules-cache-path=%t` instead of `Inputs/` which fails in
read-only test sandboxes due to permission errors when writing compiled
module files. Also clean `%t` before execution and remove redundant
`-cc1`, matching the RUN lines in
test/Modules/redecl-add-after-load.cpp.
Commit: 7c47f4218d453031fb5e27b1f99846220e62536b
https://github.com/llvm/llvm-project/commit/7c47f4218d453031fb5e27b1f99846220e62536b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
Log Message:
-----------
[ORC] Mangle Call CI names as C (#225227)
Flip the Call descriptors (call_main, call_void_void, call_int32_void,
call_int32_int32) from Verbatim to C, so their names carry the target's
C mangling. Served by the in-tree OrcRTBootstrap; controller and
executor mangle the same specs and nothing else defines these names.
Commit: 4c36312084fea422bec96f1bdb599b38b144289d
https://github.com/llvm/llvm-project/commit/4c36312084fea422bec96f1bdb599b38b144289d
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/include/lldb/Expression/LLVMUserExpression.h
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py
Log Message:
-----------
[lldb] Refactor PrepareToExecuteJITExpression (#224888)
Refactor the body of PrepareToExecuteJITExpression into two methods:
AllocateInterpreterStackFrame and AllocateAndMaterializeStruct.
This change is purely mechanical, but improves readability and sets up a
future refactor: AllocateAndMaterializeStruct is generic expression
setup and should remain where it is, but AllocateInterpreterStackFrame
is only needed on the interpreter path and can be sunk into that path in
a future commit.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: bc06d87e23554f439b4010c3d88082bf5b6dfb7b
https://github.com/llvm/llvm-project/commit/bc06d87e23554f439b4010c3d88082bf5b6dfb7b
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/utils/TableGen/AsmWriterEmitter.cpp
Log Message:
-----------
[TableGen] Extract instruction grouping in AsmWriterEmitter (NFC) (#222498)
This patch extracts instruction similarity grouping into
groupInstructions, a helper function that returns an array of
InstructionGroup structs in AsmWriterEmitter.
Currently, EmitInstructions performs both instruction grouping
(scanning for instructions differing in at most one operand) and code
emission in a single step while popping elements from the Instructions
vector.
This patch decouples grouping from code emission:
- groupInstructions clusters similar instructions into
InstructionGroups.
- emitInstructions emits the case labels and dispatches to
emitInstructionOperands for each group.
This patch produces byte-identical output for all targets while
preparing for a subsequent patch that will call asm writer helper
functions through a function pointer table instead of emitting a large
switch statement.
Assisted-by: Antigravity
Commit: 86f4728feefee41e53c1037b5918fb18e12a4696
https://github.com/llvm/llvm-project/commit/86f4728feefee41e53c1037b5918fb18e12a4696
Author: Mircea Trofin <mtrofin at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/ThinLTO/X86/cfi-import-internal-coroutine.ll
A llvm/test/Transforms/LowerTypeTests/promoted-internal.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-icall-static-inline-asm.ll
A llvm/test/Transforms/ThinLTOBitcodeWriter/cfi_dso_local_equivalent.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
Log Message:
-----------
Reapply "[CFI] Create an external linkage alias instead of promoting i… (#220339) (#225173)
There were 3 issues with the original commit:
1. handling of `dso_local_equivalent`. This was subsequently addressed in PR #222036 as an independent fix. An earlier version of the fix, 220450, had an extra test, cfi_dso_local_equivalent.ll, which is specific to the interaction between this patch and dso_local_equivalent. That test is re-introduced here.
2. a COFF issue discovered through the original pass, uncovered on Chromium builds, and fixed by @andysjlim in PR #220674. Thank you!
3. an issue we discovered in google downstream, involving coroutines. See the `cfi-import-internal-coroutine.ll`, and the difference between the first version and the second version of this PR (in Graphite) (<- AI was used here)
Commit: a2fdb8fe0d09dbc1d543c3381f0ddacdf7054c5e
https://github.com/llvm/llvm-project/commit/a2fdb8fe0d09dbc1d543c3381f0ddacdf7054c5e
Author: Wenju He <wenju.he at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Make temp files land relative to cwd with unique names (#224506)
Derive the CodeGen/AOT stem from -o's basename instead of its full
path, so these intermediates land in cwd alongside the .bc temps
instead of splitting -save-temps output across two directories.
Route them through createTempFile instead of building
`<stem>_<index>.ext` directly, so parallel invocations sharing an
output basename don't collide. Its random suffix also makes
`_<index>` redundant, so drop it; `--spirv-dump-device-code` keeps its
index since it has no random suffix and still needs one.
---------
Co-authored-by: Claude Sonnet 5 <noreply at anthropic.com>
Commit: d6d73f1ab347574f51e03076a1c7cccd7dbfbdce
https://github.com/llvm/llvm-project/commit/d6d73f1ab347574f51e03076a1c7cccd7dbfbdce
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.dot.ll
Log Message:
-----------
[AMDGPU][InstCombine] Add dot zero/constant folding tests. NFC (#225001)
<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
Commit: 4a358b89216a4fa56b08355d2b00f694657f64ba
https://github.com/llvm/llvm-project/commit/4a358b89216a4fa56b08355d2b00f694657f64ba
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizePointerCast.ll
A llvm/test/CodeGen/SPIRV/pointers/byte-address-buffer-long-vector.ll
Log Message:
-----------
[SPIR-V] Fix wrong element inferred for long vectors when using ByteAdressBuffer (#222220)
fixes #222214
On the offload tests we recently switch the long vector tests from using
StructuredBuffer element loads and stores to ByteAddressBuffer vector
loads and stores With StructuredBuffer you can see we use the right type
for the vector https://hlsl.godbolt.org/z/jYhd57jvn
However with ByteAddressBuffer instead of a float vector we are infering
incorrectly an int vector https://hlsl.godbolt.org/z/KMnxfv8z6
The Fix is to use spv_bitcast instead of an llvm ir bitcast. An ordinary
LLVM bitcast i32 to float becomes a same-size GlobalISel operation. Both
i32 and float use the same low-level type, s32, so
legalization/coalescing can eliminate the bitcast. switching to
spv_bitcast solves this because it forces a `buildAssignType` which will
preserve the type and allows us to distinguish ints from floats.
Commit: b8330cd2fb91d36ffb1766989f4a227a77d00c9c
https://github.com/llvm/llvm-project/commit/b8330cd2fb91d36ffb1766989f4a227a77d00c9c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
M mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareCtorDtorConversion.cpp
A mlir/test/Dialect/OpenACC/acc-declare-ctor-dtor-extra.mlir
Log Message:
-----------
[mlir][openacc] Add extra-constructors option to declare ctor conversion (#225194)
Allow acc-declare-ctor-dtor-conversion to declare extra runtime
functions
and call them from a generated constructor. Entries are separated in two
list,
one list where the functions are always added and one where the
functions are
added only if entry-point-name is present in the module.
The extra functions stay external declarations. This is used to generate
sentinel in different compilation mode.
Commit: 281308d5666eff4b00ac743d2623dd4f018754ca
https://github.com/llvm/llvm-project/commit/281308d5666eff4b00ac743d2623dd4f018754ca
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/Options.td
M lld/ELF/Symbols.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/warn-backrefs.s
Log Message:
-----------
[ELF] Remove --fortran-common (#220813)
--fortran-common implements a legacy linker rule that lets a COMMON
symbol extract an archive member providing a STB_GLOBAL definition,
departing from the rule that only an undefined symbol extracts a member.
The option has defaulted to off since LLVM 15, complicates parallel
symbol resolution, and is deemed unneeded.
Close: #205015
Link: https://discourse.llvm.org/t/removal-of-fortran-common-option/91553
Commit: 41b7eabb4564f09d7bd7ba54d8f7a38a8f449621
https://github.com/llvm/llvm-project/commit/41b7eabb4564f09d7bd7ba54d8f7a38a8f449621
Author: A. Jiang <de34 at live.cn>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/24.rst
M libcxx/docs/Status/Cxx26Papers.csv
M libcxx/include/__type_traits/is_within_lifetime.h
M libcxx/include/version
M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement P3450R1: Extend `std::is_within_lifetime` (#201053)
The implementing approach only requires the initial form of
`__builtin_is_within_lifetime` taking one pointer to the object
(necessary for P2641R4), along with `__builtin_constant_p` which is used
for the changes in this paper.
In the future, `__builtin_is_within_lifetime` is possibly enhanced to
additionally take a type, but the library implementation does not need
to be blocked on such improvement.
Commit: ce06ac932eca6a403fa2f1f84fc5724fd30dc562
https://github.com/llvm/llvm-project/commit/ce06ac932eca6a403fa2f1f84fc5724fd30dc562
Author: Fangrui Song <i at maskray.me>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M llvm/unittests/Option/OptionMarshallingTest.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[Option] Remove OPTTABLE_STR_TABLE_CODE (#224822)
Its two users read OptionStrTable to spell an option. The unittest now
compares option IDs. lldb prepends '-' to the name it reads, which has
been the prefixed name since 501f92d34382 (2023), so it passes
"--mmacos-version-min=<ver>", which the driver rejects and drops; spell
it with the driver option table instead.
Aided by Opus 5
Commit: b4ed7af4ada75884a9b2bcaaea8691c8b286b136
https://github.com/llvm/llvm-project/commit/b4ed7af4ada75884a9b2bcaaea8691c8b286b136
Author: saloni-shinde-Q <saloshin at qti.qualcomm.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/lib/Target/RISCV/RISCV.td
M llvm/test/MC/RISCV/priv-invalid.s
M llvm/test/MC/RISCV/rv32d-invalid.s
M llvm/test/MC/RISCV/rv32zclsd-invalid.s
M llvm/test/MC/RISCV/rv32zdinx-invalid.s
M llvm/test/MC/RISCV/rv32zfh-invalid.s
M llvm/test/MC/RISCV/rv32zfinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinx-invalid.s
M llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
M llvm/test/MC/RISCV/rv64d-invalid.s
M llvm/test/MC/RISCV/rv64f-invalid.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
M llvm/test/MC/RISCV/rv64zdinx-invalid.s
M llvm/test/MC/RISCV/rv64zfh-invalid.s
M llvm/test/MC/RISCV/rv64zfinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinx-invalid.s
M llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/xqcia-invalid.s
M llvm/test/MC/RISCV/xqciac-invalid.s
M llvm/test/MC/RISCV/xqciio-invalid.s
M llvm/test/MC/RISCV/xqcili-invalid.s
M llvm/test/MC/RISCV/xqcilo-invalid.s
M llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s
M llvm/test/MC/RISCV/xqcilsm-invalid.s
A llvm/test/TableGen/AsmMatcherPrioritizeFeature.td
A llvm/test/TableGen/AsmMatcherPrioritizeFeatureErrors.td
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[RISCV][MC] Prioritize features in MultiMismatchFallback (#215737)
Add the `PrioritizeFeatureInMultipleNearMisses` AsmParser option and
enable it for RISCV.
When an instruction has both missing features and multiple invalid
operands, prioritize the feature entry when populating `MultiMismatchFallback` so
that diagnostics identify the missing extension.
Keep the existing `MultiMismatchFallback` behavior unchanged for targets
that do not enable the option.
This change was assisted by AI.
Commit: d677e53ba64a897a7575706c4782f9575e5ec914
https://github.com/llvm/llvm-project/commit/d677e53ba64a897a7575706c4782f9575e5ec914
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/unittests/ABI/CMakeLists.txt
A llvm/unittests/ABI/TargetInfoTest.cpp
M llvm/utils/gn/secondary/llvm/unittests/ABI/BUILD.gn
Log Message:
-----------
[ABI] Hoist isSingleElementStruct into TargetInfo and fix array reduction (#224994)
Changes:
- Move `isSingleElementStruct` from `X86_64TargetInfo` into the shared
`TargetInfo` base so other targets can reuse it, and restore the
`isAggregateTypeForABI` guard from classic CodeGen so a multi-element
array field no longer reduces (e.g. struct { short a[2]; } stays i32
instead of [2 x i16]).
- Add unit tests for the reduction in to new test file `TargetInfoTest`.
Relates to : https://github.com/llvm/llvm-project/issues/220471
Assisted by: claude opus 4.8
Commit: 76301e4aa9a9dc28f0074eb9ef591e299dc319bc
https://github.com/llvm/llvm-project/commit/76301e4aa9a9dc28f0074eb9ef591e299dc319bc
Author: Wenju He <wenju.he at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/LTO/Config.h
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[LTO] Add PassBuilderCallback to Config (#224896)
This allows LTO backend to register PassBuilder extension point
callbacks, mirroring the existing PreCodeGenPassesHook.
Commit: fd979c6266fa98c5a55c2d27af697c110838c1bc
https://github.com/llvm/llvm-project/commit/fd979c6266fa98c5a55c2d27af697c110838c1bc
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/ABI/FunctionInfo.h
M llvm/unittests/ABI/FunctionInfoTest.cpp
Log Message:
-----------
[ABI] Add IndirectAliased kind to abi::ArgInfo (#225005)
Changes:
- Mirror `clang::CodeGen::ABIArgInfo::IndirectAliased:` an indirect
argument whose pointer may alias an object referenced elsewhere and is
never byval.
- Add the kind, a `getIndirectAliased` factory, an `isIndirectAliased`
predicate, and widens the indirect align/addrspace/realign accessors to
both kinds.
- Add unit tests in FunctionInfoTest.
Relates to : https://github.com/llvm/llvm-project/issues/220471
Assisted by: claude opsu 4.8
Commit: 1f825d419c8129aa11212cd598f3f72ee38d3c44
https://github.com/llvm/llvm-project/commit/1f825d419c8129aa11212cd598f3f72ee38d3c44
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes ce06ac9 (#225288)
This fixes ce06ac932eca6a403fa2f1f84fc5724fd30dc562 (#224822).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=ce06ac932eca6a403fa2f1f84fc5724fd30dc562
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: c73350f61f140739545fa9427ab0547d7463d573
https://github.com/llvm/llvm-project/commit/c73350f61f140739545fa9427ab0547d7463d573
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
M llvm/test/MC/AArch64/directives-case_insensitive.s
A llvm/test/MC/AArch64/tls-auth-relocs.s
Log Message:
-----------
[PAC][ELF] Support R_AARCH64_AUTH_TLSDESC_CALL relocation (#198327)
The R_AARCH64_AUTH_TLSDESC_CALL is introduced to allow linker relaxation
of AUTH TLSDESC call sequences for non-preemptible undefined weak
symbols.
The lld patch introducing the relaxation: #194636
Corresponding ARM docs PR:
https://github.com/ARM-software/abi-aa/pull/395
Commit: 13c5814d8006ab386881cf7f9387f4dd44e79d94
https://github.com/llvm/llvm-project/commit/13c5814d8006ab386881cf7f9387f4dd44e79d94
Author: Vicky Nguyen <vicky.trucviennguyen at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/test/CodeGen/AArch64/neon-intrinsics.c
R clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon/load.c
M clang/test/CodeGen/AArch64/poly64.c
Log Message:
-----------
[CIR][AArch64] Upstream load (vld[234]_*/vld[234]q_*) NEON builtins (#220476)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for load intrinsics (`vld[234]_*`/`vld[234]q_*`)
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#stride)
Port tests:
- `clang/test/CodeGen/AArch64/neon-intrinsics.c`
- `clang/test/CodeGen/AArch64/neon-ldst-one.c`
- `clang/test/CodeGen/AArch64/poly64.c`
to `clang/test/CodeGen/AArch64/neon/load.c`
Commit: b2fab5a4ec1dcd2869ed579241975ff7fd2cb6be
https://github.com/llvm/llvm-project/commit/b2fab5a4ec1dcd2869ed579241975ff7fd2cb6be
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Mangle GDBJITRegistrar alloc-action CI names as C (#225275)
Flip RegisterJITLoaderGDBAllocActionName and its deregister counterpart
from Verbatim to C, so their names carry the target's C mangling. The
register action is served in-tree by llvm_orc_registerJITLoaderGDBAlloc-
Action (DefaultHostBootstrapValues, via mangledCopy of the same spec)
and resolved by the debugger-support plugins through the same spec, so
both sides stay in sync.
Commit: 6faaea17bcd9f69c0e409e66d56422314988392b
https://github.com/llvm/llvm-project/commit/6faaea17bcd9f69c0e409e66d56422314988392b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SharedMemoryMapperSPSCI.h
Log Message:
-----------
[ORC] Mangle SharedMemoryMapper CI names as C (#225277)
Flip the SharedMemoryMapper descriptors (instance +
reserve/initialize/deinitialize/release) from Verbatim to C, so their
names carry the target's C mangling. Served by the in-tree
ExecutorSharedMemoryMapperService; controller and executor mangle the
same specs and nothing else defines these names.
Commit: c04e54001b5cff87d7f89819716dbea1e7493c5f
https://github.com/llvm/llvm-project/commit/c04e54001b5cff87d7f89819716dbea1e7493c5f
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
Log Message:
-----------
[ORC] Mangle MachOUnwindInfoRegistrar CI names as C (#225278)
Flip the MachOUnwindInfoRegistrar register/deregister-sections
descriptors from Verbatim to C, so their names carry the target's C
mangling. Served in-tree by UnwindInfoManager (via mangledCopy of the
same specs) and resolved by UnwindInfoRegistrationPlugin through the
same specs, so both sides stay in sync; nothing else defines them.
Commit: 4c377436c5d688196ee97ee6888d1d96894efc60
https://github.com/llvm/llvm-project/commit/4c377436c5d688196ee97ee6888d1d96894efc60
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M .github/workflows/build-libc-container.yml
Log Message:
-----------
[Github] Rename libc container to 26.04 (#225297)
The last commit bumped it to 26.04, but I forgot to rename it.
Commit: dc21109c01ad1d52f105f892794b1995e449751b
https://github.com/llvm/llvm-project/commit/dc21109c01ad1d52f105f892794b1995e449751b
Author: Sudharsan Veeravalli <svs at qti.qualcomm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmi.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/xqccmi-invalid.s
A llvm/test/MC/RISCV/xqccmi-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add assembler support for the Qualcomm Xqccmi vendor extension (#225119)
This patch adds support for assembling and disassembling the Qualcomm
Xqccmi 16-bit Instruction Lookup Table vendor extension. The extension
has a single `qc.cm.ilut` instruction which executes one or two
instructions from an instruction lookup table. The encoding overlaps
with `c.fld`, making `Xqccmi` and `Zcd` mutually exclusive.
The extension also adds two CSR's `qc.itba` and `qc.itdec` that contain
the lookup table base address and the leading double entries count
respectively.
Spec:
https://github.com/qualcomm/riscv-unified-db/releases#release-Xqccmi-0.2.0
Assisted by gpt-5.6-luna.
Commit: 22fc5f54fa0e1a16b68126329afbebcc39960311
https://github.com/llvm/llvm-project/commit/22fc5f54fa0e1a16b68126329afbebcc39960311
Author: Zeyi Xu <zeyi2 at nekoarch.cc>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
A llvm/test/MC/Disassembler/RISCV/xcvbitmanip-invalid.txt
Log Message:
-----------
[RISCV][MC] Reject invalid combined immediates for cv.insert in the disassembler (#225269)
Follow up of #224985
Commit: d11b9adc9bd2a1c8142ff134d04275c4cfce34b0
https://github.com/llvm/llvm-project/commit/d11b9adc9bd2a1c8142ff134d04275c4cfce34b0
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/collapse_ordered_instantiation_dependent.cpp
Log Message:
-----------
[Clang][OpenMP] Delay `collapse/ordered` nest walk until instantiation (#225052)
Do not fold `collapse` and `ordered` counts in `checkOpenMPLoop` until
the expression is no longer instantiation-dependent.
Clause parsing already waits. The loop walker did not. A count like
`sizeof(sizeof(T() + T()))` was folded in the template, so Clang could
walk the wrong number of loops before instantiation.
Commit: 94f5dd0eb25ed97603af1d0a501c412fcfea6696
https://github.com/llvm/llvm-project/commit/94f5dd0eb25ed97603af1d0a501c412fcfea6696
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/src/dllexports
M openmp/runtime/src/i18n/en_US.txt
A openmp/runtime/src/kmp_device_env.cpp
A openmp/runtime/src/kmp_device_env.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
A openmp/runtime/test/env/omp_default_device_all_rejected.c
A openmp/runtime/test/env/omp_denylist_extra_coverage.c
A openmp/runtime/test/env/omp_num_threads_all_demo.c
A openmp/runtime/test/env/omp_num_threads_all_host.c
A openmp/runtime/test/env/omp_num_threads_all_set_defaults.c
A openmp/runtime/test/env/omp_num_threads_dev_all_fallback.c
A openmp/runtime/test/env/omp_num_threads_dev_invalid.c
A openmp/runtime/test/env/omp_num_threads_dev_overflow.c
A openmp/runtime/test/env/omp_num_threads_dev_resolve.c
A openmp/runtime/test/env/omp_num_threads_host_overrides_all.c
A openmp/runtime/test/env/omp_num_threads_host_vs_device.c
A openmp/runtime/test/env/omp_num_threads_warnings_off.c
Log Message:
-----------
[libomp] OpenMP 6.0 Device-Scope Environment Variables (#197191)
The patch introduces `_ALL` `_DEV` `_DEV_<id>` env var suffixes to the
LLVM's OpenMP host runtime `libomp`. The eligible-list env var currently
supports `OMP_NUM_THREADS`.
Assisted by Claude Opus 4.7 / Claude 4.6 Sonnet
Commit: e0d9b608406b95d6906db68c05e04bb6e328d65b
https://github.com/llvm/llvm-project/commit/e0d9b608406b95d6906db68c05e04bb6e328d65b
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M orc-rt/test/unit/bedrock/ExecutorProcessInfoTest.cpp
Log Message:
-----------
[orc-rt] Fix unit test. (#225299)
Use !! to convert EPI to bool, and ExecutorProcessInfo::pageSize() to
get the page size (ExecutorProcessInfo::PageSize is private).
Commit: 5587ab44938b396a01268f118fad8b32a59104a3
https://github.com/llvm/llvm-project/commit/5587ab44938b396a01268f118fad8b32a59104a3
Author: Dark Steve <Prasoon.Mishra at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-trivial-select.ll
M llvm/test/Transforms/SimpleLoopUnswitch/pr138509.ll
A llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-header-phi.ll
Log Message:
-----------
[SimpleLoopUnswitch] Allow trivial unswitch when exit LCSSA is a header PHI (#222962)
Trivial unswitch bails on a common loop shape: a loop-invariant branch
in the header that exits the loop returning a loop-carried value.
```
int acc = 0;
for (...) {
if (c)
return acc;
acc++;
}
```
After loop-rotate the `if` sits in the header, and the exit reads the
header PHI `%acc`. Trivial unswitch hoists the branch into the
preheader, so the exit value must be available there. It only accepts
loop-invariant values, and `%acc` is not one, so it gives up. But `%acc`
is safe here: the branch is invariant, so if the loop exits it exits on
the first iteration, before the latch runs. On that edge `%acc` still
holds its entry value, 0.
This is not specific to the header. The same holds for any invariant
branch whose block dominates the latch, so every header PHI still holds
its entry value.
Allow the unswitch in these cases. When an exit's LCSSA incoming is a
header PHI (and the branch's block dominates the latch), replace it with
the value the PHI takes from the preheader (its entry value), which
keeps SSA valid.
Commit: 9ac223e87234e44464d9c43ee7de188173043306
https://github.com/llvm/llvm-project/commit/9ac223e87234e44464d9c43ee7de188173043306
Author: forking-google-bazel-bot[bot] <265904573+forking-google-bazel-bot[bot]@users.noreply.github.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M utils/bazel/llvm-project-overlay/openmp/runtime/src/BUILD.bazel
Log Message:
-----------
[Bazel] Fixes 94f5dd0 (#225300)
This fixes 94f5dd0eb25ed97603af1d0a501c412fcfea6696 (#197191).
Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=94f5dd0eb25ed97603af1d0a501c412fcfea6696
Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Commit: 9c0960684778fcfb8308a37a992633cceb3ee48c
https://github.com/llvm/llvm-project/commit/9c0960684778fcfb8308a37a992633cceb3ee48c
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A orc-rt/include/orc-rt/bedrock/ConnectionSpec.h
M orc-rt/lib/bedrock/CMakeLists.txt
A orc-rt/lib/bedrock/ConnectionSpec.cpp
M orc-rt/test/unit/CMakeLists.txt
A orc-rt/test/unit/bedrock/ConnectionSpecTest.cpp
Log Message:
-----------
[orc-rt] Add ConnectionSpec, a connection-string parser (#225304)
Parses the string a process is given to describe the connection it
should establish with its peer:
<transport>[:<action>]=<descriptor>
Checking is punctuation only: the transport and action are opaque tokens
and the descriptor's syntax belongs to the transport, so a spec parses
without knowing which transports this process was built with.
The grammar is LLVM's (#225075), so the same vocabulary reaches an
orc-rt executor and an LLVM controller. A registry mapping transports to
the connectors that implement them will be added in a follow-up commit.
Commit: 639d199326c1ae95d8b2fa26390d45ade0f20a19
https://github.com/llvm/llvm-project/commit/639d199326c1ae95d8b2fa26390d45ade0f20a19
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
R llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
A llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll
Log Message:
-----------
[AMDGPU] Constant folding for wave-reduce intrinsics (#212755)
Relates to: https://github.com/llvm/llvm-project/pull/193142
A missed optimization opportunity.
While most constants to `add`, `sub` and `xor` wave reductions
cannot be folded, some identity constants(0, 1) can do with
some special handling.
Commit: d2d28852845aaf0588a4c4a9db341cb217440247
https://github.com/llvm/llvm-project/commit/d2d28852845aaf0588a4c4a9db341cb217440247
Author: Zinovy Nis <zinovy.nis at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
Log Message:
-----------
[clang-tidy] Fix De Morgan for overloaded comparisons (#221432)
Before my patch:
(https://source.chromium.org/chromium/chromium/src/+/main:base/trace_event/memory_allocator_dump.cc;l=174)
```diff
- if (!(name == rhs.name && units == rhs.units &&
- entry_type == rhs.entry_type)) {
+ if (!name == rhs.name || !units == rhs.units ||
+ entry_type != rhs.entry_type) {
```
With the patch:
```diff
- if (!(name == rhs.name && units == rhs.units &&
- entry_type == rhs.entry_type)) {
+ if (name != rhs.name || units != rhs.units ||
+ entry_type != rhs.entry_type) {
```
Tests were written with the assistance of ChatGPT 5.6 Terra
Commit: b65e29010b8e05bbb916a8c0de163c9d1bb223ec
https://github.com/llvm/llvm-project/commit/b65e29010b8e05bbb916a8c0de163c9d1bb223ec
Author: David Green <david.green at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-vctp.ll
Log Message:
-----------
[ARM] Fix swapped condition in PerformVSetCCToVCTPCombine. (#225112)
This was swapping the wrong condition to a SETUGT. Came up in #224857.
Also remove vctp64 as we cannot fold 64bit integers to vctp.
Commit: 9517d7182766f9d16dda05a97464660e27ce91f3
https://github.com/llvm/llvm-project/commit/9517d7182766f9d16dda05a97464660e27ce91f3
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/low-trip-count-body-size-limit.ll
A llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count-ic-3.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
A llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count-body-size-limit.ll
A llvm/test/Transforms/LoopVectorize/RISCV/small-trip-count-vf-plus-one.ll
Log Message:
-----------
[LoopVectorize] Improve Vectorization of Low Trip Count Loops (#195823)
Currently, Small Loops with Trip Counts less than 16, and in situations
where the Trip Count (TC) is less than the Tail Folding Threshold are
harder to vectorize, its only possible where no epilogue will be
emitted. However, for loops with large bodies and small trip counts this
can be counterproductive to performance, often failing to vectorize
entirely. This is more prevalent with targets where
`getMinTripCountTailFoldingThreshold()` returns a value greater than 0.
To address this, the Small Loops where the TC == VF + 1 can now
vectorize, leading to a vectorized iteration (or loop if interleaving is
required) and a single scalar iteration. Later passes can then remove
the loop's entirely.
Testing an with OpenSource Fortran HPC Benchmark which includes multiple
loops with small trip counts, but large loop bodies, has shown
significant improvement to runtime after these changes.
Assisted-by: Claude Sonnet 4.6/Codex
Commit: 167761dd0d716c264a44691464fb8c4e2d52e303
https://github.com/llvm/llvm-project/commit/167761dd0d716c264a44691464fb8c4e2d52e303
Author: Mattéo Rizza Murgier <matteo.rizza-murgier at sipearl.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/utils/profcheck-xfail.txt
Log Message:
-----------
[CodeGen][ProfCheck] Mark scalable intrinsic expansion loop with unknown weights (#225050)
Commit: 3a4d8a9e6acaed193477208328be0eb8f24fd253
https://github.com/llvm/llvm-project/commit/3a4d8a9e6acaed193477208328be0eb8f24fd253
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
Log Message:
-----------
[Clang] Stop using strip.invariant.group (#225072)
Clang currently emits calls to llvm.strip.invariant.group under
`-fstrict-vtable-pointers` whenever a pointer to a dynamic object is
used in a comparison or might be used in a comparison through operations
we cannot track.
The purpose of the llvm.strip.invariant.group intrinsic is to make sure
that if we have a dominating condition like `a ==
launder.invariant.group(a)`, we don't end up replacing the latter with
the former, as that would allow the optimizer to assume that the memory
stays invariant, despite going through a launder operation (e.g. on
placement new).
However, since this was introduced, we've come to the understanding that
replacing pointers based on equality comparison is generally only legal
if they have the same provenance, and stopped doing such replacements.
The specific strip.invariant.group/launder.invariant.group case was
still buggy due to an implementation bug, but this was fixed in
https://github.com/llvm/llvm-project/pull/224281.
As such, I believe that we no longer need to emit
llvm.strip.invariant.group in Clang. I plan to also remove the LLVM
intrinsic in a followup.
Commit: 999b8c4e6b781768cb2bdd5595c89587dd92cef5
https://github.com/llvm/llvm-project/commit/999b8c4e6b781768cb2bdd5595c89587dd92cef5
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
R orc-rt/test/regression/darwin/check-rt-process-info.test
M orc-rt/test/regression/lit.cfg.py
Log Message:
-----------
[orc-rt] Make check-rt-process-info.test test more generic. (#225314)
Add %host-arch and %host-os substitutions to orc-rt-lit's config, and
use them to make the regression test platform agnostic.
Commit: 1833848c3e6ddc1d670cc0adea027867b9ed742b
https://github.com/llvm/llvm-project/commit/1833848c3e6ddc1d670cc0adea027867b9ed742b
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
Log Message:
-----------
[clang-repl] Support wasm64 execution (#225311)
Emscripten-forge is adding wasm64 builds on its emscripten 6-x branch
which exposed two wasm32 hardcoded assumptions in clang-repl's
WebAssembly execution path.
`IncrementalCompilerBuilder::CreateCpp()` currently hardcodes
`wasm32-unknown-emscripten`, even when clang-repl itself is built for
wasm64.
Once Clang emits a wasm64 object, the in-process linker must also select
the correct emulation. `wasm-ld` defaults to wasm32 and otherwise fails
in `InputFile::checkArch()` with:
```text
must specify -mwasm64 to process wasm64 object files
```
The pipeline is this
```
lldMain
→ lld::wasm::link
→ LinkerDriver::linkerMain
→ createFiles
→ addFile
→ createObjectFile
→ ObjFile::ObjFile
→ InputFile::checkArch
→ fatal: must specify -mwasm64 to process wasm64 object files
```
This patch introduces 2 atomic patches fixing the only 2 buggy sources !
Commit: 2ccc678a64ecd52eace68e363f4d47935a56fb57
https://github.com/llvm/llvm-project/commit/2ccc678a64ecd52eace68e363f4d47935a56fb57
Author: David Green <david.green at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
A llvm/test/CodeGen/AArch64/aarch64-fix-cortex-a53-835769-debug.ll
Log Message:
-----------
[AArch64] Fix position of nop inserted for +fix-cortex-a53-835769 under debug. (#224830)
Make sure that the position of the nop added for +fix-cortex-a53-835769
is not dependant on debug instructions at the start of the block.
Fixes #224661
Commit: 44c4c0220a09a1468c04d9d8319197a078dfbe3b
https://github.com/llvm/llvm-project/commit/44c4c0220a09a1468c04d9d8319197a078dfbe3b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-sext.ll
Log Message:
-----------
[X86] Move PSHUF(SHIFT(X,C0),C1) -> SHIFT(PSHUF(X,C1),C0) to canonicalizeShuffleWithOp (#225313)
No need for this to be in combineTargetShuffle, and we can generalize it
to work with more shuffles in a future patch.
Commit: 80310178c079fc4ec712ace6d72a97bb5c619a12
https://github.com/llvm/llvm-project/commit/80310178c079fc4ec712ace6d72a97bb5c619a12
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/invalid.cpp
M clang/test/SemaCXX/aggregate-default-member-initializers.cpp
Log Message:
-----------
[clang][bytecode] Mark fields as being initialized, even without running a ctor for them (#225295)
To fix the diagnostics.
Commit: 4acbf9b61c3f0579def4ebd1c1abca1048c4c378
https://github.com/llvm/llvm-project/commit/4acbf9b61c3f0579def4ebd1c1abca1048c4c378
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A clang/include/clang/CodeGenUtils/CallUtils.h
A clang/include/clang/CodeGenUtils/ClassUtils.h
A clang/include/clang/CodeGenUtils/ExprUtils.h
A clang/include/clang/CodeGenUtils/FunctionUtils.h
A clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGenUtils/CMakeLists.txt
A clang/lib/CodeGenUtils/CallUtils.cpp
A clang/lib/CodeGenUtils/ClassUtils.cpp
A clang/lib/CodeGenUtils/ExprUtils.cpp
A clang/lib/CodeGenUtils/FunctionUtils.cpp
A clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
Log Message:
-----------
[CIR][CodeGen][NFCI] Move shared AST-only helpers into CodeGenUtils (#223418)
Follow-up to PR #221001. Ten more helpers that both CodeGens had
equivalent copies of, several of them already marked "should be shared"
in
CIR.
Instead of growing CodeGenUtils.h, each helper goes in a header named
for
the classic CodeGen file it came from, with the CGExpr*.cpp family
sharing
ExprUtils.h. CIR's files mirror the classic ones, so the grouping reads
the
same from both sides.
CIR's getNoFPClassTestMask returned unsigned where classic returns
llvm::FPClassTest; the shared version keeps the classic return type.
Assisted-by: Claude Code (Claude Fable 5.1).
Commit: b2ccaab8ea618082b73d23201963dce0a1c03937
https://github.com/llvm/llvm-project/commit/b2ccaab8ea618082b73d23201963dce0a1c03937
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
A llvm/test/Instrumentation/TypeSanitizer/instrumented-args-exts.ll
Log Message:
-----------
[TypeSanitizer] Properly add ext attributes on arguments where needed. (#224366)
The TypeSanitizer should add extension attributes to arguments when inserting
instrumented calls.
This also adds getExtAttrForBoolParam() (and initBoolExtensionsForTriple()) in
TargetLibraryInfo.
Commit: d7750af92b0b0df0eb4e77f82b47f9e93f29b7b1
https://github.com/llvm/llvm-project/commit/d7750af92b0b0df0eb4e77f82b47f9e93f29b7b1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
M llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
A llvm/test/CodeGen/Thumb2/thumb2-reduce-size-cpsr.mir
Log Message:
-----------
ARM: Track CPSR liveness in Thumb2SizeReduction without kill flags (#223068)
Thumb2SizeReduction narrows a 32-bit instruction to its flag-setting
16-bit form only when CPSR is dead afterwards. It determined this from
kill flags on CPSR operands. Kill flags have been semi-deprecated
for over a decade, so avoid relying on them. Liveness should be
evaluated as a reverse walk over a block.
The existing forward walk over the block is still necessary as a
separate step for the different A9 avoidCPSRPartialUpdate optimization.
Co-Authored-By: Claude claude-opus-4.8 <noreply at anthropic.com>
Commit: b9f108134ca91564e2319ad391904b46fe5af33c
https://github.com/llvm/llvm-project/commit/b9f108134ca91564e2319ad391904b46fe5af33c
Author: Hadong Lee <hdchris765 at snu.ac.kr>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
A llvm/test/Transforms/LoopLoadElim/mixed-width-clobber.ll
Log Message:
-----------
[LoopLoadElim] Fix miscompile caused by incorrect store-to-load forwarding across mixed-width clobbers (#224833)
When LoopLoadElimination finds a non-forwardable Store -> Load
dependence, it currently handles it with continue and drops it entirely.
Although that store cannot provide a forwarded value itself, it may
partially clobber the value of another forwarding candidate before the
target load.
This change adds the load to LoadsWithUnsafeDependence when such a
dependence is found, preventing forwarding for that load.
The tests cover zero-distance and non-zero-distance clobbers, including
when a later full-width store overwrites the clobber.
Fixes #224832
Commit: bdb05e67a787048a8e2da4c019c8cdabc44771e8
https://github.com/llvm/llvm-project/commit/bdb05e67a787048a8e2da4c019c8cdabc44771e8
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll
Log Message:
-----------
[SCEVExpander] Keep use flags when expanding adds to GEPs (#225148)
Update expandAddToGEP to accept and thread through operands as SCEVUse.
This properly use SCEVUse flags when expanding GEPs.
PR: https://github.com/llvm/llvm-project/pull/225148
Commit: 8ce031e29bd3df7000f4e7dba9267d83d438ea81
https://github.com/llvm/llvm-project/commit/8ce031e29bd3df7000f4e7dba9267d83d438ea81
Author: Jack Styles <jack.styles at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/masked_compress_load.ll
Log Message:
-----------
[AArch64] Add costs of Promoted types for compressstore (#220257)
When using SVE, types that are not 128bit widths will be promoted to be
legal SVE Types. Currently, when using
llvm.masked.compressstore these types are marked as invalid for SVE Only
but these are legal types. Fixed width 128bit types are also excluded
and would be enabled by this change.
Enable these types whether they are promoted or legal types.
Commit: 6efdb9fb181cfc7650773549f97935dc84efebd4
https://github.com/llvm/llvm-project/commit/6efdb9fb181cfc7650773549f97935dc84efebd4
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Strip WrapPredicate::getImpliedFlags (NFC) (#225137)
The code in SCEVWrapPredicate::getImplied is dead, as we would never add
an increment wrap-predicate to begin with, when the much stronger
invariant of nuw/nsw is available on the AddRec. This also strips the
hasNoOverflow user.
Commit: 9073b4d71e9d66c495df5f6ec42ab0279326f762
https://github.com/llvm/llvm-project/commit/9073b4d71e9d66c495df5f6ec42ab0279326f762
Author: Marcin Radomski <marcin at mradomski.pl>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/test/Transforms/Mem2Reg/ignore-droppable.ll
M llvm/test/Transforms/Mem2Reg/ignore-lifetime.ll
Log Message:
-----------
[PromoteMemToReg] Hoist removeIntrinsicUsers into a pre-pass before promotion (#224617)
Calling removeIntrinsicUsers(AI) inside the per-alloca promotion loop in
PromoteMem2Reg::run() inserts StoreInst(undef) instructions into basic
blocks after LargeBlockInfo (LBI) has already cached instruction indices
for those blocks during earlier iterations. Every subsequent
LBI.getInstructionIndex query on newly inserted StoreInst(undef)
instructions misses in LBI.InstNumbers and triggers a full O(|BB|) basic
block rescan, resulting in O(K * |BB|) compilation time blowup in
promoteSingleBlockAlloca when a basic block contains K scoped allocas.
Hoist removeIntrinsicUsers(AI) into a pre-pass loop over all Allocas
upfront in PromoteMem2Reg::run() before the main AllocaNum promotion
loop begins so all synthetic StoreInst(undef) instructions are inserted
prior to LBI caching.
Attached test verifies this PR doesn't change the behavior compared to
HEAD.
This improves the compile time of some CUDA kernels
(https://github.com/llvm/llvm-project/pull/191909#issuecomment-5569614846)
by ~9x.
Assisted-by: Gemini
Commit: 34a505568ca0cf7c7f90c88964548856309b86c4
https://github.com/llvm/llvm-project/commit/34a505568ca0cf7c7f90c88964548856309b86c4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
Log Message:
-----------
ARM: Don't duplicate the LR def when expanding call pseudos (#225062)
Several pseudo expansions in ARMExpandPseudoInsts built a real call and then
copied the pseudo's operands onto the new instruction. Each of these call opcodes
declares LR as an implicit-def, but the original instruction already had that. The original
def may have been marked as dead, so the result would be a redundant operand with an
inconsistent dead flag. This avoids a failure in a future verifier check.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 32531790756e61174d7bebb7c0543f643298f596
https://github.com/llvm/llvm-project/commit/32531790756e61174d7bebb7c0543f643298f596
Author: Milin Bhade <mbhade at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/load_store.ll
A llvm/test/Analysis/CostModel/X86/nonpow2-load-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
M llvm/test/Transforms/SLPVectorizer/X86/nonpow2-shared-weight-reduction.ll
Log Message:
-----------
[X86] Correct folded insert costs for partial vector loads (#220174)
The SLP vectorizer can form non-power-of-two trees, including width-3
trees, but relies on target costs to determine profitability: #194189
X86 getMemoryOpCost overestimated non-power-of-two vector loads by
counting a folded PINSR*(mem) chunk as both a memory operation and a
separate lane insertion.
Recognize non-0th folded load-insert chunks and charge each once.
Leading sub-dword loads, stores, and 8-byte chunks remain unchanged.
Commit: 977f915470ae98b3e7ee0fcb5555b773b31785a0
https://github.com/llvm/llvm-project/commit/977f915470ae98b3e7ee0fcb5555b773b31785a0
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
Log Message:
-----------
[llvm-pdbutil] Avoid reading EC names from non-EC modules (#223253)
The module dumper resolves the PDB and source file name indices for
every module, even when the module does not contain Edit and Continue
information. If the DBI stream has no EC names table, `dump --modules`
fails with:
Unexpected error processing modules: Stream Error: The stream is too
short
to perform the requested operation.
Only resolve and print the EC names when the module's EC flag is set.
Commit: 3bbfa7173bbfb0a231674822efb84a3e0b9f8c23
https://github.com/llvm/llvm-project/commit/3bbfa7173bbfb0a231674822efb84a3e0b9f8c23
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll
Log Message:
-----------
[SCEVExpander] Mark selects with unknown profile. (#224362)
SCEVExpander creates selects when expanding min/max expressions for
pointers and predicates. In neither case there is any information on how
likely either arm of the select is. Annotate with unknown profile.
This is part of addressing the remaining profcheck failures in
LoopVectorize: https://github.com/llvm/llvm-project/issues/161235.
PR: https://github.com/llvm/llvm-project/pull/224362
Commit: bbff6d83b2b538fc7e76813a5217affb398f8b86
https://github.com/llvm/llvm-project/commit/bbff6d83b2b538fc7e76813a5217affb398f8b86
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/stat.yaml
M libc/src/sys/stat/CMakeLists.txt
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/mkfifoat.cpp
A libc/src/sys/stat/mkfifoat.h
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/mkfifoat_test.cpp
Log Message:
-----------
[libc] Implement mkfifoat in sys/stat (#224628)
### Summary
Implement the standard POSIX.1-2008 function `mkfifoat` in
`<sys/stat.h>`.
Fixes #224587
### Changes
- Added `mkfifoat` function specification to
`libc/include/sys/stat.yaml`.
- Added internal header `libc/src/sys/stat/mkfifoat.h`.
- Implemented `mkfifoat` in `libc/src/sys/stat/linux/mkfifoat.cpp` using
the existing `linux_syscalls::mknodat`.
- Registered `mkfifoat` entrypoint in `libc/src/sys/stat/CMakeLists.txt`
and `libc/src/sys/stat/linux/CMakeLists.txt`.
- Added entrypoint across Linux targets (`x86_64`, `aarch64`, `riscv`).
- Added hermetic unit tests in
`libc/test/src/sys/stat/mkfifoat_test.cpp` using `cpp::scope_exit`
cleanup and C++ `static_cast<mode_t>`.
### Testing
- Built and passed hermetic unit test
`libc.test.src.sys.stat.mkfifoat_test` (4/4 tests passed).
- Verified sibling tests (`mkfifo_test`, `fstat_test`).
- Ran `generate-libc-headers` and verified generated `sys/stat.h`.
- Verified `docgen.py sys/stat.h` output marks `mkfifoat` as
implemented.
- Ran `clang-format` on all touched C++ files.
Commit: 24cc35cc98486cc156170505ff1952d54713374f
https://github.com/llvm/llvm-project/commit/24cc35cc98486cc156170505ff1952d54713374f
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/stat.yaml
M libc/src/sys/stat/CMakeLists.txt
A libc/src/sys/stat/fstatat.h
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/fstatat.cpp
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/fstatat_test.cpp
Log Message:
-----------
[libc] Implement fstatat in sys/stat (#224334)
### Summary
Implement the standard POSIX.1-2008 function `fstatat` in
`<sys/stat.h>`.
Fixes #224327
### Changes
- Added `fstatat` function specification to
`libc/include/sys/stat.yaml`.
- Added internal header `libc/src/sys/stat/fstatat.h`.
- Implemented `fstatat` in `libc/src/sys/stat/linux/fstatat.cpp` using
the existing `internal::stat_via_statx`.
- Registered `fstatat` entrypoint in `libc/src/sys/stat/CMakeLists.txt`
and `libc/src/sys/stat/linux/CMakeLists.txt`.
- Added entrypoint across Linux targets (`x86_64`, `aarch64`, `riscv`).
- Added hermetic unit tests in
`libc/test/src/sys/stat/fstatat_test.cpp`.
### Testing
- Built and passed hermetic unit test
`libc.test.src.sys.stat.fstatat_test` (5/5 tests passed).
- Verified stat-family suite (`stat_test`, `lstat_test`, `fstat_test`,
`fstatat_test`).
- Ran `generate-libc-headers` and verified generated `sys/stat.h`.
- Verified `docgen.py` output marks `fstatat` as implemented.
- Ran `clang-format` on all touched C++ files.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 99988429d395e95a8f994c5307371911145d2c1d
https://github.com/llvm/llvm-project/commit/99988429d395e95a8f994c5307371911145d2c1d
Author: rgal <russell.gallop at sony.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/Options/OptionUtils.cpp
A clang/test/Driver/ps4-ps5-resource-path.cpp
Log Message:
-----------
Remove .. from clang resource path when specified with CLANG_RESOURCE_DIR (#216996)
As discussed here:
https://discourse.llvm.org/t/removing-clang-version-number-from-resource-dir-in-a-distribution/90234
If a distributor wishes to have stable include paths across LLVM
versions, then they can build with `CLANG_RESOURCE_DIR=../lib/clang`.
This results in a slightly untidy include path (E.g.`C:\Program
Files\LLVM\bin\..\lib\clang\include`). This removes the ".." to make it
`C:\Program Files\LLVM\lib\clang\include` in this configuration.
Also added test. This uses "SIE" vendor. Since
https://github.com/llvm/llvm-zorg/commit/eac6791821f5104eb4c2b32f39ef5d20cda535a9,
PS4 and PS5 buildbots use this configuration and define the vendor so
the lack of version number and ".." should be tested on at least these
buildbots.
Commit: f8e7ce4f4624daf1415f908d12e0415a83e26757
https://github.com/llvm/llvm-project/commit/f8e7ce4f4624daf1415f908d12e0415a83e26757
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/compress-idioms.ll
A llvm/test/Transforms/LoopVectorize/RISCV/compress-idioms.ll
A llvm/test/Transforms/LoopVectorize/X86/compress-idioms.ll
A llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
A llvm/test/Transforms/LoopVectorize/compress-idioms.ll
A llvm/test/Transforms/LoopVectorize/compress-store-vec-epilogue.ll
Log Message:
-----------
[LV] Pre-commit compressing pattern tests (NFC) (#225109)
This patch pre-commits tests for #214491.
Commit: 48cccbb8fec8f58ab1d0af449d4d231d53731d5e
https://github.com/llvm/llvm-project/commit/48cccbb8fec8f58ab1d0af449d4d231d53731d5e
Author: Dmitry Sidorov <Dmitry.Sidorov at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
A llvm/test/Analysis/CostModel/X86/shuffle-mask-broadcast.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
Log Message:
-----------
[NFC][CostModel][X86] Add cost tests for vXi1 mask broadcasts (#225070)
Commit: 4faf0ae1d518d97381ed195c5e12d3923f770152
https://github.com/llvm/llvm-project/commit/4faf0ae1d518d97381ed195c5e12d3923f770152
Author: Pavel Labath <pavel at labath.sk>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct___pthread_cleanup_frame.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct___pthread_cleanup_frame.h
M libc/include/pthread.yaml
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/cleanup_stack.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread_attributes.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/__pthread_cleanup_pop.cpp
A libc/src/pthread/__pthread_cleanup_pop.h
A libc/src/pthread/__pthread_cleanup_push.cpp
A libc/src/pthread/__pthread_cleanup_push.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_cleanup_test.cpp
M libc/utils/docgen/pthread.yaml
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/startup/linux/BUILD.bazel
Log Message:
-----------
[libc] Implement pthread_cleanup_push and pthread_cleanup_pop (#223427)
This patch implements the core POSIX thread cleanup mechanism
(pthread_cleanup_push and pthread_cleanup_pop).
POSIX allows these functions to be implemented as macros opening and
closing a lexical block. We allocate an automatic
__pthread_cleanup_frame structure on the stack in the push macro and
unlink it in the pop macro, calling helper functions
(__pthread_cleanup_push and __pthread_cleanup_pop) to link/unlink the
frame on the thread's cleanup_stack.
The stack is drained in LIFO order during thread termination in
call_atexit_callbacks before running __cxa_thread_atexit and TSS key
destructors.
It's worth noting that GLIBC implements this functionality in a much
more complicated way. The cleanup functions are registered with the
unwinding machinery so that throwing an exception (or even just
returning) from the push/pop blocks triggers evaluation of the cleanup
handlers. This behavior is not required (though not forbidden either) by
POSIX, which states that all of these result in undefined behavior. The
cleanup handlers are only run upon explicit
pthread_cleanup_pop(non_zero) or pthread_exit. POSIX also requires
running them on thread cancellation, but we don't implement cancellation
(yet).
*Another* thing worth noting is that this PR causes a couple of headers
to not compile in overlay mode (because I do not provide a definition of
__pthread_cleanup_frame in that case). These are threading headers which
are never supposed to be used in overlay mode (we can't overlay that),
and this is most visible in the bazel build, where I had to mark those
targets as incompatible. There are ways to work around this (the
simplest being providing a placeholder definition of the type for
overlay mode), but that's something I'd like to avoid if possible.
Assisted-by: Gemini
Commit: 394c8dd1493308cb9add77b18987aee2219a65c1
https://github.com/llvm/llvm-project/commit/394c8dd1493308cb9add77b18987aee2219a65c1
Author: Chris Kennelly <ckennelly at ckennelly.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
A llvm/test/Transforms/AggressiveInstCombine/lower-table-based-lowbits-mask-n32.ll
A llvm/test/Transforms/AggressiveInstCombine/lower-table-based-lowbits-mask.ll
Log Message:
-----------
[AggressiveInstCombine] Fold low-bits mask table loads to arithmetic (#222509)
Recognize a load from a constant "low bits mask" table
```
static const uintN_t tbl[K] = { 0, 1, 3, 7, ... }; // tbl[j] == (1 << j) - 1
... x & tbl[i] ...
```
and replace the load with the equivalent arithmetic mask (1 << i) - 1.
This is the target-independent form of the X86 combineAndLoadToBZHI DAG
combine: on X86 with BMI2 the surrounding and still selects to a single
bzhi.
Assisted-by: Claude Code
Commit: 24fbe6a64a112c3ab90dab54e08969f2e2640436
https://github.com/llvm/llvm-project/commit/24fbe6a64a112c3ab90dab54e08969f2e2640436
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Analysis/BasicAA/gep-minabs-different-scale.ll
Log Message:
-----------
[BasicAA] Extend two-variable MinAbsVarIndex heuristic to different scales (#218639)
When performing offset-based reasoning via the min abs heuristic, the
existing two-variables case requires equal absolute scaling factors.
This may be generalized to different scales by factoring the offset as
`GCD*(C0*V0 - C1*V1)`, and relying on cached KnownBits to prove that the
cofactor products differ.
Proof: https://alive2.llvm.org/ce/z/RC4LwD.
Co-authored-by: Alex MacLean <amaclean at nvidia.com>
Commit: ac904273ae4dea5a447719cacf9fae952a7db0e1
https://github.com/llvm/llvm-project/commit/ac904273ae4dea5a447719cacf9fae952a7db0e1
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
Log Message:
-----------
[ORC] Remove unused rt_alt UnwindInfoManager CI names (#225329)
The rt_alt UnwindInfoManager register/deregister action names were added
as a step towards supporting an "ORC-runtime-lite" API within LLVM, but
have not been used so far. This patch removes them, rather than leaving
them to drift. Replacements can be added as part of a coherent design
when ORC-runtime-lite is revisited.
Commit: a2c203465c5c687117f6a73aaa0e580ea4a02258
https://github.com/llvm/llvm-project/commit/a2c203465c5c687117f6a73aaa0e580ea4a02258
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
M orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
M orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
Log Message:
-----------
[orc-rt] Add MsgHeader, the SimpleRemote stream header (#225336)
A SimpleRemote message carries an opcode, a sequence number, a tag and a
payload. MsgHeader is how a byte-stream transport puts those on the
wire: four little-endian uint64 fields, size first, followed by the
payload.
Adding MsgHeader to SimpleRemoteCA makes it easy for stream-based
transports to reuse.
Commit: 031866ff849401f9f42c5fba1e9a84ece38dadbc
https://github.com/llvm/llvm-project/commit/031866ff849401f9f42c5fba1e9a84ece38dadbc
Author: Timur Golubovich <timur.golubovich at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/X86/x86-64-intrcc.ll
Log Message:
-----------
[X86] Don't double count the interrupt stack alignment push in StackSize (#224029)
emitPrologue pushes a slot to give an error-code handler the
return-address parity the frame layout assumes, but StackSize counted
that push as well. NumBytes derives from StackSize, so the subq grew by
8 too and left RSP at 8 mod 16 at every call. Object addresses are
unchanged.
Fixes #44560, fixes #50195
---------
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
Commit: a22714d1867d7941681c129ea1a37c85541a1ad4
https://github.com/llvm/llvm-project/commit/a22714d1867d7941681c129ea1a37c85541a1ad4
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ProgressEvent.cpp
M lldb/tools/lldb-dap/ProgressEvent.h
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/ProgressEventTest.cpp
M lldb/unittests/DAP/ProtocolEventsTest.cpp
Log Message:
-----------
[lldb-dap] Refactor handling progress events. (#224957)
lldb-dap now only uses one thread to receive and throttle received
progress events.
For every progress with a progressId, we delay reporting the progress
for 1000ms until we have recieved a new progress and only send an update
if the progress has a new version after 250ms.
This means for every progress integration test we do nothing for at
least 1250ms. The previous `TestDAP_progress` runs for at least 8s
regardless of how fast the computer is.
Moved most of the test to unittest where we can simulate progress delays
and time passing. We now have only one `TestDAP_progress` test to verify
the client receives progress Events.
When the ProgressEventThread reports a new progressEvent, the reporter
then.
- Create or update the `PendingProgress` with that progressId.
- Determines the action to take based on the ProgressState,
k_start_delay and k_update_interval.
- Sends the apropriate Event based on the action calculated.
Migrate the API test to the new infrastructure.
Add unit tests for the ProgressEventReporter and protocol progressXXXX
POD.
Commit: d3cce170b16abfb9cf54de4e92e5b28fdd21f0fa
https://github.com/llvm/llvm-project/commit/d3cce170b16abfb9cf54de4e92e5b28fdd21f0fa
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
A lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
A lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
A lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
M lld/test/ELF/aarch64-tlsdesc-pauth.s
Log Message:
-----------
[PAC][lld] Do not emit AUTH relocs against undef weak non-preemptible symbols (#194636)
Undefined weak non-preemptible symbols should be statically resolved and
not signed.
See the corresponding relaxation described in docs:
https://github.com/ARM-software/abi-aa/blob/6e0d6611ac977628af7b2444ff841e76931a3557/design-documents/pauthabi-tls.rst
Previously, a dynamic relocation against such symbols was emitted, which
is not a correct behavior.
The patch also implements support for `R_AARCH64_AUTH_TLSDESC_CALL`
relocation since it's required for the described mandatory relaxation.
See also: https://github.com/ARM-software/abi-aa/pull/391
Depends on: #198327
Resolves #173296
Commit: 750b967f7bf80e08306a42c5d1cfd26d5d1ba56a
https://github.com/llvm/llvm-project/commit/750b967f7bf80e08306a42c5d1cfd26d5d1ba56a
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Transforms/debug-omp-target-internal-proc.fir
Log Message:
-----------
[flang][debug] Do not scope device subprograms at the host procedure. (#225121)
A target device module holds the internal procedures and the outlined
target regions, but not the host procedure they are contained in, which
only the host runs. Scoping them at it leaves a DW_TAG_subprogram with
no code as their parent, and a debugger does not look inside such a
subtree, so the variables of a device internal procedure, and of a
kernel outlined from one, cannot be read even though they are in the
DWARF.
Scope them at the file instead when compiling for the device. Nothing on
the device reads a variable through the host procedure's scope. An
omp.target region is IsolatedFromAbove, so a variable of the host that
the region uses is brought in as one of the region's own arguments
rather than through host association, and a declare target internal
procedure that does need the host association tuple cannot be called
from a target region at all, because passing the tuple in would be the
same violation. Only the name qualification is lost: a frame prints
"add" rather than "test::add", and the full nesting is still in the
linkage name.
Fixes https://github.com/llvm/llvm-project/issues/225101
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: c8e0087998b94c57ff5031ad8107caf4b6f0b8d4
https://github.com/llvm/llvm-project/commit/c8e0087998b94c57ff5031ad8107caf4b6f0b8d4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/reassociate-fma-pairs.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/extracts-folded-into-fmul-users-no-credit.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fadd-with-gathered-fmul-operands.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fma-candidates-after-store-chains.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fma-chain-no-alt-node-reduction.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fmul-constant-lane-fmuladd-combine.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/reduction-root-multi-use-fma.ll
A llvm/test/Transforms/SLPVectorizer/X86/fmul-fused-into-scalar-fadd.ll
A llvm/test/Transforms/SLPVectorizer/X86/fsub-fmul-rhs-combine.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-fadd-with-sub.ll
M llvm/test/Transforms/SLPVectorizer/X86/reassoc-flattened-copyable-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/redux-feed-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-logical-or-and-i1-vector.ll
Log Message:
-----------
[SLP][NFC]Add/update tests for fma-based transfromations, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225367
Commit: 3578fa36b62dc4355225bd6859c0c098f52c29d4
https://github.com/llvm/llvm-project/commit/3578fa36b62dc4355225bd6859c0c098f52c29d4
Author: Akash Manna <akash.manna.mymail at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/for_collapse_stmt_expr_codegen.cpp
M clang/test/OpenMP/for_loop_messages.cpp
Log Message:
-----------
[clang][OpenMP] Fix statement expressions in loop bounds being emitted more than once (#224939)
Fixes #153987
When Sema builds the helper expressions for an OpenMP loop, a bound that
evaluates to a constant is reused directly instead of being captured
into a `.capture_expr.` variable, so the same expression node is spliced
into the init, update, final and precondition helpers. That is fine for
`10 + 1`, but a statement expression like `({int a = 0; 0;})` declares a
variable, and emitting the shared node several times re-declares `a` and
trips `Decl already exists in LocalDeclMap!` in CodeGen. The report only
looked like a bytecode-interpreter issue because the old evaluator
happened to refuse `({float a = 0; a;})` and the new one didn't; the
unused-variable form crashes with both.
The capture decision now treats any expression containing a statement
expression as non-constant, so it goes through the existing capture
path: evaluated once in the pre-init statement, with every helper
reading the captured value. A bound of a non-rectangular loop can't be
captured at all, since it is re-evaluated at every use and the original
condition doubles as the body guard, so a statement expression there is
now rejected with an error, as GCC already does.
Commit: aea9d3f15a6ea47baf76457364ec2bdea288570b
https://github.com/llvm/llvm-project/commit/aea9d3f15a6ea47baf76457364ec2bdea288570b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/Sema/constant-builtins-2.c
Log Message:
-----------
[clang][bytecode] Add a bytecode RUN line for constant-builtins-2.c (#225305)
So changes to this file correctly trigger changes to the bytecode
interpreter.
Commit: 50f8187e00356371353d03f9a27d5b2cf245ec55
https://github.com/llvm/llvm-project/commit/50f8187e00356371353d03f9a27d5b2cf245ec55
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/runtime-alias-checks.ll
Log Message:
-----------
[SLP]Fix SCEV type mismatch when a checked base crosses a cross-width addrspacecast
getUnderlyingObject strips addrspacecast, so a base object can have a
different address type than the access pointer, mixing SCEV types in the
bounds computation.
Fixes #225280
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225374
Commit: 11b427b038a33f4301bdbc818ffc77c425e4494a
https://github.com/llvm/llvm-project/commit/11b427b038a33f4301bdbc818ffc77c425e4494a
Author: Kareem Ergawy <kergawy at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/docs/ModFiles.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Parser/cuf-sanity-tree.CUF
A flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf
Log Message:
-----------
[flang][cuda] Record implicit managed attribution in module files (#224601)
An implicit attribute the compiler applied under `-gpu=mem:managed` is
written into the module file the same way a user-written one is, so a
reader cannot tell them apart. It then treats the attribute as a user
requirement: allocating such a component in a DEVICE object is rejected,
and the memory space the user did ask for on the object no longer wins.
Spell the distinction in the module file as `MANAGED(IMPLICIT)`,
modelled on `INTENT(IN)`: CUDA-data-attr gains an optional parenthesized
qualifier, carried by a new CUDADataAttrSpec parse-tree node in AttrSpec
and ComponentAttrSpec. ATTRIBUTES(...) keeps the bare attribute, so the
qualifier cannot be written there.
The attribute itself is still written out, so a component keeps the same
memory space no matter which options a consumer is compiled with.
Also stop an implicitly applied attribute from making a module a definer
of CUDA symbols. Without this, adding `-gpu=mem:managed` to a module's
build rejects its OpenACC-only consumers over an attribute the user
never wrote.
Commit: dc3d1a84aee26d1b23645f575d0e3e9130891a02
https://github.com/llvm/llvm-project/commit/dc3d1a84aee26d1b23645f575d0e3e9130891a02
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reduction-same-vals-i1.ll
Log Message:
-----------
[SLP]Fix APInt assertion in emitReusedOps for narrow types
The repeat count of a reused scalar may not fit the reduction element
type (e.g. count 2 in i1), tripping the APInt isUIntN assertion when
building the to-mul scale constant. Truncate the count to the element
bitwidth; the modular reduction arithmetic keeps the result equivalent.
Fixes #225279
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225376
Commit: aff1ba103ab3006242c72af33420a3437f4ff1db
https://github.com/llvm/llvm-project/commit/aff1ba103ab3006242c72af33420a3437f4ff1db
Author: tfzee <tim.ziegler at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/lzcnt-cmp-null-deref.mir
Log Message:
-----------
[X86] Fix null dereference in optimizeCompareInstr after lzcnt/tzcnt (#224282)
#210069 added `LTZCNTInst` to the exit condition of the backward scan of
`optimizeCompareInstr()`:
```c++
if (MI || Sub || LTZCNTInst)
break;
```
but it assigns `MI = LTZCNTInst` only inside the *forward* scan's
"EFLAGS is
used by this instruction" branch. When the forward scan never reaches
that
branch, both `MI` and `Sub` stay null.
However later code was built on the idea that one of them is not null.
Added a MIR test that would crash before but gets fixed by this
additional check.
Used AI for code review and comment/PR/test formatting/writing
Commit: c3ea7c1fc5e9b5ef9c637fb9522a44c21d413a6d
https://github.com/llvm/llvm-project/commit/c3ea7c1fc5e9b5ef9c637fb9522a44c21d413a6d
Author: Nikita Popov <npopov at redhat.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/CodeGenCXX/cfi-stats.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Transforms/Utils/SanitizerStats.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-memintrinsic-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
M llvm/test/CodeGen/AMDGPU/lower-indirect-lds-references.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/Transforms/GlobalMerge/alignment-2.ll
M llvm/test/Transforms/GlobalMerge/alignment.ll
M llvm/test/Transforms/GlobalMerge/basic.ll
M llvm/test/Transforms/GlobalMerge/guid.ll
M llvm/test/Transforms/GlobalMerge/macho-symbols.ll
M llvm/test/Transforms/GlobalMerge/private-global.ll
M llvm/test/Transforms/GlobalMerge/used.ll
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
[IR] Add ConstantExpr::getGetElementPtr() accepting DataLayout (#224652)
This overload takes GEP indices but produces a canonical i8 GEP in
ptradd representation. This is intended as a simple migration path for
places currently using `ConstantExpr::getGetElementPtr()` which cannot
be trivially replaced by `ConstantExpr::getPtrAdd()`.
This method is fallible, because something like `(getelementptr i32, ptr
@p, i64 CONST_EXPR)` can't be represented in ptradd form, because there
is no multiply constant expression. Not supporting this for constant
expressions is intentional, as we would not be able to emit a
relocatable expression for this anyway.
I have migrated a couple of sample usages in this PR. These are all
simple usages where the fallibility is not relevant.
The further plan here is to migrate everything (including IRBuilder) to
this new API, and then deprecated the one without the DataLayout
argument.
Commit: cec2eeb8ff2f1075b036d9bfd06c365d006bc972
https://github.com/llvm/llvm-project/commit/cec2eeb8ff2f1075b036d9bfd06c365d006bc972
Author: Yutong Zhu <y25zhu at uwaterloo.ca>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/test/Sema/compare.c
Log Message:
-----------
[Clang] Fix assertion "unsigned range includes negative?" in AnalyzeComparison during Sema of vector comparison with mismatched signed/unsigned types and __builtin_convertvector (#182627)
The ``TryGetExprRange`` function now checks if the operand is an unsigned
vector when computing the ranges.
Fixes #173614
Commit: 25aac605a4f1fc72bd1dcf0bb8d64fbfe2db3aa9
https://github.com/llvm/llvm-project/commit/25aac605a4f1fc72bd1dcf0bb8d64fbfe2db3aa9
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/builtin_commands/cat.py
M llvm/utils/lit/lit/builtin_commands/diff.py
Log Message:
-----------
[lit] Use text mode when opening text files on z/OS (#217434)
On z/OS, we rely on autoconversion to read files correctly, and this
requires files to be opened as text.
The following change https://github.com/llvm/llvm-project/pull/208024
changed the streams to be read and piped as binary resulting in some
test regressions due to unreadable output. This patch restores the
functionality of opening and reading as a text stream.
Commit: c4045dbc18c6637ebc218fe1a82ee62288613c2c
https://github.com/llvm/llvm-project/commit/c4045dbc18c6637ebc218fe1a82ee62288613c2c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/test/Sema/compare.c
Log Message:
-----------
Revert "[Clang] Fix assertion "unsigned range includes negative?" in AnalyzeComparison during Sema of vector comparison with mismatched signed/unsigned types and __builtin_convertvector " (#225389)
Reverts llvm/llvm-project#182627
Post-commit CI found issues:
https://lab.llvm.org/buildbot/#/builders/225/builds/19103
Commit: 5752fb836ad4beb66316fb87825257072d677d1e
https://github.com/llvm/llvm-project/commit/5752fb836ad4beb66316fb87825257072d677d1e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/tools/llvm-extract/recursive.ll
A llvm/test/tools/llvm-extract/verify-input.ll
M llvm/tools/llvm-extract/llvm-extract.cpp
Log Message:
-----------
llvm-extract: Fix not verifying input file (#225378)
Copy the behavior from opt, and add a -disable-verify flag.
Commit: 282bee66a1d76dddf284dc2e102ea5923669bf79
https://github.com/llvm/llvm-project/commit/282bee66a1d76dddf284dc2e102ea5923669bf79
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/libcxx-pr-conformance-tests.yaml
Log Message:
-----------
[Github] Bump libcxx CI container (#225268)
Commit: 565f3f73eef2220bfa80a1894bab29fd6e579a2d
https://github.com/llvm/llvm-project/commit/565f3f73eef2220bfa80a1894bab29fd6e579a2d
Author: Matt Davis <mattd at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
A llvm/test/DebugInfo/X86/unknown-source-language.ll
Log Message:
-----------
[Dwarf] Don't crash in dwarf::isC() on vendor-defined languages (#223739)
isC() enumerates SourceLanguage and falls off the end of the switch into
llvm_unreachable("Unknown language kind."). DW_LANG_lo_user and
DW_LANG_hi_user are both explicit cases, but every vendor-defined code
strictly between them is not, so any of them aborts an asserts-enabled
build.
Assisted-by: LLM
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
Commit: 93e1bed81a47c0b3c3df6de2d5f7d7e4f450ae87
https://github.com/llvm/llvm-project/commit/93e1bed81a47c0b3c3df6de2d5f7d7e4f450ae87
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/docs/OpenMPSupport.md
M clang/docs/ReleaseNotes.md
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/OpenMP/structured-bindings-ast.cpp
A clang/test/OpenMP/structured-bindings-codegen.cpp
A clang/test/OpenMP/structured-bindings-messages.cpp
A clang/test/OpenMP/structured-bindings-nontemporal.cpp
A clang/test/OpenMP/structured-bindings-target-map-different-types.cpp
A clang/test/OpenMP/structured-bindings-template-instantiation.cpp
M clang/test/SemaCXX/decomposition-openmp.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[OpenMP] Support capturing structured bindings in OpenMP regions. (#190832)
This patch adds support for capturing structured bindings (C++20) in
`OpenMP` parallel regions, which previously resulted in an error:
`error: capturing a structured binding is not yet supported in OpenMP`
Commit: daf48dd510921288c89d3b07bc642d2dd5a33998
https://github.com/llvm/llvm-project/commit/daf48dd510921288c89d3b07bc642d2dd5a33998
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCAOverSocket.h
M orc-rt/lib/bedrock/CMakeLists.txt
A orc-rt/lib/bedrock/sys/posix/sps/SimpleRemoteCAOverSocket.cpp
M orc-rt/test/unit/CMakeLists.txt
A orc-rt/test/unit/bedrock/sps/SimpleRemoteCAOverSocketTest.cpp
Log Message:
-----------
[orc-rt] Add a SimpleRemote transport over POSIX sockets (#225393)
A ControllerAccess speaking SimpleRemote over a connected stream socket.
The wire format matches LLVM's SimpleRemoteEPC. POSIX only -- Windows
needs a counterpart alongside the other sys/posix sources.
It owns a reactor thread built on poll(2) over the connection and a wake
socket. IO is non-blocking, so reads and writes resume wherever a
partial transfer stopped. The reactor is the only thread that sends;
callers on other threads append to a queue and wake it.
Reached through createSimpleRemoteCAOverSocket; the implementation is
file-local to the POSIX translation unit, so a Windows version needs no
header change.
The unit test drives it over a real socket pair, playing the controller
on the far end: framing, partial transfers, teardown ordering and the
malformed-message paths. The fixture owns the pair and the Session, so a
test body starts at the interesting part. It installs no on-disconnect
handler: Session reports the disconnect reason through reportError when
none is set, so a test that ends abnormally without asking for the error
fails rather than passing quietly.
Commit: a9fe7a5e5fbc96c15f929ffd313215752bd0d36e
https://github.com/llvm/llvm-project/commit/a9fe7a5e5fbc96c15f929ffd313215752bd0d36e
Author: Igor Wodiany <igor.wodiany at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
Log Message:
-----------
[CodeGen] Prevent potential multiplication overflow (#224665)
This fixes a number of issues reported by a CodeQL scan in the `CodeGen`
directory.
Commit: 86a9a1bd8bcc53762454b7d0aadd17820bbc56d7
https://github.com/llvm/llvm-project/commit/86a9a1bd8bcc53762454b7d0aadd17820bbc56d7
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
M mlir/test/Target/SPIRV/cast-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Let FConvert cast between same width types (#225349)
The spec requires the component type to differ, not the width, so casts
like f16 to bf16 are legal
Prerequisite for https://github.com/llvm/llvm-project/pull/212817
Commit: 55676019676cae0565d8771252f05bc2a222a0a0
https://github.com/llvm/llvm-project/commit/55676019676cae0565d8771252f05bc2a222a0a0
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/test/MC/AArch64/retired-feature-names.s
A llvm/test/MC/AArch64/retired-register-names.s
Log Message:
-----------
[AArch64] Prevent reuse of retired architecture names (#221782)
Add negative tests preventing reuse of retired feature and system register names.
When system registers or feature names are retired, they should be appended to
this file, to ensure they're never re-used in future. `FEAT_MPAMv2` and `FEAT_TME`
are the two features which have been intentionally retired so far.
Commit: 5d8e28af588d12e374bdbe5ed62cfa9dc1fc3f06
https://github.com/llvm/llvm-project/commit/5d8e28af588d12e374bdbe5ed62cfa9dc1fc3f06
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A orc-rt/include/orc-rt/bedrock/ConnectorRegistry.h
A orc-rt/include/orc-rt/bedrock/SocketConnector.h
M orc-rt/lib/bedrock/CMakeLists.txt
A orc-rt/lib/bedrock/ConnectorRegistry.cpp
A orc-rt/lib/bedrock/sys/posix/SocketConnector.cpp
Log Message:
-----------
[orc-rt] Add ConnectorRegistry and the socket:adopt connector (#225398)
Maps the transport named by a ConnectionSpec to the connector that
establishes it. Connectors are registered manually, so they are only
available -- and for static archive builds, only linked -- if explicitly
requested.
Clients can connect a Session to a controller by passing a
ConnectionSpec for a registered transport (provided that the
ConnectionSpec is well-formed as defined by that transport).
This commit introduces a "socket:adopt" connector, which takes a stream
socket that this process already holds and attaches a
SocketSimpleRemoteCA for it.
Commit: 2dbb7d6c55600791b7a26d0bf1ebc8daa278247d
https://github.com/llvm/llvm-project/commit/2dbb7d6c55600791b7a26d0bf1ebc8daa278247d
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
Log Message:
-----------
[mlir][SPIR-V] Lower arith.convertf operation (#212817)
Lower arith.convertf (same-bitwidth casts like f16<->bf16) to
spirv.FConvert
Commit: 58dd2be9a4b535b5467b432ebd6b77e03a93b5de
https://github.com/llvm/llvm-project/commit/58dd2be9a4b535b5467b432ebd6b77e03a93b5de
Author: Ebuka Ezike <e_ezike at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/unittests/DAP/DAPTypesTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap][NFC] Simplify using var_ref_t directly. (#225187)
Make var_ref_t printable, update functions that requires var_ref_t to
use var_ref_t instead of integers.
Commit: db17738290efb586b9700bbecef3a82084a9c5f4
https://github.com/llvm/llvm-project/commit/db17738290efb586b9700bbecef3a82084a9c5f4
Author: Purna Chandra <vennelapurnachandra2006 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/misc/MultipleInheritanceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/test/clang-tidy/checkers/misc/multiple-inheritance.cpp
Log Message:
-----------
[clang-tidy] Fix infinite loop in misc-multiple-inheritance (#220223)
This PR contains the fix for the infinite loop in
`misc-multiple-inheritance`. The checker was getting stuck in an
infinite cycle when it encountered circular inheritance. I fixed this by
adding a visited map (`InterfaceMap.try_emplace(Node, false)`) to break
the cycle during the DFS traversal.
Part of #213948.
Commit: 355b371c0b15e5c5bf29459342a64d5487231500
https://github.com/llvm/llvm-project/commit/355b371c0b15e5c5bf29459342a64d5487231500
Author: Łukasz Plewa <lukasz.plewa at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/usm_functions.cpp
M libsycl/unittests/handler/test_helpers.hpp
M libsycl/unittests/mock/helpers.cpp
M libsycl/unittests/mock/helpers.hpp
M libsycl/unittests/mock/mock.cpp
M libsycl/unittests/queue/memcpy.cpp
M libsycl/unittests/usm/alloc.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
M llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
M offload/languages/kernel/src/LanguageRuntime.cpp
M offload/liboffload/API/Memory.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/plugins-nextgen/level_zero/include/L0Memory.h
M offload/plugins-nextgen/level_zero/include/L0Plugin.h
M offload/plugins-nextgen/level_zero/src/L0Context.cpp
M offload/plugins-nextgen/level_zero/src/L0Device.cpp
M offload/plugins-nextgen/level_zero/src/L0Memory.cpp
M offload/plugins-nextgen/level_zero/src/L0Plugin.cpp
M offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
M offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
M offload/unittests/Conformance/lib/DeviceContext.cpp
M offload/unittests/Conformance/lib/DeviceResources.cpp
M offload/unittests/OffloadAPI/event/olGetEventElapsedTime.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfo.cpp
M offload/unittests/OffloadAPI/memory/olGetMemInfoSize.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemAllocAligned.cpp
M offload/unittests/OffloadAPI/memory/olMemFill.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemPrefetch.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/queue/olLaunchHostFunction.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[offload] add context to olMemAlloc* (#224930)
This is the last part of the context refactor. This patch:
- Adds context param to all memory allocation functions.
- Routes ptr info through the plugins instead of a global map.
- Removes allocation tracking from liboffload.
- olGetMemInfo(OL_MEM_INFO_DEVICE) now returns INVALID_ARGUMENT for host
allocations, which have no per-device affinity.
Re-land of #222677 + #224622, which were reverted together in #224703.
Assisted-by: Claude Opus 4.7
Commit: ee7f51a7d00f05662716d20e451c9c25c0fe79ee
https://github.com/llvm/llvm-project/commit/ee7f51a7d00f05662716d20e451c9c25c0fe79ee
Author: purnima shrivastava <purnimashrivastava05 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
Fix recursive DI variant part (#225373)
`mlir::translateModuleToLLVMIR` could leave recursive `DICompositeType`
metadata unresolved when the composite used `DW_TAG_variant_part`.
`DW_TAG_variant_part` was not emitted as a distinct `DICompositeType`,
unlike other recursive composite type tags. This change adds it to the
distinct path and adds a regression test covering the recursive
variant-part case.
Testing:
* `mlir/test/Target/LLVMIR/llvmir-debug.mlir`
* `ninja -C build check-mlir`
Fixes: #225151
Co-authored-by: Purnima Shrivastava <purnimashrivastava05 at .com>
Commit: d61398d128190a7f67668216c9d43bff7e93e280
https://github.com/llvm/llvm-project/commit/d61398d128190a7f67668216c9d43bff7e93e280
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
M clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
M clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenHIP/hipspv-kernel.cpp
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/CodeGenOpenCL/spir_version.cl
M clang/test/OpenMP/amdgcn_save_temps.c
M clang/test/SemaHIP/atomic-init.hip
Log Message:
-----------
clang/AMDGPU: Use subarch triples in more cc1 tests (#225391)
Commit: 44509a1d80b314b725b56ad3174545b1f4ddde35
https://github.com/llvm/llvm-project/commit/44509a1d80b314b725b56ad3174545b1f4ddde35
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/b42473-r1-crash.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/control-flow-intrinsics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_diverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_loopdiverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/inline-asm.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/interp_f16.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/branch-outside.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-basic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/exit-divergence.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/hidden-post-dom.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/irreducible-1.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/reducible-headers.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/join-at-loop-exit.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/kernel-args.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.buffer.atomic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/no-return-blocks.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/nodivergencesource.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi-undef.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_branch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_loop.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/propagate-loop-live-out.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/temporal_diverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/trivial-join-at-loop-exit.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/uniform_intrinsic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unreachable-loop-block.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unstructured-branch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/workitem-intrinsics.ll
Log Message:
-----------
AMDGPU: Use subarch triples in uniformity analysis tests (#225386)
Commit: c76fd470ddd78d79d4e09ca6628c51bfff9475f5
https://github.com/llvm/llvm-project/commit/c76fd470ddd78d79d4e09ca6628c51bfff9475f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleOfIntrinsics - don't use I variable name for Index iteration. NFC. (#225394)
Shadows the Instruction &I argument.
Noticed in #182768
Commit: cbab69595ca6f5a1c7296985e5555b8b45a35e55
https://github.com/llvm/llvm-project/commit/cbab69595ca6f5a1c7296985e5555b8b45a35e55
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/CMakeLists.txt
A llvm/test/Feature/codegen-plugin-legacy.ll
R llvm/test/Other/codegen-plugin-loading.ll
M llvm/unittests/CodeGen/CGPluginTest/Plugin/CMakeLists.txt
M llvm/unittests/CodeGen/CGPluginTest/PluginTest.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
Log Message:
-----------
[llvm][test] Small fixes around CGTestPlugin (NFC) (#225362)
We use `LLVM_ENABLE_PLUGINS` as condition to run the unit-tests in
CGPluginTest, but we used to built the required plugin under `NOT WIN32
AND NOT CYGWIN`. These only happened to be equivalent. This patch guards
the entire folder under `LLVM_ENABLE_PLUGINS`. It also moves the related
LIT test to Feature/codegen-plugin-legacy.ll and adds REQUIRES plugin.
Commit: d74c1b77c61492ef6c5dc95bcd2b23685509379b
https://github.com/llvm/llvm-project/commit/d74c1b77c61492ef6c5dc95bcd2b23685509379b
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
Log Message:
-----------
[AMDGPU] Unify liveness guard to prevent SCC clobber in frame index lowering in scaling path (#223789)
eliminateFrameIndex has two lowering strategies, but only one has the
proper handling for checking SCC-liveness to prevent clobbering. Unify
them with a helper function to ensure both paths handle the same
Commit: 52ccbddfd304d16f87a2749b4546b1727b1aadc3
https://github.com/llvm/llvm-project/commit/52ccbddfd304d16f87a2749b4546b1727b1aadc3
Author: Lang Hames <lhames at gmail.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M orc-rt/test/regression/init.test
M orc-rt/tools/ogre/ogre.cpp
Log Message:
-----------
[orc-rt] Connect ogre to a controller via a ConnectionSpec (#225400)
ogre now takes a connection spec as its one positional argument, builds
a Session with the bootstrap services registered, registers the
"socket:adopt" connector, connects, and runs until the controller
disconnects. Arguments after "--" are reserved for the program to run
and are not consumed yet.
init.test becomes "ogre --help", since ogre now needs a spec to do
anything and has nothing to connect to under lit yet.
Commit: 70125c825468688465a4319273efd3c2a0373b91
https://github.com/llvm/llvm-project/commit/70125c825468688465a4319273efd3c2a0373b91
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-minbw.ll
Log Message:
-----------
[SLP]Fix crash costing minbw-resized splat gather subtree roots
Splat gather subtree roots have no parent entry, but the min-bitwidth
resize-cost block assumed every non-root node has one and dereferenced
a null user. Charge the resize-back cast to the node's original scalar
type instead, matching the cast emitted when the reusing gather nodes
consume the resized vector.
Fixes https://github.com/llvm/llvm-project/pull/218250#issuecomment-5776455495
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225410
Commit: 1baa43495862650e0d03780d565b8e09d57b3495
https://github.com/llvm/llvm-project/commit/1baa43495862650e0d03780d565b8e09d57b3495
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/class.cpp
Log Message:
-----------
[CIR] Correct how memberPath compares 'current class' (#225237)
I didn't realize in the past that `isSameEntity` didn't actually check
to make sure we were working on canonical/most recent decl, so this
patch adds those to each side of the check. If we don't, we end up
finding them not equal, and crashing later when trying to pick up the
correct index.
Commit: abecf784ec30bce9d9163bd2e0d14c4a70094045
https://github.com/llvm/llvm-project/commit/abecf784ec30bce9d9163bd2e0d14c4a70094045
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
Log Message:
-----------
[SPIR-V][NewPM] Do not require RegBankSelect in instruction selection (#225023)
SPIR-V skips RegBankSelect and keeps virtual registers, so the property
is never set
Match the legacy pipeline
Commit: 63b5d1388f6ca68954ad22bc36fb73613507ceb1
https://github.com/llvm/llvm-project/commit/63b5d1388f6ca68954ad22bc36fb73613507ceb1
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
Log Message:
-----------
[clangd] Don't offer Extract to Function for control-flow conditions (#223409)
Extracting the condition of an `if`/`while`/`do`/`for`/`switch` (or a
condition-variable
declaration) was treated the same as extracting a discardable
expression-statement, producing a `void`-returning function called
where the construct needs a value, e.g.:
```cpp
void extracted(int &event1, bool &event2, double &event3) {
event1 == 2 && event2 && event3 == 10.3;
}
int example(int event1, bool event2, double event3) {
if (extracted(event1, event2, event3)) // doesn't compile
return 1;
```
This slot was previously unreachable in practice because a blanket
"never extract a single `Expr`" check happened to also block it, but
that check was removed in #219945 to allow extracting genuine
expression-statements. This adds back a narrower, correctly-scoped
check instead: reject when the selected node occupies a
condition slot specifically, which also finally
resolves two long-standing FIXMEs about this exact gap.
Assisted-by: Claude
Commit: 0df26b857065991b50725ca85f7a8728c60ceea9
https://github.com/llvm/llvm-project/commit/0df26b857065991b50725ca85f7a8728c60ceea9
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[CMake] Enable ccache depend mode when PCH is enabled (#225118)
ccache with PCH sometimes falls back to the preprocessor mode even when
using Clang. Enable ccache's "depend mode" to only rely on dependencies
as emitted by the compiler when PCH is enabled.
This requires moving the ccache logic to HandleLLVMOptions.cmake, as
whether PCH is enabled now impacts the ccache options. While moving,
also deduplicate the ccache+Clang detection logic and bundle all
PCH-related configurations together.
To ease debugging the ccache configuration, print the ccache command and
options as cmake output.
Fixes https://github.com/llvm/llvm-project/issues/225047.
See: https://github.com/ccache/ccache/issues/1686
Commit: 684e2024376f0fdcba7496faa3dddc97cc0b764c
https://github.com/llvm/llvm-project/commit/684e2024376f0fdcba7496faa3dddc97cc0b764c
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/AsmParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] add dep required by #224284 (#225419)
Commit: c109662a4cc336000f85032a8b183b206b9b1196
https://github.com/llvm/llvm-project/commit/c109662a4cc336000f85032a8b183b206b9b1196
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/BUILD.gn
Log Message:
-----------
[gn build] Port 3eaddb5735f6 (#225420)
Commit: 615b63316c17bc7f701f504f00e8e1b3303ea9d8
https://github.com/llvm/llvm-project/commit/615b63316c17bc7f701f504f00e8e1b3303ea9d8
Author: Tim Gymnich <tim at gymni.ch>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-basic.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-ops.mir
M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
M llvm/utils/update_givaluetracking_test_checks.py
Log Message:
-----------
[GlobalISel] Add KnownFPClass printer pass (#225402)
Adds a dedicated print<gisel-value-tracking-fpclass> machine-function
pass.
Most KnownFPClassTest.cpp cases are migrated to MIR tests. The remaining
unit test covers a signaling-NaN-specific query that the printer cannot
represent.
Assisted by: gpt-5.6-sol
Commit: 3632f15ecb2af4a0e8f4d9bd6121cd2537e176ae
https://github.com/llvm/llvm-project/commit/3632f15ecb2af4a0e8f4d9bd6121cd2537e176ae
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port d0dc3b038f52 (#225422)
Commit: 84812cba90fe0a0f95544a3ff01da1e61346a68d
https://github.com/llvm/llvm-project/commit/84812cba90fe0a0f95544a3ff01da1e61346a68d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/libcxx-build-containers.yml
M libcxx/utils/ci/docker/docker-compose.yml
R libcxx/utils/ci/docker/linux-builder-base.dockerfile
M libcxx/utils/ci/docker/linux-builder.dockerfile
Log Message:
-----------
[libcxx] Simplify container images (#225214)
Now that we can specify the image directly in the workflow, we do not
need to have the agent/base image split anymore.
Commit: 6c98a370c9b8e16618394b0862fff6ee66a555bb
https://github.com/llvm/llvm-project/commit/6c98a370c9b8e16618394b0862fff6ee66a555bb
Author: Charles Zablit <c_zablit at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
Log Message:
-----------
[lldb][NFC] Move XcodeSDK's sysroot into a separate XcodeSDKAndSysroot class (#224361)
`XcodeSDK` carried two unrelated things: the SDK identity parsed out of
an SDK directory name (`"MacOSX14.0.sdk"`), and the sysroot the compiler
recorded in `DW_AT_LLVM_sysroot`. The second is an absolute path on the
build machine and is only there when the SDK was read out of debug info.
Callers have no way to tell the two states apart.
This patch splits out `XcodeSDKAndSysroot`, which groups an `XcodeSDK`
with its sysroot. `XcodeSDK` keeps only the parsed SDK name, so
`XcodeSDK::Merge` no longer touches a sysroot.
`XcodeSDKAndSysroot::Merge` does that instead.
It follows the rules below:
- When the other SDK wins the merge, its sysroot comes with it.
- When merging only adds the `Internal` suffix to our own SDK name, the
sysroot is renamed alongside it, unless it does not name an SDK
directory.
rdar://171905747
Commit: f209e827084a99d284abdb534d1f6ca3e68fc039
https://github.com/llvm/llvm-project/commit/f209e827084a99d284abdb534d1f6ca3e68fc039
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Lowering/ptr-stride-index-width.cir
A clang/test/CIR/Lowering/ptr-stride-index-width.cpp
Log Message:
-----------
[CIR] Don't delete 'sub' op during 'convertToIndexTy' (#225231)
This showed up in a SPEC benchmark: IF that sub operation is still being
used, deleting it causes us to orphan its other uses, causing a
conversion failure. We can't actually delete it, as we have no way of
knowing whether it has other uses (since we're in the process of
removing at least one of its uses?). SO this patch is going to just
count on dead-code elemination to remove this sub after we stop using
its value, if at all possible.
Commit: fd016b7d24d3a2ddabef9e1ebfc702885e9bb7c1
https://github.com/llvm/llvm-project/commit/fd016b7d24d3a2ddabef9e1ebfc702885e9bb7c1
Author: Amit Tiwari <Amit.Tiwari at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/docs/OpenMPSupport.md
M clang/docs/ReleaseNotes.md
M clang/include/clang-c/Index.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Index/openmp-flatten.c
A clang/test/OpenMP/flatten_ast_print.cpp
A clang/test/OpenMP/flatten_codegen.cpp
A clang/test/OpenMP/flatten_codegen_for.cpp
A clang/test/OpenMP/flatten_depth_ast_print.cpp
A clang/test/OpenMP/flatten_depth_codegen.cpp
A clang/test/OpenMP/flatten_depth_messages.cpp
A clang/test/OpenMP/flatten_messages.cpp
A clang/test/OpenMP/flatten_serialize_module.cpp
A clang/test/OpenMP/fuse_depth_messages.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
A openmp/runtime/test/transform/flatten/depth-intfor.c
A openmp/runtime/test/transform/flatten/depth-partial.c
A openmp/runtime/test/transform/flatten/empty.c
A openmp/runtime/test/transform/flatten/final-values.c
A openmp/runtime/test/transform/flatten/foreach.cpp
A openmp/runtime/test/transform/flatten/intfor.c
A openmp/runtime/test/transform/flatten/overflow-empty.c
A openmp/runtime/test/transform/flatten/parallel-wsloop-foreach.cpp
A openmp/runtime/test/transform/flatten/parallel-wsloop-intfor.c
A openmp/runtime/test/transform/flatten/reverse-on-flatten.c
A openmp/runtime/test/transform/flatten/tile-on-flatten.c
A openmp/runtime/test/transform/flatten/unroll-on-flatten.c
Log Message:
-----------
[Clang][OpenMP] Add `#pragma omp flatten` loop directive + `depth` clause (#206977)
Adds the OpenMP 6.1: `Flatten Construct` + `depth Clause`.
Referred in Section 17.4 and Section 6.4.7 respectively in [Technical
Report 15](https://www.openmp.org/wp-content/uploads/openmp-TR15.pdf)
Commit: 8306f7777172718453729ee941734bab9217c9fa
https://github.com/llvm/llvm-project/commit/8306f7777172718453729ee941734bab9217c9fa
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorAttributes.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorScan.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-reduction-to-llvm.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
A mlir/test/Integration/Dialect/Vector/CPU/reductions-masked-minmaxnum-f32.mlir
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][arith] Add minimumnumf and maximumnumf operations (#221658)
Add `arith.minimumnumf` and `arith.maximumnumf`, following
`minimumNumber` and `maximumNumber` from IEEE 754-2019 and the
`llvm.minimumnum`/`llvm.maximumnum` intrinsics. They differ from the
existing `arith.minnumf`/`arith.maxnumf` only in their treatment of
signaling NaNs: the new ops deterministically return the non-NaN
operand, whereas minnumf/maxnumf may return either NaN or the other
operand.
Commit: 0a7c62a841eeb396de07cee74c79969af8848535
https://github.com/llvm/llvm-project/commit/0a7c62a841eeb396de07cee74c79969af8848535
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
M llvm/lib/ObjCopy/MachO/MachOReader.h
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
Log Message:
-----------
[llvm] Remove declarations without definitions (NFC) (#225320)
DataRecordHandle::create and DataRecordHandle::construct in
llvm/lib/CAS/OnDiskGraphDB.cpp: The unused definitions were removed on
November 24, 2025 in commit f21857313dfab543e66ef43b1aed43b685794a7c.
dwarf_linker::parallel::DwarfEmitterImpl::emitStringsImpl in
llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h: Added on May 20, 2023
in commit 5f2a7fa67e9b6081a1a750ecea1216d53287eaa0 without a definition
or any callers (only DWARFLinkerImpl::emitStringsImpl was defined).
dwarf_linker::parallel::SyntheticTypeNameBuilder::addOrderedName
(2-argument overload) in
llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h: Added on
November 23, 2023 in commit b61ac4a88f934ab5c02ee2a4957fb1b9943e7a5d
without a definition or any callers.
pdb::GSIHashStreamBuilder::finalizePublicBuckets and
pdb::GSIHashStreamBuilder::finalizeGlobalBuckets in
llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp: Added on June 4,
2020 in commit b7402edce3150591df03b7352fdcb3336098d603 without
definitions or any callers (only the corresponding methods on
GSIStreamBuilder were defined).
jitlink::COFFLinkGraphBuilder::getPointerSize and
jitlink::COFFLinkGraphBuilder::getEndianness in
llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h: The definitions
and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.
jitlink::MachOLinkGraphBuilder::getPointerSize and
jitlink::MachOLinkGraphBuilder::getEndianness in
llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h: The
definitions and callers were removed on January 14, 2025 in commit
4eaff6c58ae2f130ac8d63cf2c87bbb483114876.
EPCIndirectStubsManager::deallocateStubs in
llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp: Added on July 16,
2020 in commit 0e940d55f8a9388c42cc5998ea05212a983f05a7 without a
definition or any callers.
RuntimeDyldCheckerImpl::lookup and
RuntimeDyldCheckerImpl::getSectionLoadAddress in
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h: The
definitions and callers were removed on April 8, 2019 in commit
941f247d30c447903107aa614ea46fb1e4019698.
objcopy::macho::MachOReader::readCodeSignature in
llvm/lib/ObjCopy/MachO/MachOReader.h: The definition and caller were
removed on October 26, 2021 in commit
a299b24712ccd0769ffa0d5b65cbc98211fd4d99.
TGParser::ParseOptionalBitList in llvm/lib/TableGen/TGParser.h: The
definition and caller were removed on March 19, 2026 in commit
d29c6a34255e635b8ad794d21cdd0a2ed8820b68.
LoopIdiomVectorize::runOnCountableLoop in
llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp: Added on June 7,
2024 in commit 37e309f1635404bfca029c3712ee227a892cd4cf without a
definition or any callers.
Assisted-by: Antigravity
Commit: 6dcf5908ccec4be39b52b61630b0f494a04a01b7
https://github.com/llvm/llvm-project/commit/6dcf5908ccec4be39b52b61630b0f494a04a01b7
Author: Jackson Stogel <jtstogel at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/bazel-checks.yml
Log Message:
-----------
[GitHub] Avoid downloading outputs during Bazel tests when possible (#224725)
PR adds
[`--remote_download_outputs=minimal`](https://bazel.build/reference/command-line-reference#param-remote-download-outputs-1)
to bazel tests in CI. I noticed recently that `Bazel Build/Test` takes
~2m to run even when everything is cached. It looks like it's
downloading ~1GiB of artifacts from the remote cache. For example, in [a
recent
run](https://github.com/llvm/llvm-project/actions/runs/35147456695/job/104967035656):
```
[82,641 / 90,341] 1094 / 7245 tests; Linking external/+_repo_rules+llvm-project/flang/lib/Semantics/libFortranSemantics.a; Downloading external/+_repo_rules+llvm-project/flang/lib/Semantics/libFortranSemantics.a, 260.4 MiB / 288.7 MiB; 1s remote-cache ... (62 actions, 10 running)
[88,426 / 91,191] 1238 / 7245 tests; Linking external/+_repo_rules+llvm-project/mlir/mlir-reduce; Downloading external/+_repo_rules+llvm-project/mlir/mlir-reduce, 337.0 MiB / 344.6 MiB; 13s remote-cache ... (58 actions, 0 running)
[88,870 / 92,185] 1315 / 7245 tests; Linking external/+_repo_rules+llvm-project/mlir/mlir-query; Downloading external/+_repo_rules+llvm-project/mlir/mlir-query, 241.9 MiB / 264.2 MiB; 11s remote-cache ... (55 actions, 0 running)
...
Executed 0 out of 7245 tests: 7245 tests pass.
```
Using this flag saves ~20-30s on my machine. After this PR, the majority
of the remaining time is spent just asking the remote cache "do you have
this output cached?" Could save another ~40s by bumping
[`--remote_max_connections`](https://bazel.build/reference/command-line-reference#param-remote-max-connections),
but I don't think the fully-cached case matters that much.
Commit: c02724354985f8326d1cee4d5c491b71514ea485
https://github.com/llvm/llvm-project/commit/c02724354985f8326d1cee4d5c491b71514ea485
Author: sujianIBM <Jian.Su at ibm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/SystemZ/mixed-ptr-sizes.ll
Log Message:
-----------
SelectionDAG: Don't pad the source of ADDRSPACECAST if it's legal. (#225390)
With this use case `%out = addrspacecast <2 x ptr> %in to <2 x ptr
addrspace(1)>` on z/OS, the res type is `v2i32` (illegal) and the source
type is `v2i64` (legal).
Padding the source up to `v4i64` makes it illegal on z/OS and breaks the
type legalization.
Commit: bc6fd4611aa8383e8004e731211666fd14984181
https://github.com/llvm/llvm-project/commit/bc6fd4611aa8383e8004e731211666fd14984181
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
Log Message:
-----------
[X86] sse2-intrinsics-x86-upgrade.ll - cleanup bitrotted check prefixes (#225426)
Removed leftover SKX and AVX2 check prefixes - the update script only
removes unused check lines mentioned in the RUNs
Commit: 4790b21292d10b2cab1037ebef100e7f595e4209
https://github.com/llvm/llvm-project/commit/4790b21292d10b2cab1037ebef100e7f595e4209
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add more generic VPCostContext::getCostDivisor (NFC). (#225413)
Replace getReplicateRegionCostDivisor with more general getCostDivisor,
which takes a frequency directly.
The frequency lookup is now done at the 3 call sites, which all have the
region at hand.
Will also be used in https://github.com/llvm/llvm-project/pull/196845.
PR: https://github.com/llvm/llvm-project/pull/225413
Commit: efec7984808669b2dc75fbfab7664658ff45f74a
https://github.com/llvm/llvm-project/commit/efec7984808669b2dc75fbfab7664658ff45f74a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
DAG: Preserve poison in some cast folds (#225403)
Commit: 06b71c9085beffd088f8e6e8b8da79b452acb786
https://github.com/llvm/llvm-project/commit/06b71c9085beffd088f8e6e8b8da79b452acb786
Author: Amr Hesham <amr96 at programmer.net>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/test/CIR/CodeGen/vector-bool.cpp
Log Message:
-----------
[CIR] Support vector of boolean in cir.minus op (#217089)
Support the Vector of bool type in the minus operation
Commit: 9d856cff47c48934b89254beef71908998a3c193
https://github.com/llvm/llvm-project/commit/9d856cff47c48934b89254beef71908998a3c193
Author: Luke Kiernan <lkiernan at nlr.gov>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/test/CodeGen/veclib-darwin-libsystem-m.c
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib-darwin-libsystem-m.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
Log Message:
-----------
[TLI][Darwin] Add mappings for 16 more libsystem_m vector functions (#224792)
The Darwin_libsystem_m veclib table mapped 17 of the 38 stems exported
by libsystem_m.dylib. This adds 16 more, in both VecFuncs.def and the
DARWIN_LIBSYSTEM_M_VECFUNCS defset, bringing it to 33.
The remaining 5 are round, fma, fmod, sincos and sincospi; see #223283
for why each is skipped or deferred.
Fixes #223283
Commit: ae82b85123a2271df24ceb28c09a2a0c467c16d5
https://github.com/llvm/llvm-project/commit/ae82b85123a2271df24ceb28c09a2a0c467c16d5
Author: Steven Wu <stevenwu at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/include/llvm/Support/File.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/MemoryBuffer.h
M llvm/lib/CAS/MappedFileRegionArena.cpp
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Support/FileUtilities.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/MemoryBufferTest.cpp
Log Message:
-----------
[llvm][Support] Make sys::fs::file_t into a seperate type (#224859)
Commit: 660bffb059baf346bf7baf92fde96d05d1b99b39
https://github.com/llvm/llvm-project/commit/660bffb059baf346bf7baf92fde96d05d1b99b39
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-reuse.ll
Log Message:
-----------
[SLP][NFC]Add a test with a missed vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225448
Commit: 7a3a1a90f064702571fce138dad5a0c2ac6ed4af
https://github.com/llvm/llvm-project/commit/7a3a1a90f064702571fce138dad5a0c2ac6ed4af
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
M clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[clang][CIR] Stop using Operation::getAttrs (NFC) (#223048)
Migrate CIR printing, attribute copying, and lowering to the explicit
inherent and discardable attribute APIs.
This is part of a general migration to use the "new" properties-based
APIs and stop mixing discardable/inherent attributes, see #155475
Assisted-by: Codex
Commit: b9da7a34df933ffbb0fdd8ef24300143b70ed2b5
https://github.com/llvm/llvm-project/commit/b9da7a34df933ffbb0fdd8ef24300143b70ed2b5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToArith/tosa-to-arith-invalid.mlir
M mlir/test/Conversion/TosaToArith/tosa-to-arith.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToSCF/tosa-to-scf.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode-invalid.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/custom-op-domain-to-opcode.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/graph-constant-mark.mlir
M mlir/test/Conversion/TosaToSPIRVTosa/tosa-to-spirv.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor-invalid.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-reciprocal-fold.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Tosa/constrained_shapes.mlir
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/inlining.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/Dialect/Tosa/quant-test.mlir
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-downgrade-1-1-to-1-0.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes-fold-shape-expressions.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-layerwise-constant-fold-dense-resource.mlir
M mlir/test/Dialect/Tosa/tosa-layerwise-constant-fold.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f32-to-f16.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-f64-to-f32.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32-aggressive.mlir
M mlir/test/Dialect/Tosa/tosa-narrow-i64-to-i32.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Tosa/tosa-validation-valid-strict.mlir
M mlir/test/Dialect/Tosa/tosa-validation-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-validate-func-signature-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p0-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-invalid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-pro-fp-valid.mlir
M mlir/test/Dialect/Tosa/tosa-validation-version-1p1-valid.mlir
M mlir/test/Dialect/Tosa/transpose-fold.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/IR/invalid-custom-print-parse.mlir
M mlir/test/Integration/Dialect/EmitC/regalloc-eviction-test-model-tosa.mlir
M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
Log Message:
-----------
[MLIR][TOSA] Enable strict property assembly format (#217291)
Enable strict properties-in-assembly-format mode for TOSA. Bind TOSA
operation properties directly in declarative assembly formats so strict
parsing does not rely on property dictionaries.
Update the TOSA tests to use the direct property spelling.
Assisted-by: Codex
Commit: f4b5a0b141f3538aab572cf13189392c3269bd98
https://github.com/llvm/llvm-project/commit/f4b5a0b141f3538aab572cf13189392c3269bd98
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M offload/languages/kernel/src/State.cpp
Log Message:
-----------
[Offload] Use LLVM likely/unlikely macros (#224716)
This is an additional patch to #224047, which makes the offload
components buildable with relatively old c++17-supporting compilers.
Commit: 743e1b5d194ad0ee9a55a05d52e3756a67ae2f99
https://github.com/llvm/llvm-project/commit/743e1b5d194ad0ee9a55a05d52e3756a67ae2f99
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/R600Processors.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
A llvm/test/CodeGen/AMDGPU/lds-size-gfx1030.ll
A llvm/test/CodeGen/AMDGPU/lds-size-gfx9-4-generic.ll
M llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AMDGPU] Add `getLDSEncodingGranule` to TargetParser (#224852)
Model LDS encoding granularity with dedicated features and expose the
byte-valued `getLDSEncodingGranule` query for GPUKind and subarch.
Migrate program resource register and PAL metadata encoding to the new
query and remove `getLdsDwGranularity` from `AMDGPUBaseInfo`
---
This PR is inspired by https://github.com/llvm/llvm-project/pull/219495.
> The AMDGPU backend uses the wrong LDS allocation granularity when
computing occupancy for RDNA 2 targets starting from GFX10.3. The
current value is correct for the PAL metadata, but leads to wrong
occupancy calculations as observed by users.. The values correspond to
the Mesa implementation, see
https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/amd/common/ac_shader_util.h#L355.
Commit: f4b56fcef15f00cef6ca07d880092c8ab8c5155b
https://github.com/llvm/llvm-project/commit/f4b56fcef15f00cef6ca07d880092c8ab8c5155b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/invalid-longvec-swizzle.hlsl
Log Message:
-----------
[HLSL][Sema] Reject unsupported vector swizzles (#225286)
fixes #216199
This started out as rejecting swizzles for long vectors. But it turns
out we did not remove opencl accessors so this change also does that.
HLSL vector swizzles are limited to the xyzw and rgba component sets and
vectors of up to four elements.
Commit: 01f11fe1c5e215e886a7bcb9bf081fbcac8fe8b5
https://github.com/llvm/llvm-project/commit/01f11fe1c5e215e886a7bcb9bf081fbcac8fe8b5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Remove redundant check for Subtarget.hasStdExtZbc(). NFC (#225152)
Zbc implies Zbkc so we only need to check Zbkc.
Commit: 976c919fbc123e7fd7058223c23ad9c312477b4b
https://github.com/llvm/llvm-project/commit/976c919fbc123e7fd7058223c23ad9c312477b4b
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Types.cpp
R clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
R clang/test/Driver/pch-inputs.h
Log Message:
-----------
Revert "[Clang][Driver] Final phase also determined by input (#218802)" (#225416)
This reverts commit 7987830e776411a0de84c0c75e9f1059acadceb5.
It makes the driver O(n^2) in number of inputs, slowing down some links
a lot:
https://github.com/llvm/llvm-project/pull/218802#pullrequestreview-5258702203
Commit: 45b6312f7f79454ac6bd2b3057d16c69d4db8371
https://github.com/llvm/llvm-project/commit/45b6312f7f79454ac6bd2b3057d16c69d4db8371
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
M llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/unittests/Analysis/IVDescriptorsTest.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
M llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp
M polly/lib/Analysis/ScopInfo.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVAffinator.cpp
Log Message:
-----------
[SCEV] Rename FlagAny -> FlagNone, NoWrapMask -> FlagsMask (NFC) (#225431)
This is a mechanical renaming change, in preparation for extending the
flags that SCEV can represent.
See also: #225179.
Commit: 070ac983e683aaaa22347bd3c37d1f8fdfe15d09
https://github.com/llvm/llvm-project/commit/070ac983e683aaaa22347bd3c37d1f8fdfe15d09
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[SimplifyQuery] Include a context-function (NFC) (#225369)
The context-function logically belongs in SimplifyQuery, and this helps
simplify some code, and allows us to represent a context-function in the
absence of a context-instruction.
Commit: 14c63920e71748a1f0b824919822a87e6efda343
https://github.com/llvm/llvm-project/commit/14c63920e71748a1f0b824919822a87e6efda343
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
Log Message:
-----------
[CIR] Implement CXXRewrittenBinaryOperator for LValue (#223888)
Support `CXXRewrittenBinaryOperator` in `CIRGenFunction::emitLValue` by
evaluating its underlying semantic form via `getSemanticForm()`,
matching classic codegen in `clang/lib/CodeGen/CGExpr.cpp` and
completing `CXXRewrittenBinaryOperator` support across all CIR
expression emitters.
Fixes #223743
Formatted with Gemini
Commit: 9a301518b5cc4f434267f5942aac522ea142b352
https://github.com/llvm/llvm-project/commit/9a301518b5cc4f434267f5942aac522ea142b352
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-reuse.ll
Log Message:
-----------
[SLP]Do not reuse internal gathers of splat subtrees as shuffle sources
The splat gather subtrees are speculative: the keep/drop check may
delete them and does not track reuse of their internal gathers by other
gathers.
Such reuse inflated the reusing gather's cost (a shuffle of the
subtree's operand gather was charged even when a plain buildvector is
cheaper), which distorted the main tree's trim decisions and dropped
the whole profitable tree instead of the unprofitable subtrees.
Fixes the perf regression from #220250.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225456
Commit: 5173637372a272790125e6af71576c6607adfef8
https://github.com/llvm/llvm-project/commit/5173637372a272790125e6af71576c6607adfef8
Author: Daniel Cederman <cederman at gaisler.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/lib/Basic/Targets/Sparc.cpp
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/CodeGen/Targets/Sparc.cpp
A clang/test/CodeGen/Sparc/sparc-long-double-abi.c
M clang/test/CodeGen/Sparc/sparc-vaarg.c
M clang/test/CodeGen/Sparc/sparcv8-abi.c
M clang/test/CodeGen/Sparc/variadic-aggregate.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[Sparc][clang] Use 64-bit long double on bare-metal targets (#222304)
GCC uses 64-bit long double for bare-metal SPARC V8 targets, including
RTEMS. Keep the default 128-bit for other SPARC targets.
Use the scalar calling convention for 64-bit long double.
Assisted-by: Codex
Commit: 4e22f745681e8dfb30c4feb0b26d3459bf1ff123
https://github.com/llvm/llvm-project/commit/4e22f745681e8dfb30c4feb0b26d3459bf1ff123
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/IR/PassManager.cpp
Log Message:
-----------
[NewPM] Fix OptBisect Functionality for disabled gate
We were never actually checking if the gate was enabled. This patch
fixes it to match the behavior of the LegacyPM.
Reviewers: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/225437
Commit: dcdbda6493bc818580299516fb87ee03e879fb2a
https://github.com/llvm/llvm-project/commit/dcdbda6493bc818580299516fb87ee03e879fb2a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
M llvm/lib/Target/X86/GISel/X86PreLegalizerCombiner.cpp
M llvm/test/CodeGen/X86/replace_unsupported_masked_mem_intrin.ll
M llvm/test/Other/X86/opt-bisect-isel.ll
Log Message:
-----------
[NewPM] Match LegacyPM behavior for opt-bisect in passes
This patch updates passes that change their behavior around opt-bisect
(e.g., performing less optimizations) so that this behavior is
replicated in the NewPM.
Assisted by LLM.
Reviewers: aeubanks, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/225439
Commit: 9a7a665cbe2a9e59403bcfb59ac6c1294370e8ee
https://github.com/llvm/llvm-project/commit/9a7a665cbe2a9e59403bcfb59ac6c1294370e8ee
Author: A. Cauble <accauble at users.noreply.github.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
M clang/unittests/offload-arch/OffloadArchTest.cpp
Log Message:
-----------
[offload-arch] Do not print "-strict" if it is disabled by the environment (#224688)
## Motivation
Right now, `HSA_DISABLE_GFX12_STRICT` is set to 1 by default, which the
runtime follows as "gfx1250". The only way to set the runtime to
"gfx1250-strict" is to set `HSA_DISABLE_GFX12_STRICT=0`. My
understanding is that this is a temporary patch to ROCr to ease the
transition to "gfx1250-strict". This PR adds a helper to reflect the
current state.
[This is how
ROCr](https://github.com/ROCm/rocm-systems/blob/28d10d31fcb04d53dedee5c6e66427f0b0449a9e/projects/rocr-runtime/runtime/hsa-runtime/core/util/flag.h#L256)
controls "strict". The very similar rocm_agent_enumerator code can be
found
[here](https://github.com/ROCm/rocm-systems/blob/855ab23c50ee8635e6c068fc3f9ec2eb01f075e0/projects/rocminfo/rocm_agent_enumerator#L270-L273).
## Testing
* Updated the unit tests to keep track of the environment variable and
to check for the expected value depending on it.
Commit: b5dfb7423c6aae8c3a133b08f43e8094b9da2cf3
https://github.com/llvm/llvm-project/commit/b5dfb7423c6aae8c3a133b08f43e8094b9da2cf3
Author: Tadeusz <tadeuszjt at protonmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Support/KnownFPClass.cpp
M llvm/test/Transforms/Attributor/nofpclass-sin-cos.ll
M llvm/test/Transforms/Attributor/nofpclass-trig.ll
Log Message:
-----------
[KnownFPClass] Added sNaN deductions for sin, cos and tan. (#224875)
Added the sNaN deductions for sin, cos and tan to KnownFPClass.
Closes #217150
Commit: c96cbf32ba13d3abafea5839ae163407f00986b1
https://github.com/llvm/llvm-project/commit/c96cbf32ba13d3abafea5839ae163407f00986b1
Author: laoshd <shandong.lao at hpe.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/depend01.f90
Log Message:
-----------
[Flang][OpenMP] Add diagnosing zero-length depend array sections and … (#224168)
…tests.
This PR is to fix #222551.
Commit: c6de8f77f1b7ee3ea29da92330fa0e4262f3e7c1
https://github.com/llvm/llvm-project/commit/c6de8f77f1b7ee3ea29da92330fa0e4262f3e7c1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Disable bootstrap when building gcc for libc container
We don't need the additional testing from a full bootstrap and the
default system gcc probably produces faster binaries.
This should make the container build a bit faster.
Reviewers: lntue, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/225453
Commit: 16c9544c26f863bd83538e66e0f09af4b2f4dbd1
https://github.com/llvm/llvm-project/commit/16c9544c26f863bd83538e66e0f09af4b2f4dbd1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/containers/libc/Dockerfile
Log Message:
-----------
[Github] Fix /usr/include/asm symlink in libc container
The move to ubuntu 26.04 meant that we are now using rust based
coreutils, and the behavior of uname -p changed to return unknown in the
rust coreutils. So instead use uname -m so that the symlink points at
the right directory.
Reviewers: cmtice, lntue
Pull Request: https://github.com/llvm/llvm-project/pull/225454
Commit: ddc63f8a20b63f2cf76299d73ab5c99c73144374
https://github.com/llvm/llvm-project/commit/ddc63f8a20b63f2cf76299d73ab5c99c73144374
Author: LU-JOHN <John.Lu at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fminnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fadd.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fmul.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fsub.bf16.ll
Log Message:
-----------
[AMDGPU][GISel] Legalize v2bf16 (#223803)
Add V2BF16 legalization for fadd, fsub, fmul, fma, fmin, fmax and
fcanonicalize.
Reorganize rule building for `MinNumMaxNumIeee` and `MinNumMaxNum` so
that each type is handled independently.
Updated old tests and added new tests GlobalISel/fsub.bf16.ll,
GlobalISel/fabs.bf16.ll, GlobalISel/fminnum.bf16.ll and
GlobalISel/fneg.bf16.ll.
Clamp bf16 to 2 elements.
Test with v4bf16.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: ae5117cb45b860bf473337523d7fe4a6367dd8d1
https://github.com/llvm/llvm-project/commit/ae5117cb45b860bf473337523d7fe4a6367dd8d1
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Generate a stub for librt.a (#225357)
Created an empty librt.a static archive on Linux to avoid link errors
when build rules explicitly pass -lrt to the linker. Realtime extensions
reside in the main libc.a archive instead.
Follows the pattern set in commit
ede01decbcb34bd2f04b9102ab96664cc6d5aa4b.
Assisted-by: Automated tooling, human reviewed.
Commit: e4657c791d32993f2253f51f1d1427b72ed39651
https://github.com/llvm/llvm-project/commit/e4657c791d32993f2253f51f1d1427b72ed39651
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Add getRecordedExecutionFrequency helper (NFC). (#225414)
Add a helper to get the execution frequency from a VPBB via the
frequencies attached to its recipes.
Will also be used in https://github.com/llvm/llvm-project/pull/196845,
so it is added in a location where it can be used w/o movement there.
PR: https://github.com/llvm/llvm-project/pull/225414
Commit: 19c33fb826ed11652280fa0a4161675963d09991
https://github.com/llvm/llvm-project/commit/19c33fb826ed11652280fa0a4161675963d09991
Author: Kunal Chadha <kunachad at qti.qualcomm.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/tools/llvm-mca/AArch64/A64FX/A64-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Apple/M1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A320-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A55-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A57-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Nano-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Premium-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/C1Ultra-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/hip12-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Olympus/basic-instructions.s
Log Message:
-----------
[AArch64] Override hasSideEffects for LDAR/STLR instructions (#224096)
Override `hasSideEffects()` for `LoadAcquire` and `StoreRelease`.
`LoadAcquire` and `StoreRelease` already have their memory ordering
semantics modeled via atomic MMO flags, so they should not additionally
be marked as having unmodeled side effects.
Marking these instructions as having unmodeled side effects caused
`ShrinkWrap::useOrDefCSROrFI()` to conservatively treat basic blocks
containing them as potentially using the stack. This prevented
ShrinkWrap optimizations such as splitting restore points during
post-shrink-wrapping. The tests added in this PR cover this case.
Updated llvm-mca expectations for the affected instructions.
Fixes #223021
Commit: aa7a0c3c318b8391c61fba9dcbb98e08c85d5776
https://github.com/llvm/llvm-project/commit/aa7a0c3c318b8391c61fba9dcbb98e08c85d5776
Author: Ganesh <Ganesh.Gopalasubramanian at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/docs/ReleaseNotes.md
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Options/Options.td
M clang/include/clang/Sema/SemaX86.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx10v2aux_512intrin.h
A clang/lib/Headers/avx10v2auxintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/immintrin.h
M clang/lib/Sema/SemaX86.cpp
A clang/test/CodeGen/X86/avx10_2_v2aux-builtins-errors.c
A clang/test/CodeGen/X86/avx10_2_v2aux-builtins.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/builtin-cpu-supports-all.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/attr-target-mv.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/lib/Target/X86/X86InstrAVX10_V2_AUX.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/avx10_v2aux-cvt-fp4-fp6-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-cvt-fp8-ps-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-cvt-ps-fp8-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-mask-bias-ps-fp8-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-mask-cvt-ps-fp8-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-pmovssdb-intrinsics.ll
A llvm/test/CodeGen/X86/avx10_v2aux-unpackb-intrinsics.ll
A llvm/test/MC/Disassembler/X86/avx10_v2_aux-32.txt
A llvm/test/MC/Disassembler/X86/avx10_v2_aux-64.txt
A llvm/test/MC/X86/avx10_v2_aux-att-32.s
A llvm/test/MC/X86/avx10_v2_aux-att-64.s
A llvm/test/MC/X86/avx10_v2_aux-intel-32.s
A llvm/test/MC/X86/avx10_v2_aux-intel-64.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86ManualFoldTables.def
Log Message:
-----------
[X86] AVX10_V2_AUX Implementation (#206888)
- AVX10_V2_AUX builds on AVX10 with FP8/FP4/FP6 format conversions
optimized for AI/ML inference workloads, enabling efficient
low-precision arithmetic
- Narrowing conversions from single-precision to FP8: VCVTPS2BF8,
VCVTPS2HF8, VCVTPS2BF8S, VCVTPS2HF8S with optional saturation, biasing
(VCVTBIASPS2BF8/HF8), and round-to-odd (VCVTROPS2HF8) variants
- Expanding conversions from FP8 to single-precision: VCVTBF82PS,
VCVTHF82PS that widen 8-bit FP formats with masking support
- FP4/FP6 conversions: VCVTBF82BF4S, VCVTHF82BF4S for truncating,
VCVTBF82BF6S, VCVTHF82HF6S for same-size, and expanding VCVTBF42HF8,
VCVTBF62BF8, VCVTHF62HF8
- Support includes instruction definitions, intrinsics, and Clang
headers
- Tests covering AT&T and Intel syntax assembly for both 32-bit and
64-bit modes, plus disassembler tests verifying encoding and decoding
Specification: [ACE (AI Compute Extensions) Specification
v1.0](https://x86ecosystem.org/wp-content/uploads/2026/06/ACE_v1_Specification_public_1_15.pdf)
Co-authored-by: Umesh Kalvakuntla
Co-authored-by: Attarde, Mahesh <mahesh.attarde at intel.com>
Commit: 340b35cd504e01e4eeff0381bd5eb317dfb7f504
https://github.com/llvm/llvm-project/commit/340b35cd504e01e4eeff0381bd5eb317dfb7f504
Author: yebinchon <yebin.chon at princeton.edu>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
A flang/test/Transforms/OpenACC/acc-implicit-data-device-data.fir
M mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCTypeInterfaces.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCUtils.h
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
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:
-----------
[flang][acc] Don't treat a managed pointer as device resident data (#222769)
isDeviceData classifies every entity with a device-data CUDA attribute
(device, managed, constant, shared, unified) as device data, and so all
pointers and allocatables under mem:managed/unified are treated as
deviceptr.
However, managed and unified guarantee accessibility from device but not
that the storage is already residing on device. Treating these
unconditionally as "on device" (deviceptr) asserts to the runtime that
it is a valid device address and skips the mapping/attach the runtime
needs.
This patch adds a Util helper "isDeviceResident" which conservatively
returns false for managed/unified.
The guard for deviceptr is changed from isDeviceValue to
isDeviceResident, and does NOT give deviceptr for managed and unified.
These entities are now mapped (copyin/out) instead.
---------
Co-authored-by: Yebin Chon <ychon at nvidia.com>
Commit: 747cf241988e83e9ab4aae88efc10d91e87a0b90
https://github.com/llvm/llvm-project/commit/747cf241988e83e9ab4aae88efc10d91e87a0b90
Author: Ramkumar Ramachandra <artagnon at tenstorrent.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Rework legacy widen/replicate in tryToBuildVPlan (NFC) (#224569)
The code has been rewritten for clarity:
- An RPOT traversal is unnecessary, and a depth-first will do.
- The list of recipes to be skipped continues to grow, and its utility
is in question. Replace it with a clean make_isa_range over
VPInstructions, and an assert.
- Clarify that tryToCreateWidenNonPhiRecipe is the routine that produces
VPWidenIntOrFpInductionRecipes.
- Clarify the necessity of the underling value.
Commit: 2643205b93aa72864b2ac0cd0ae8047bc8048baf
https://github.com/llvm/llvm-project/commit/2643205b93aa72864b2ac0cd0ae8047bc8048baf
Author: Nathan Fusselman <nathanfusselman at icloud.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/evaluate/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fix global-scope evaluate always routing to command interpreter (#225243)
DetectReplMode returned Command unconditionally when there was no frame,
since it couldn't check FindVariable without one. A frameless evaluate
(no frameId, e.g. `(int)getpid()`) was always treated as an unknown
command instead of an expression.
Fall back to SBTarget::FindFirstGlobalVariable when there's no frame:
DAP::target is valid independent of frame, so globals/statics can still
be checked without one.
rdar://187884135
Commit: 81a680b6c7aec6fc493fb978ad1902b648781170
https://github.com/llvm/llvm-project/commit/81a680b6c7aec6fc493fb978ad1902b648781170
Author: Kazu Hirata <kazu at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/include/clang/AST/DeclFriend.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225319)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
We must use dyn_cast_if_present here because the operands can be null,
which I have verified with assert(!isNull()) on check-clang.
Assisted-by: Antigravity
Commit: fdf4dcb7b7ddb33e5f4c9ab7fad0fca2e0170daa
https://github.com/llvm/llvm-project/commit/fdf4dcb7b7ddb33e5f4c9ab7fad0fca2e0170daa
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
A llvm/test/CodeGen/NVPTX/infer-address-space-join.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/address-space-join.ll
Log Message:
-----------
[InferAddressSpaces] Add a TTI hook for address space joins (#225161)
InferAddressSpaces currently joins different specific address spaces to
the flat address space. This misses cases where the target has a more
specific common space. For NVPTX, a PHI or select combining shared (AS3)
and cluster-shared (AS7) pointers can use AS7, allowing loads through
the result to use ld.shared::cluster.
Add a getAddressSpaceJoin TTI hook and implement the AS3/AS7 join for
NVPTX.
Commit: efa2e450edc341bac7a5215f408f4d1480047c8c
https://github.com/llvm/llvm-project/commit/efa2e450edc341bac7a5215f408f4d1480047c8c
Author: eleviant <eleviant at accesssoftek.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86InstrControl.td
A llvm/test/CodeGen/X86/pseudo-expand-tc.mir
Log Message:
-----------
[X86] Fix operand of TAILJMPm64_REX (#225080)
The TAILJMPm64_REX pseudo-instruction is emitted by the
x86-expand-pseudo pass after the register allocator, replacing
TCRETURN_WINmi64 or TCRETURNmi64 depending on the target ABI. The
problem is that the former uses the GR64_TC register class for its
memory address operand, while the latter uses GR64_TCW64. This breaks
MachineVerifier, triggering an assertion in EXPENSIVE_CHECKS builds.
Commit: df6eb20ffd22156a6d4fd54e36146d430c8a182a
https://github.com/llvm/llvm-project/commit/df6eb20ffd22156a6d4fd54e36146d430c8a182a
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
Log Message:
-----------
[mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible} (#213621)
close #145485
Commit: f05f4f34e5cb107e17672ad806f18d031ab74caf
https://github.com/llvm/llvm-project/commit/f05f4f34e5cb107e17672ad806f18d031ab74caf
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/VPlan/epilogue-vectorization-printing.ll
Log Message:
-----------
[VPlan] Model epilogue skeleton in VPlan by wrapping in VPIRBBs (NFCI). (#222312)
Replace most of connectEpilogueVectorLoop by modeling the CFG explicitly
in the epilogue VPlan, by importing the CFG for the skeleton created
after executing the main loop.
To do so, update the main loop's plan to replace its VPBasicBlocks with
VPIRBasicBlocks wrapping the generated IR blocks. This allows accessing
the CFG for the VPlan, after execute.
A new modelGeneratedMainLoopBlocks transform then duplicates the CFG
from the main plan in the epilogue plan. This includes all runtime
checks and bypass blocks. This means we no longer need a number of
manual patching up of the IR and DT to connect main and epilogue plans
after execute.
It is another step getting us slightly closer to completely modeling
epilogue vectorization natively in VPlan.
Along the way, it will also help to simplify code needed to perform
folds on the epilogue skeleton (i.e. simplify
https://github.com/llvm/llvm-project/pull/204243).
PR: https://github.com/llvm/llvm-project/pull/222312
Commit: 746076bccd5fa18c09a29107eef5c101ea0e2674
https://github.com/llvm/llvm-project/commit/746076bccd5fa18c09a29107eef5c101ea0e2674
Author: Valeriy Savchenko <vsavchenko at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/X86/vselect-widen-mask-tree.ll
Log Message:
-----------
[SelectionDAG] Fix crash in mask widening for non-simple element types (#225460)
We reconstruct the best fitting type for the two given operands and
those are not guaranteed to have simple types. EVT::getIntegerVT as
opposed to MVT::getIntegerVT handles this case.
Fixes a regression introduced in #217307.
Commit: 8045e64d0e80712952b5820564aa57fbbb42fbda
https://github.com/llvm/llvm-project/commit/8045e64d0e80712952b5820564aa57fbbb42fbda
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Log Message:
-----------
[scudo] Skip secondary release if interval greater than current time. (#225242)
If the current time is less than the release interval, the call to
releaseOlderThan wraps around and releases all entries. Skip releasing
when detecting this case.
Commit: 5ae71ec799917c67e9e72510e68831602fc60699
https://github.com/llvm/llvm-project/commit/5ae71ec799917c67e9e72510e68831602fc60699
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/release-binaries.yml
M clang/cmake/caches/Release.cmake
M llvm/cmake/modules/FindLibXml2.cmake
Log Message:
-----------
[cmake] Build libxml from source in release (#221365)
With 23.x we started linking a static libxml in release builds to avoid
requiring that to be installed, and the varying names of that library on
different linux distros. That broke more than it fixed because the
static libxml in our docker images are built targeting ICU, and ICU's
shared library version changes quickly, so even between 2 ubuntu
versions the binaries will not work.
With this change we now build from source in the release build, which is
already what windows does, and we disable ICU / iconv since those don't
seem vital for the windows manifest use case. This seems easier than
building a libxml out of band in our CI images that do the release
builds.
Fixes https://github.com/llvm/llvm-project/issues/215764
Assisted-By: codex
Commit: 3f5d17b22586bd080c62d5b294bd05c0dc282ba4
https://github.com/llvm/llvm-project/commit/3f5d17b22586bd080c62d5b294bd05c0dc282ba4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
M llvm/test/Transforms/SLPVectorizer/AArch64/narrowed-reduction-chain-use.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
Log Message:
-----------
[SLP]Vectorize bool-to-bitmask reductions as a bitcast of zero tests
An or-reduction of boolean leaves each shifted by their own bit position
(an array of bools packed into a bitmask) is a bitcast of the per-lane
zero tests to an integer, which the backend lowers to a movmsk (X86).
Emit that instead of the shift and reduce sequence when it is cheaper.
Fixes #41997
Assisted-by: Cursor
Reviewers: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/223434
Commit: 3d7395a6b066a476d6e711e7da3be8c47aec81d2
https://github.com/llvm/llvm-project/commit/3d7395a6b066a476d6e711e7da3be8c47aec81d2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
Log Message:
-----------
[RISCV] Eliminate redundant VSLIDEDOWN_VL/VSLIDEUP_VL pairs (#223863)
Given this pattern
```
%down = RISCVISD::VSLIDEDOWN_VL undef, %val, %shift, %mask, %vl0
%up = RISCVISD::VSLIDEUP_VL %val, %down, %shift, %mask, %vl1
```
We can simplify it with `%val`, as it's doing redundant shifting.
This pattern usually show up when we emit lots of
insert/extract_subvector or concat_vectors while legalizing ops. Since
those ISD will not be cleaned up by any DAG combine, they are
immediately lowered into RISCVISD. This patch adds the missing DAG
combine to clean them up.
Commit: fd2de19555b060c6f813841f2e25825ad53eab40
https://github.com/llvm/llvm-project/commit/fd2de19555b060c6f813841f2e25825ad53eab40
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-loop-extracts.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-minbw.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-satd.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-trim-revert-cost.ll
Log Message:
-----------
[SLP]Drop unprofitable splat subtrees before the profitability trim
Their reuse pricing distorts the main tree's trim decisions; price the
restored tree from per-node costs on revert instead of incrementally.
Reviewers: bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/224470
Commit: 4cbd68f670efa9f27946ead5b417fce7bb669eb8
https://github.com/llvm/llvm-project/commit/4cbd68f670efa9f27946ead5b417fce7bb669eb8
Author: Farid Zakaria <farid.m.zakaria at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/test/ELF/x86-64-tls-gdie.s
M lld/test/ELF/x86-64-tls-pltoff64.s
M lld/test/ELF/x86-64-tlsdesc-gd.s
Log Message:
-----------
[ELF] Range-check the x86-64 GD-to-IE TLS optimizations (#225228)
Add range-checks to relaxTlsGdToIe so that they fail when the
PC-relative displacement is larger than 32-bit (signed). The un-relaxed
paths in X86_64::relocate already do this via checkInt()
Assisted-By: Opus 5
Commit: 867f97f60129539126354f2c73f9235c0f60b806
https://github.com/llvm/llvm-project/commit/867f97f60129539126354f2c73f9235c0f60b806
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/secure_getenv.cpp
A libc/src/stdlib/secure_getenv.h
M libc/test/integration/src/stdlib/CMakeLists.txt
A libc/test/integration/src/stdlib/secure_getenv_test.cpp
Log Message:
-----------
[libc] Add secure_getenv implementation for Linux (#225013)
Add implementation of POSIX.1-2024 secure_getenv for Linux.
* Fullbuild mode only
* Query AT_SECURE from the auxiliary vector, failing closed if missing
or non-zero.
* Add integration test verifying normal operation and secure execution
mode behavior.
Assisted-by: Automated tooling, human reviewed.
Commit: 08d809d88fdf6b3f2c5cbea4a6b93dc5466b5098
https://github.com/llvm/llvm-project/commit/08d809d88fdf6b3f2c5cbea4a6b93dc5466b5098
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/MemoryOps.cpp
M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
Log Message:
-----------
Revert "[mlir][SPIR-V] Verify NonPrivatePointer requirement for MakePointer{Available,Visible}" (#225483)
Reverts llvm/llvm-project#213621
This is causing buildbot failure
https://lab.llvm.org/buildbot/#/builders/157/builds/51250
Commit: 353f9778f5d9e8835bfa2357ac3f4ecd7e67c778
https://github.com/llvm/llvm-project/commit/353f9778f5d9e8835bfa2357ac3f4ecd7e67c778
Author: Tejas Joshi <tejassanjayj at nvidia.com>
Date: 2026-09-23 (Wed, 23 Sep 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
A llvm/test/Transforms/InstCombine/selects-feeding-binop.ll
M llvm/test/Transforms/InstCombine/vec_sext.ll
Log Message:
-----------
[InstCombine] Optimize selects feeding into BinOp (#224478)
Transform:
`(A ? B : C) op (D ? E : F)`
into:
`A ? (B op (D ? E : F)) : (C op (D ? E : F))`
only if D can be implied by A
This allows for more parts of the expression to be predicated, and
allows more CSE and reuse of nodes calculated as part of an exclusive
sum algorithm.
https://alive2.llvm.org/ce/z/Dawj5u
Commit: 47efe06b3dbe3c687e71fe38721ea1e2a1d96bef
https://github.com/llvm/llvm-project/commit/47efe06b3dbe3c687e71fe38721ea1e2a1d96bef
Author: laoshd <shandong.lao at hpe.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/call10.f90
A flang/test/Semantics/interface-body-data.f90
Log Message:
-----------
[FLANG][Semantics] Add check for DATA statement in interface body. (#221397)
Check and reject DATA statements in interface bodies before
lowering. A regression test is also added.
Fixes #219525
Commit: f542556dfae605899fd31feda9eadef91ac00aa6
https://github.com/llvm/llvm-project/commit/f542556dfae605899fd31feda9eadef91ac00aa6
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/decompose-at-use.ll
Log Message:
-----------
[ConstraintElim] Link values to decompositions during queries if needed. (#224623)
Decomposition is context sensitive and uses information at the query
point to determine if operations have the required wrap flags.
This can lead to situation where at the time facts are added, we fail to
decompose an operation (like `%y = add %x, 1`), and only add it as
variable `%y`.
If at query time, we can decompose `%y`, the query will contains `%x`
and `1`
as variable/constant, with no connection to the fact added earlier.
This can pessimize results in some cases. To avoid this, add additional
rows connecting the variable and the decomposition (e.g.` %y ==
decompose
(add %x, 1))` and re-try the query.
For now, only check top-level operands. This helps with a few cases in
practice. But is not complete, as this issue could happen at each step
of the
decompose recursion. We can investigate this as follow-up.
There are 2 additional folds in
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1351, a fold
in ClamAV and fixes a regression with
https://github.com/llvm/llvm-project/pull/224621.
Compile-time impact is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=c5c167c7436f035152289cb9489548ccf5328bb3&to=e4be2920133168a85d0cfbf9390b1bc752abcc0f&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/224623
Commit: 124a0d5ac6cfc0a96c364adf3d4257f809997f1b
https://github.com/llvm/llvm-project/commit/124a0d5ac6cfc0a96c364adf3d4257f809997f1b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/unittests/Basic/FileManagerTest.cpp
Log Message:
-----------
[clang][test] Remove unnecessary `FileManager` arguments (#225467)
This test was introduced in commit
dfffaf579f2b4bc9184c23f271a57e1fa1ed6f01 and wrongly passed the file
size and modification time to a lookup function that takes two bools.
This PR fixes that by removing the superfluous arguments.
Commit: 941601e5da23c567ff8fdd2377392ca6dcba672d
https://github.com/llvm/llvm-project/commit/941601e5da23c567ff8fdd2377392ca6dcba672d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
A llvm/test/CodeGen/X86/statepoint-relocate-eh.ll
Log Message:
-----------
DAG: Fix cross-block gc.relocate of constants and allocas (#222894)
This fixes latent "Register not marked live out of predecessor" verifier errors in
existing statepoint tests when LiveIntervals is run earlier in the pass pipeline. This
is observable today when using -verify-coalescing in statepoint tests. The verifier
check only runs with LiveIntervals, which is first computed as a dependency for the
RegisterCoalescer, but the coalescer happens to hide the problem before the first
verifier run with computed LiveIntervals in the existing testcases.
When constants and static allocas are relocated in an invoke statepoint's landing pad,
LowerAsSTATEPOINT places the virtual register definition after the STATEPOINT call:
bb.0.entry:
STATEPOINT ... ; unwinds to bb.2 before %0 is defined
%0:gr64 = MOV64ri 1
bb.2.lpad (landing-pad):
$rax = COPY %0:gr64 ; reads uninitialized %0 (folded to undef)
This happens because LowerAsSTATEPOINT calls ExportFromCurrentBlock(V)
for cross-block NoRelocate values, queuing a CopyToReg in PendingExports
that is chained after the STATEPOINT call node.
This patch fixes the problem by recording the directly-lowered leaf in
StatepointRelocationRecord and rematerializing it in visitGCRelocate,
resolving both the wrong-code miscompile on the unwind path and the
machine verifier error with -early-live-intervals.
Co-authored-by: Claude (Claude-Opus-4.8)
Commit: adaa302ea3f8e95e800342ae5b8cb9f9556bdd54
https://github.com/llvm/llvm-project/commit/adaa302ea3f8e95e800342ae5b8cb9f9556bdd54
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/exit-value-nowrap-flags.ll
Log Message:
-----------
[SCEV] Use SCEVUse to access MulOpLists. (#225450)
After https://github.com/llvm/llvm-project/pull/224974, we can reach
this patch with SCEV Mul expressions with operands that have use-flags.
Update loop to access map with SCEVUse instead of const SCEV *.
Fixes a crash in the added test case.
Commit: 5c90e201e55a52b52413370f667d4d57523a08f6
https://github.com/llvm/llvm-project/commit/5c90e201e55a52b52413370f667d4d57523a08f6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
Log Message:
-----------
[libc] Bump containter to ubuntu 26.04 (#225298)
To pull in the latest CMake.
Commit: b2ccb92a19e402dee58699bb409478db578bd16d
https://github.com/llvm/llvm-project/commit/b2ccb92a19e402dee58699bb409478db578bd16d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .github/workflows/ids-check.yml
Log Message:
-----------
workflows/ids-check: Don't enable clang project (#225215)
We are only checking the llvm attributes right now, so there is no
reason to enable clang.
Commit: cf82cfa649c6add78737cb1cc0d95039d581aaff
https://github.com/llvm/llvm-project/commit/cf82cfa649c6add78737cb1cc0d95039d581aaff
Author: Demo_mod <gaurvansh133 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-6.md
Log Message:
-----------
[mlir][docs] Regenerate Toy Ch6 sample output against current main (#225457)
The Ch6 tutorial tells you to run toyc-ch6 with `-emit=mlir-llvm` and
compare against the chapter, but the listings still show typed pointers
like `!llvm<"double*">` and a four-field memref descriptor, and some
lines don't parse at all. #224908 is a beginner hitting exactly that.
This replaces the three listings (LLVM dialect, LLVM IR, optimized LLVM
IR) with what the tool prints today on
`test/Examples/Toy/Ch6/llvm-lowering.mlir`. The LLVM IR listings leave
out the target triple, data layout and `!dbg` metadata since those
depend on the host machine, and the text now says so.
The C++ snippets in the same chapter quoted the old typed-pointer API
for the printf declaration and a pattern list without the memref
patterns, so I updated those to match what's in `examples/toy/Ch6` now,
along with the `dumpLLVMIR` and `runJit` listings. If you'd prefer this
PR stick to the IR output, I can drop those hunks.
There's also one new sentence after the LLVM dialect listing saying what
the five fields of the descriptor are, with a link to the memref section
of the LLVM IR target doc.
Regenerated on macOS arm64 at 750b967f7bf8.
Fixes #224908
Commit: cdaed31318e9d49fcfa47d7229c18168611f062f
https://github.com/llvm/llvm-project/commit/cdaed31318e9d49fcfa47d7229c18168611f062f
Author: vangthao95 <vang.thao at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
Log Message:
-----------
[AMDGPU][NFC] Auto-generate llvm.amdgcn.wqm.vote test checks (#224772)
Commit: 1d471b25430415c26e9a6291b4b1db5542a29864
https://github.com/llvm/llvm-project/commit/1d471b25430415c26e9a6291b4b1db5542a29864
Author: Aman Maurya <amanmaurya9209 at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/fcntl.yaml
M libc/src/fcntl/CMakeLists.txt
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/posix_fallocate.cpp
A libc/src/fcntl/posix_fallocate.h
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/posix_fallocate_test.cpp
Log Message:
-----------
[libc] Implement posix_fallocate in fcntl (#225475)
Implement the standard POSIX.1-2008 / POSIX.1-2024 function
`posix_fallocate` in `<fcntl.h>`.
Fixes #225469
Commit: 2bb58d1595ac9a00c2b33336b65672ff7a81a752
https://github.com/llvm/llvm-project/commit/2bb58d1595ac9a00c2b33336b65672ff7a81a752
Author: Domenic Nutile <domenic.nutile at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU] Refactor isDPALU_DPP to only check if the instruction requires the feature (#224373)
Previously the helper function was a combination of checking if the
instruction required the feature and if the feature is available. This
behavior diverges from similar isDPALU_DPP32BitOpc and can cause
confusion. This refactor aligns the two for consistency, and users
should also check if the feature is available if needed.
Commit: 63d3506589cd70d9dd0aba66dacbab00b9cbb802
https://github.com/llvm/llvm-project/commit/63d3506589cd70d9dd0aba66dacbab00b9cbb802
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c
Log Message:
-----------
[compiler-rt][hwasan] Fix decorate-proc-maps.c test (#225496)
Avoid returning the heap pointer address from main, which causes the
process to exit with a non-zero exit status whenever the lowest byte of
the allocated address is non-zero.
Previously, `malloc(100)` (size class 112) was the first allocation in
its size class, returning page-aligned chunk 0 (`offset 0x00`, exit
code 0). Commit 5a50c15fa686 (#224953) removed `SinkOpts` (48 bytes)
from `llvm::cl::SubCommand`, shrinking `sizeof(SubCommand)` from 160 to
112 bytes. With the internal symbolizer enabled, two pre-main
`ManagedStatic<SubCommand>` allocations now take chunks 0 and 1 in the
112-byte size class, pushing `malloc(100)` to chunk 2 (`offset 0xe0`,
exit code 224).
Assisted-by: Gemini
Commit: 5a24d15712a9b02da52be18d418f031dda3e3d07
https://github.com/llvm/llvm-project/commit/5a24d15712a9b02da52be18d418f031dda3e3d07
Author: Jeff Bailey <jbailey at raspberryginger.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/grp.yaml
M libc/src/grp/CMakeLists.txt
A libc/src/grp/getgrgid.cpp
A libc/src/grp/getgrgid.h
A libc/src/grp/getgrnam.cpp
A libc/src/grp/getgrnam.h
M libc/src/grp/grp_utils.cpp
M libc/src/grp/grp_utils.h
M libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrgid_test.cpp
A libc/test/src/grp/getgrnam_test.cpp
Log Message:
-----------
[libc] Add getgrnam and getgrgid entrypoints (#224858)
Add the non-reentrant group database lookup entrypoints getgrnam and
getgrgid.
Both entrypoints delegate to grp::find_by_name and grp::find_by_gid,
sharing the single static DynamicBuffer and struct group with getgrent
as permitted by POSIX. Because endgrent closes the file stream without
freeing the shared buffer, calling endgrent does not invalidate pointers
returned by getgrnam or getgrgid.
* Add getgrnam and getgrgid entrypoints
* Add non-reentrant find_by_name and find_by_gid overloads in grp_utils
* Define getgrnam and getgrgid in include/grp.yaml
* Add hermetic unit tests for getgrnam and getgrgid
Assisted-by: Automated tooling, human reviewed.
Commit: f842c96e5d2b7ccdaad43e443164ae6574f29778
https://github.com/llvm/llvm-project/commit/f842c96e5d2b7ccdaad43e443164ae6574f29778
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
Log Message:
-----------
[HLSL][LongVector] Implement fmod (#224123)
resolves https://github.com/llvm/llvm-project/issues/220649
This is as much a refactor as it is adding long vector support.
I noticed the fmod helper had many issues. THe SPIR-V implementatiion
wasn't properly put into a SPIR-V macro
fmod had a scalar \ vector version that was unecessary.
The tests seemed to be raw register defines so
source code changes caused the names to all change.
Fixing this meant we could simplify the tablegen
and helpers.
Also the tests are much more clean with no -D defines
Commit: 752647bcfcbc97c1ffe8db1d0cc50ec71b3957cf
https://github.com/llvm/llvm-project/commit/752647bcfcbc97c1ffe8db1d0cc50ec71b3957cf
Author: Delaram Talaashrafi <dtalaashrafi at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M mlir/lib/Dialect/OpenACC/Transforms/ACCCGToGPU.cpp
A mlir/test/Dialect/OpenACC/acc-cg-to-gpu-seq-loop-routine-reuse-barrier.mlir
Log Message:
-----------
[mlir][OpenACC] Barrier seq loops that reuse gang-private slots after worker calls (#224437)
A sequential `scf.for` that stores a gang-private value and then calls a
worker- or vector-level acc routine can let threads overlap iterations
on the same workgroup slot. Insert a workgroup barrier at the top of
that loop body so the next iteration's store waits for the previous
iteration's last read.
Skip sequential gang remnants, loops under thread-level worksharing, and
bodies already inside `scf.if`, where a workgroup barrier would
deadlock.
Commit: 2e2f186211834a0f7564c9e68e0421e9ca77d50d
https://github.com/llvm/llvm-project/commit/2e2f186211834a0f7564c9e68e0421e9ca77d50d
Author: Nico Weber <thakis at chromium.org>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 854a9b8d7036ef524 more (#225510)
Commit: fce572795ba0a17d0574287ff25678e66e972b7d
https://github.com/llvm/llvm-project/commit/fce572795ba0a17d0574287ff25678e66e972b7d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
A flang/test/Fir/CUDA/cuda-constructor-extra.fir
Log Message:
-----------
[flang][cuda] Add extra constructor option to CUFAddConstructor (#225181)
Add an option to add extra constructors to the `llvm.mlir.global_ctors`.
The option is taking a pair of string and a boolean. The boolean is
telling if the constructor needs to be added always or only when
`PROGRAM` statement is present in the translation unit. This is used to
set up sentinels in different compilation mode.
Commit: b316c1a0df16f96151960970aced9e1b33c85820
https://github.com/llvm/llvm-project/commit/b316c1a0df16f96151960970aced9e1b33c85820
Author: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
M llvm/test/CodeGen/SPIRV/transcoding/explicit-conversions.ll
Log Message:
-----------
[SPIR-V] Fold same type conversions into a copy (#223365)
OpSConvert/OpUConvert/OpFConvert reject an operand whose type matches
the result, so convert_uint(int) and friends produced invalid SPIR-V
Commit: f36543bf2de3467dc281dbd8e6ec535333746bf6
https://github.com/llvm/llvm-project/commit/f36543bf2de3467dc281dbd8e6ec535333746bf6
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M flang/lib/Optimizer/OpenACC/Transforms/ACCUseDeviceCanonicalizer.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenACC/Transforms/ACCEmitRemarksData.cpp
M mlir/test/Dialect/OpenACC/acc-emit-remarks-data.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Add a synthetic flag to the data clause operations (#225213)
An implementation may create a data clause operation for its own
bookkeeping rather than to represent a data attribute of the program
being compiled. Such an operation has no counterpart in that program, so
describing it to the user is at best confusing and at worst a duplicate
of the clause it was created to support.
Add a `synthetic` unit attribute that marks these operations, a
`getSyntheticFlag` accessor next to `getImplicitFlag`, and have
acc-emit-remarks-data skip the operations that carry it.
Assisted-by: Cursor
Commit: 134c06c276da7411f1e1d95fa39f23b305ca4832
https://github.com/llvm/llvm-project/commit/134c06c276da7411f1e1d95fa39f23b305ca4832
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-root-order.ll
Log Message:
-----------
[SLP][NFC]Add a test with splat reverse vectorization, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/225514
Commit: 91dec7aeed6bba3c4df623a423d08e315cfd9637
https://github.com/llvm/llvm-project/commit/91dec7aeed6bba3c4df623a423d08e315cfd9637
Author: hidekisaito <hidekido at amd.com>
Date: 2026-09-22 (Tue, 22 Sep 2026)
Changed paths:
M .ci/green-dragon/lldb-ubuntu.groovy
M .github/workflows/bazel-checks.yml
M .github/workflows/build-ci-container-tooling.yml
M .github/workflows/build-libc-container.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/containers/github-action-ci-tooling/Dockerfile
M .github/workflows/containers/libc/Dockerfile
M .github/workflows/ids-check.yml
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
M .github/workflows/libc-shared-tests.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-benchmark-commit.yml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-pr-benchmark.yml
M .github/workflows/libcxx-pr-conformance-tests.yaml
M .github/workflows/libcxx-pr-test-tools.yml
M .github/workflows/llvm-abi-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/mlir-spirv-tests.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-code-lint.yml
M .github/workflows/release-binaries.yml
M .github/workflows/spirv-tests.yml
M .github/workflows/subscriber.yml
M .github/workflows/sycl-tests.yml
M .github/workflows/test-suite.yml
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/use-old-text-zero-padding.c
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticInitializationCycleCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/FeatureModule.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/unittests/FeatureModulesTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
M clang-tools-extra/docs/ReleaseNotes.md
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/misplaced-pointer-arithmetic-in-alloc.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-decltype-auto.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/multiple-inheritance.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers-invalid-decl-no-crash.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-t.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
M clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses-c23.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-demorgan.cpp
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
M clang/cmake/caches/Release.cmake
M clang/docs/InternalsManual.md
M clang/docs/OpenMPSupport.md
M clang/docs/ReleaseNotes.md
M clang/include/clang-c/Index.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/HLSLIntrinsics.td
M clang/include/clang/Basic/SourceLocation.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/CIR/Dialect/Analysis/CIRAliasAnalysis.h
M clang/include/clang/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/CodeGenUtils/CallUtils.h
A clang/include/clang/CodeGenUtils/ClassUtils.h
A clang/include/clang/CodeGenUtils/ExprUtils.h
A clang/include/clang/CodeGenUtils/FunctionUtils.h
A clang/include/clang/CodeGenUtils/ItaniumCXXABIUtils.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/include/clang/Options/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpState.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/State.cpp
M clang/lib/AST/ByteCode/State.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.cpp
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenException.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.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/CIRGenItaniumCXXABI.cpp
A clang/lib/CIR/CodeGen/CIRGenMicrosoftCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/Analysis/CIRAliasAnalysis.cpp
M clang/lib/CIR/Dialect/Analysis/CIRBasicAliasAnalysis.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/CIRTransformUtils.cpp
M clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
M clang/lib/CIR/Dialect/Transforms/GotoSolver.cpp
M clang/lib/CIR/Dialect/Transforms/IdiomRecognizer.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRCXXABI.h
M clang/lib/CIR/Dialect/Transforms/TargetLowering/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerMicrosoftCXXABI.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.cpp
M clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerModule.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/EHScopeStack.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/QualTypeMapper.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGenUtils/CMakeLists.txt
A clang/lib/CodeGenUtils/CallUtils.cpp
A clang/lib/CodeGenUtils/ClassUtils.cpp
A clang/lib/CodeGenUtils/ExprUtils.cpp
A clang/lib/CodeGenUtils/FunctionUtils.cpp
A clang/lib/CodeGenUtils/ItaniumCXXABIUtils.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_spirv_builtins.h
A clang/lib/Headers/avx10v2aux_512intrin.h
A clang/lib/Headers/avx10v2auxintrin.h
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/riscv_packed_simd.h
M clang/lib/Index/FileIndexRecord.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/IncrementalExecutor.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Options/DriverOptions.cpp
M clang/lib/Options/OptionUtils.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefSafetyModel.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
A clang/test/AST/ByteCode/Inputs/default-ctor.cppm
A clang/test/AST/ByteCode/Inputs/module.modulemap
A clang/test/AST/ByteCode/Inputs/redecl1.h
M clang/test/AST/ByteCode/invalid.cpp
A clang/test/AST/ByteCode/module-default-ctor.cpp
A clang/test/AST/ByteCode/module-redecl1.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/ASTMerge/class-template-partial-spec/test.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
R clang/test/Analysis/Checkers/WebKit/unretained-call-args-member.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
A clang/test/Analysis/inlining-final-methods.cpp
M clang/test/CIR/Analysis/alias-analysis-underlying-object.cir
M clang/test/CIR/CodeGen/array-init-loop-exprs.cpp
A clang/test/CIR/CodeGen/attr-musttail-ehspec-errors.cpp
M clang/test/CIR/CodeGen/bitfields.cpp
A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-vaarg-non-pod-nyi.cpp
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/class.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/cxx-conversion-operators.cpp
A clang/test/CIR/CodeGen/cxx-msvc-abi.cpp
M clang/test/CIR/CodeGen/cxx-rewritten-binary-operator.cpp
A clang/test/CIR/CodeGen/ehspec-noexcept.cpp
A clang/test/CIR/CodeGen/ehspec.cpp
A clang/test/CIR/CodeGen/func-member-attrs.cpp
M clang/test/CIR/CodeGen/global-address-to-int.c
M clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
M clang/test/CIR/CodeGen/global-tls-simple-init.cpp
M clang/test/CIR/CodeGen/global-tls-templates.cpp
M clang/test/CIR/CodeGen/inherited-ctors.cpp
M clang/test/CIR/CodeGen/lambda-generic-in-cxx11abi-lambda.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker-agg-return.cpp
M clang/test/CIR/CodeGen/lambda-static-invoker.cpp
M clang/test/CIR/CodeGen/lambda.cpp
A clang/test/CIR/CodeGen/lowering-lang-options.cpp
A clang/test/CIR/CodeGen/noinline-available-externally-skip.cpp
M clang/test/CIR/CodeGen/paren-list-agg-init.cpp
M clang/test/CIR/CodeGen/rtti-qualfn.cpp
M clang/test/CIR/CodeGen/side-effect.cpp
M clang/test/CIR/CodeGen/static-local.cpp
A clang/test/CIR/CodeGen/target-lowering-dead-block.cpp
M clang/test/CIR/CodeGen/ternary.cpp
M clang/test/CIR/CodeGen/union.c
M clang/test/CIR/CodeGen/var-arg-aggregate.c
A clang/test/CIR/CodeGen/var-arg-direct-offset.cpp
A clang/test/CIR/CodeGen/var-arg-empty.c
A clang/test/CIR/CodeGen/var-arg-int128.c
A clang/test/CIR/CodeGen/var-arg-long-double.c
A clang/test/CIR/CodeGen/var-arg-vector.c
M clang/test/CIR/CodeGen/var_arg.c
M clang/test/CIR/CodeGen/vector-bool.cpp
M clang/test/CIR/CodeGen/vtable-emission.cpp
M clang/test/CIR/CodeGen/vtable-thunk-undefined-callee.cpp
A clang/test/CIR/CodeGenBuiltins/builtin-stdc-bit-c2y.c
A clang/test/CIR/CodeGenCUDA/lowering-lang-options.cu
M clang/test/CIR/CodeGenCXX/uncopyable-args.cpp
A clang/test/CIR/CodeGenSYCL/kernel-caller-attributes.cpp
A clang/test/CIR/CodeGenSYCL/offload-include-binary.cpp
M clang/test/CIR/IR/call.cir
M clang/test/CIR/IR/enum-attrs.cir
M clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/invalid-effect-attrs.cir
M clang/test/CIR/IR/invalid-func.cir
A clang/test/CIR/IR/invalid-ptr-mask.cir
A clang/test/CIR/IR/invalid-static-local-info.cir
M clang/test/CIR/IR/invalid-static-local.cir
M clang/test/CIR/IR/invalid-tls.cir
M clang/test/CIR/IR/invalid-try-catch.cir
A clang/test/CIR/IR/lowering-lang-options.cir
A clang/test/CIR/IR/ptr-mask.cir
M clang/test/CIR/IR/static-local-info.cir
M clang/test/CIR/IR/static-local.cir
M clang/test/CIR/IR/try-catch.cir
M clang/test/CIR/Lowering/const-array-bulk-lowering-fallbacks.cir
A clang/test/CIR/Lowering/memory-effects.cir
A clang/test/CIR/Lowering/ptr-mask.cir
A clang/test/CIR/Lowering/ptr-stride-index-width.cir
A clang/test/CIR/Lowering/ptr-stride-index-width.cpp
M clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/abi-lowering/x86_64-vaarg-valist-shape-nyi.cir
M clang/test/CIR/Transforms/eh-abi-lowering-eh-spec.cir
M clang/test/CIR/Transforms/flatten-eh-spec.cir
M clang/test/CIR/Transforms/flatten-preserve-attrs.cir
M clang/test/CIR/Transforms/idiom-recognizer.cpp
M clang/test/CIR/func-linkage.cpp
M clang/test/CIR/lib/Analysis/TestCIRAliasAnalysis.cpp
M clang/test/CXX/over/over.match/over.match.best/p2.cpp
M clang/test/CodeGen/AArch64/abi-classify-arg-types.c
M clang/test/CodeGen/AArch64/abi-classify-arg-types.cpp
M clang/test/CodeGen/AArch64/abi-classify-return-types.c
M clang/test/CodeGen/AArch64/abi-classify-return-types.cpp
A clang/test/CodeGen/AArch64/abi-lowering-matrix-ha-compat23.c
M clang/test/CodeGen/AArch64/args-hfa.c
M clang/test/CodeGen/AArch64/arguments-hfa-v3.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
R clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon/load.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/test/CodeGen/AMDGPU/amdgcn-av-non-atomic.cpp
M clang/test/CodeGen/AMDGPU/amdgcn-av-none-amdgpu-atomic.cpp
M clang/test/CodeGen/AMDGPU/amdgcn-av-none-attr.cpp
M clang/test/CodeGen/RISCV/rvp-intrinsics.c
A clang/test/CodeGen/Sparc/sparc-long-double-abi.c
M clang/test/CodeGen/Sparc/sparc-vaarg.c
M clang/test/CodeGen/Sparc/sparcv8-abi.c
M clang/test/CodeGen/Sparc/variadic-aggregate.c
R clang/test/CodeGen/WebAssembly/exception-model-flag.c
M clang/test/CodeGen/WebAssembly/wasm-exception-model-flag-parse-ir-input.ll
A clang/test/CodeGen/X86/avx10_2_v2aux-builtins-errors.c
A clang/test/CodeGen/X86/avx10_2_v2aux-builtins.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/builtin-clear-padding-codegen.c
M clang/test/CodeGen/builtin-cpu-supports-all.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/catch-pointer-overflow-volatile.c
M clang/test/CodeGen/catch-pointer-overflow.c
M clang/test/CodeGen/compound-literal-lifetime.c
M clang/test/CodeGen/exception-model-flag.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/ubsan-pointer-overflow-constant-fold.c
M clang/test/CodeGen/ubsan-pointer-overflow.c
M clang/test/CodeGen/veclib-darwin-libsystem-m.c
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
R clang/test/CodeGenCXX/GH211943.cpp
A clang/test/CodeGenCXX/RelativeVTablesABI/deleted-virtual-method.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
M clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
M clang/test/CodeGenCXX/builtin-dump-struct.cpp
M clang/test/CodeGenCXX/builtins-eh-wasm.cpp
M clang/test/CodeGenCXX/cfi-stats.cpp
M clang/test/CodeGenCXX/new_hot_cold.cpp
M clang/test/CodeGenCXX/operator-new.cpp
M clang/test/CodeGenCXX/strict-vtable-pointers.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenHIP/hipspv-kernel.cpp
A clang/test/CodeGenHLSL/builtins/InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RWByteAddressBuffer-InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/RWTexture-Interlocked.hlsl
A clang/test/CodeGenHLSL/builtins/RasterizerOrderedByteAddressBuffer-InterlockedMax.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenObjC/wasm32-eh-arc.m
M clang/test/CodeGenObjC/wasm32-eh.m
M clang/test/CodeGenObjCXX/wasm32-eh-objcxx.mm
M clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl
M clang/test/CodeGenOpenCL/opencl_types.cl
M clang/test/CodeGenOpenCL/spir_version.cl
M clang/test/CodeGenSPIRV/Builtins/generic_cast_to_ptr_explicit.c
M clang/test/CodeGenSYCL/address-space-conversions.cpp
M clang/test/CodeGenSYCL/address-space-mangling.cpp
M clang/test/CodeGenSYCL/amd-address-space-conversions.cpp
M clang/test/CodeGenSYCL/cuda-address-space-conversions.cpp
R clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/darwin-static-lib-universal.c
M clang/test/Driver/darwin-static-lib.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/loongarch-toolchain.c
R clang/test/Driver/pch-inputs.h
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Driver/ps4-ps5-resource-path.cpp
M clang/test/Driver/systemz-features.cpp
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/x86-target-features.c
A clang/test/Index/openmp-flatten.c
A clang/test/Modules/concept-specialization-deserialization.cppm
M clang/test/Modules/pr102360.cppm
A clang/test/Modules/pr72038.cppm
M clang/test/Modules/redecl-add-after-load.cpp
M clang/test/OffloadTools/clang-sycl-linker/basic.ll
M clang/test/OffloadTools/clang-sycl-linker/options.ll
M clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
M clang/test/OpenMP/amdgcn_save_temps.c
M clang/test/OpenMP/bug60602.cpp
A clang/test/OpenMP/collapse_ordered_instantiation_dependent.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
A clang/test/OpenMP/flatten_ast_print.cpp
A clang/test/OpenMP/flatten_codegen.cpp
A clang/test/OpenMP/flatten_codegen_for.cpp
A clang/test/OpenMP/flatten_depth_ast_print.cpp
A clang/test/OpenMP/flatten_depth_codegen.cpp
A clang/test/OpenMP/flatten_depth_messages.cpp
A clang/test/OpenMP/flatten_messages.cpp
A clang/test/OpenMP/flatten_serialize_module.cpp
A clang/test/OpenMP/for_collapse_stmt_expr_codegen.cpp
M clang/test/OpenMP/for_loop_messages.cpp
A clang/test/OpenMP/fuse_depth_messages.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
A clang/test/OpenMP/nvptx_target_teams_ompx_bare_kernel_environment_codegen.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
A clang/test/OpenMP/structured-bindings-ast.cpp
A clang/test/OpenMP/structured-bindings-codegen.cpp
A clang/test/OpenMP/structured-bindings-messages.cpp
A clang/test/OpenMP/structured-bindings-nontemporal.cpp
A clang/test/OpenMP/structured-bindings-target-map-different-types.cpp
A clang/test/OpenMP/structured-bindings-template-instantiation.cpp
M clang/test/OpenMP/target_default_codegen.cpp
M clang/test/OpenMP/target_dyn_groupprivate_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_strict_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
A clang/test/OpenMP/target_teams_host_kernel_environment_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_openmp52_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M clang/test/Parser/cxx2c-expansion-statements.cpp
M clang/test/Parser/decltype-crash.cpp
A clang/test/Parser/ms-lambda-capture.clcpp
A clang/test/Parser/ms-lambda-capture.cpp
A clang/test/Parser/ms-lambda-capture.hip
A clang/test/ParserHLSL/ms-lambda-capture.hlsl
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/constant-builtins-2.c
M clang/test/Sema/typo-correction-no-hang.cpp
M clang/test/Sema/typo-correction.c
M clang/test/Sema/zvector.c
A clang/test/SemaCXX/GH220525.cpp
M clang/test/SemaCXX/aggregate-default-member-initializers.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts-control-flow.cpp
A clang/test/SemaCXX/cxx2c-expansion-stmts-warnings.cpp
M clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
M clang/test/SemaCXX/decomposition-openmp.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
M clang/test/SemaCXX/expansion-statements-local-extern-decls.cpp
A clang/test/SemaCXX/expansion-statements-local-extern-if-constexpr.cpp
M clang/test/SemaHIP/atomic-init.hip
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/ByteAddressBuffer-InterlockedMax-sm65-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/InterlockedMax-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzleErrors.hlsl
A clang/test/SemaHLSL/Types/invalid-longvec-swizzle.hlsl
M clang/test/SemaSPIRV/BuiltIns/generic_cast_to_ptr_explicit.c
M clang/test/SemaSYCL/address-space-conversions.cpp
A clang/test/SemaSYCL/sycl-address-space-attr-appertainment.cpp
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/offload-arch/AMDGPUArchByKFD.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/offload-arch/OffloadArchTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/builtins/extendhfsf2.c
M compiler-rt/lib/builtins/fp_extend.h
M compiler-rt/lib/builtins/fp_trunc.h
M compiler-rt/lib/builtins/truncsfhf2.c
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
M compiler-rt/test/hwasan/TestCases/Linux/decorate-proc-maps.c
M cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
M flang-rt/include/flang-rt/runtime/tools.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/unittests/Runtime/Assign.cpp
M flang/docs/Aliasing.md
M flang/docs/Extensions.md
M flang/docs/ModFiles.md
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Builder/Runtime/Assign.h
M flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
M flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.h
M flang/include/flang/Optimizer/Support/AllocationPolicy.h
M flang/include/flang/Optimizer/Support/InternalNames.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/Assign.cpp
M flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SeparateAllocatableAssign.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
M flang/lib/Optimizer/OpenACC/Transforms/ACCUseDeviceCanonicalizer.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Support/AllocationPolicy.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Support/InternalNames.cpp
M flang/lib/Optimizer/Support/Utils.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceFuncTransform.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
A flang/lib/Optimizer/Transforms/CUDA/CUFDuplicateDeviceFunc.cpp
M flang/lib/Optimizer/Transforms/CUDA/CUFPredefinedVarToGPU.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-syntax.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
A flang/test/Fir/CUDA/cuda-constructor-extra.fir
M flang/test/Fir/CUDA/cuda-device-func-transform-aio.mlir
A flang/test/Fir/CUDA/cuda-device-func-transform-copies.mlir
A flang/test/Fir/CUDA/cuda-duplicate-device-func.mlir
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-clauses.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-privatize.mlir
M flang/test/Fir/OpenACC/acc-fir-map-info-prep-types.mlir
M flang/test/Fir/allocation-policy-pipeline.fir
M flang/test/Fir/box-elesize-canonicalize.fir
M flang/test/Fir/struct-passing-ppc64le-byval.fir
M flang/test/Fir/struct-passing-systemz-reference.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/copy-in-out.fir
M flang/test/HLFIR/inline-hlfir-copy-stack.fir
M flang/test/HLFIR/inline-hlfir-copy.fir
M flang/test/HLFIR/memory-effects.fir
M flang/test/HLFIR/opt-bufferization-dealloc-conflict.fir
M flang/test/HLFIR/separate-allocatable-assign.fir
M flang/test/Integration/RISCV/riscv-target-abi.f90
A flang/test/Lower/CUDA/cuda-gpu-managed-components-order.cuf
A flang/test/Lower/CUDA/cuda-gpu-managed-components.cuf
M flang/test/Lower/HLFIR/assumed-rank-calls.f90
M flang/test/Lower/HLFIR/call-postponed-associate.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/calls-poly-to-nonpoly.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
A flang/test/Lower/HLFIR/visible-cray-pointer-target.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad-llvm.f90
A flang/test/Lower/Intrinsics/transfer-rec-tail-pad.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/target-firstprivate-nested-allocatable-mapper.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/use-device-addr-performance.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/components.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/dummy-argument-assumed-shape-optional.f90
M flang/test/Lower/dummy-argument-optional-2.f90
M flang/test/Lower/parent-component.f90
M flang/test/Parser/cuf-sanity-tree.CUF
A flang/test/Preprocessing/fixed-c-comment01.F
A flang/test/Preprocessing/fixed-c-comment02.F
A flang/test/Preprocessing/fixed-c-comment03.f
A flang/test/Preprocessing/fixed-c-comment04.f
A flang/test/Preprocessing/fixed-c-comment05.f
A flang/test/Preprocessing/free-c-comment01.f90
A flang/test/Semantics/CUDA/cuda-managed-implicit-modfile.cuf
M flang/test/Semantics/OpenMP/allocate_do1.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depend05.f90
M flang/test/Semantics/OpenMP/depobj-construct-v52.f90
M flang/test/Semantics/OpenMP/from-clause-v45.f90
M flang/test/Semantics/OpenMP/map-modifiers-v60.f90
M flang/test/Semantics/OpenMP/to-clause-v45.f90
M flang/test/Semantics/OpenMP/uses-allocators-version50.f90
M flang/test/Semantics/OpenMP/uses-allocators-version51.f90
M flang/test/Semantics/call10.f90
A flang/test/Semantics/interface-body-data.f90
A flang/test/Transforms/DoConcurrent/nested_derived_type_device.f90
A flang/test/Transforms/OpenACC/acc-implicit-data-device-data.fir
A flang/test/Transforms/OpenACC/acc-implicit-routine.fir
M flang/test/Transforms/allocation-placement.fir
A flang/test/Transforms/debug-omp-target-internal-proc.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/f18-parse-demo/f18-parse-demo.cpp
M flang/unittests/Optimizer/InternalNamesTest.cpp
M libc/cmake/modules/CheckCompilerFeatures.cmake
A libc/cmake/modules/compiler_features/check_float80.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/i386/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/headers/math/index.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct___pthread_cleanup_frame.h
M libc/include/CMakeLists.txt
M libc/include/fcntl.yaml
M libc/include/grp.yaml
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct___pthread_cleanup_frame.h
M libc/include/pthread.yaml
M libc/include/stdlib.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/stat.yaml
A libc/include/sys/xattr.yaml
M libc/lib/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
R libc/src/__support/CPP/vector.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/File/file.cpp
M libc/src/__support/File/file.h
M libc/src/__support/OSUtil/baremetal/io.h
M libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
A libc/src/__support/OSUtil/linux/syscall_wrappers/fallocate.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/flistxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/listxattr.h
A libc/src/__support/OSUtil/linux/syscall_wrappers/llistxattr.h
M libc/src/__support/frac128.h
A libc/src/__support/frac256.h
M libc/src/__support/frac64.h
M libc/src/__support/macros/attributes.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acosf.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
A libc/src/__support/math/exp10f_double_eval.h
A libc/src/__support/math/exp10f_float_eval.h
M libc/src/__support/math/exp2.h
M libc/src/__support/math/exp2f.h
A libc/src/__support/math/exp2f_double_eval.h
A libc/src/__support/math/exp2f_float_eval.h
A libc/src/__support/math/exp2f_float_utils.h
M libc/src/__support/math/expf.h
A libc/src/__support/math/expf_double_eval.h
A libc/src/__support/math/expf_float_eval.h
M libc/src/__support/math/expf_integer_eval.h
M libc/src/__support/math/pow.h
A libc/src/__support/math/pow_accurate_128.h
A libc/src/__support/math/pow_accurate_256.h
A libc/src/__support/math/pow_fast.h
A libc/src/__support/math/pow_utils.h
M libc/src/__support/math/setpayloadsig.h
M libc/src/__support/math/setpayloadsigbf16.h
M libc/src/__support/math/setpayloadsigf.h
M libc/src/__support/math/setpayloadsigf128.h
M libc/src/__support/math/setpayloadsigf16.h
M libc/src/__support/math/setpayloadsigl.h
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/cleanup_stack.h
M libc/src/__support/threads/thread.cpp
M libc/src/__support/threads/thread_attributes.h
M libc/src/fcntl/CMakeLists.txt
A libc/src/fcntl/fallocate.h
M libc/src/fcntl/linux/CMakeLists.txt
A libc/src/fcntl/linux/fallocate.cpp
A libc/src/fcntl/linux/posix_fallocate.cpp
A libc/src/fcntl/posix_fallocate.h
M libc/src/grp/CMakeLists.txt
A libc/src/grp/endgrent.cpp
A libc/src/grp/endgrent.h
A libc/src/grp/getgrent.cpp
A libc/src/grp/getgrent.h
A libc/src/grp/getgrgid.cpp
A libc/src/grp/getgrgid.h
A libc/src/grp/getgrgid_r.cpp
A libc/src/grp/getgrgid_r.h
A libc/src/grp/getgrnam.cpp
A libc/src/grp/getgrnam.h
A libc/src/grp/getgrnam_r.cpp
A libc/src/grp/getgrnam_r.h
M libc/src/grp/grp_utils.cpp
M libc/src/grp/grp_utils.h
A libc/src/grp/setgrent.cpp
A libc/src/grp/setgrent.h
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/expf.cpp
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/__pthread_cleanup_pop.cpp
A libc/src/pthread/__pthread_cleanup_pop.h
A libc/src/pthread/__pthread_cleanup_push.cpp
A libc/src/pthread/__pthread_cleanup_push.h
M libc/src/stdio/baremetal/CMakeLists.txt
A libc/src/stdio/baremetal/fclose.cpp
A libc/src/stdio/baremetal/fseek.cpp
A libc/src/stdio/baremetal/fseeko.cpp
A libc/src/stdio/baremetal/ftell.cpp
A libc/src/stdio/baremetal/ftello.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/linux/CMakeLists.txt
A libc/src/stdlib/linux/secure_getenv.cpp
A libc/src/stdlib/secure_getenv.h
M libc/src/sys/CMakeLists.txt
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/mlock2.h
M libc/src/sys/stat/CMakeLists.txt
A libc/src/sys/stat/fstatat.h
M libc/src/sys/stat/linux/CMakeLists.txt
A libc/src/sys/stat/linux/fstatat.cpp
A libc/src/sys/stat/linux/mkfifoat.cpp
A libc/src/sys/stat/mkfifoat.h
A libc/src/sys/xattr/CMakeLists.txt
A libc/src/sys/xattr/flistxattr.h
A libc/src/sys/xattr/linux/CMakeLists.txt
A libc/src/sys/xattr/linux/flistxattr.cpp
A libc/src/sys/xattr/linux/listxattr.cpp
A libc/src/sys/xattr/linux/llistxattr.cpp
A libc/src/sys/xattr/listxattr.h
A libc/src/sys/xattr/llistxattr.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_cleanup_test.cpp
M libc/test/integration/src/stdlib/CMakeLists.txt
A libc/test/integration/src/stdlib/secure_getenv_test.cpp
M libc/test/shared/shared_math_constexpr_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
R libc/test/src/__support/CPP/vector_test.cpp
M libc/test/src/__support/FPUtil/CMakeLists.txt
M libc/test/src/__support/FPUtil/float80_test.cpp
M libc/test/src/fcntl/CMakeLists.txt
A libc/test/src/fcntl/linux/CMakeLists.txt
A libc/test/src/fcntl/linux/fallocate_test.cpp
A libc/test/src/fcntl/posix_fallocate_test.cpp
M libc/test/src/grp/CMakeLists.txt
A libc/test/src/grp/getgrent_test.cpp
A libc/test/src/grp/getgrgid_r_test.cpp
A libc/test/src/grp/getgrgid_test.cpp
A libc/test/src/grp/getgrnam_r_test.cpp
A libc/test/src/grp/getgrnam_test.cpp
A libc/test/src/grp/grp_test_utils.h
M libc/test/src/math/AddTest.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/DivTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/MulTest.h
M libc/test/src/math/NearbyIntTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/RsqrtTest.h
M libc/test/src/math/ScalbnTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/SubTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/bf16add_test.cpp
M libc/test/src/math/bf16addf128_test.cpp
M libc/test/src/math/bf16addf_test.cpp
M libc/test/src/math/bf16addl_test.cpp
M libc/test/src/math/bf16div_test.cpp
M libc/test/src/math/bf16divf128_test.cpp
M libc/test/src/math/bf16divf_test.cpp
M libc/test/src/math/bf16divl_test.cpp
M libc/test/src/math/bf16fma_test.cpp
M libc/test/src/math/bf16fmaf128_test.cpp
M libc/test/src/math/bf16fmaf_test.cpp
M libc/test/src/math/bf16fmal_test.cpp
M libc/test/src/math/bf16mul_test.cpp
M libc/test/src/math/bf16mulf128_test.cpp
M libc/test/src/math/bf16mulf_test.cpp
M libc/test/src/math/bf16mull_test.cpp
M libc/test/src/math/bf16sub_test.cpp
M libc/test/src/math/bf16subf128_test.cpp
M libc/test/src/math/bf16subf_test.cpp
M libc/test/src/math/bf16subl_test.cpp
M libc/test/src/math/ceil_test.cpp
M libc/test/src/math/ceilbf16_test.cpp
M libc/test/src/math/ceilf128_test.cpp
M libc/test/src/math/ceilf16_test.cpp
M libc/test/src/math/ceilf_test.cpp
M libc/test/src/math/ceill_test.cpp
M libc/test/src/math/copysign_test.cpp
M libc/test/src/math/copysignf_test.cpp
M libc/test/src/math/copysignl_test.cpp
M libc/test/src/math/daddl_test.cpp
M libc/test/src/math/ddivl_test.cpp
M libc/test/src/math/dfmal_test.cpp
M libc/test/src/math/dmull_test.cpp
M libc/test/src/math/dsqrtl_test.cpp
M libc/test/src/math/dsubl_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
M libc/test/src/math/exhaustive/acosf_test.cpp
M libc/test/src/math/exhaustive/acoshf_test.cpp
M libc/test/src/math/exhaustive/acospif_test.cpp
M libc/test/src/math/exhaustive/asinf_test.cpp
M libc/test/src/math/exhaustive/asinhf_test.cpp
M libc/test/src/math/exhaustive/asinpif_test.cpp
M libc/test/src/math/exhaustive/atanf_float_test.cpp
M libc/test/src/math/exhaustive/atanf_test.cpp
M libc/test/src/math/exhaustive/atanhf_test.cpp
M libc/test/src/math/exhaustive/bfloat16_test.cpp
M libc/test/src/math/exhaustive/cbrtf_test.cpp
M libc/test/src/math/exhaustive/cosf_float_test.cpp
M libc/test/src/math/exhaustive/cosf_test.cpp
M libc/test/src/math/exhaustive/coshf_test.cpp
M libc/test/src/math/exhaustive/cospif_test.cpp
M libc/test/src/math/exhaustive/erff_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/exhaustive_test_static_rounding.h
M libc/test/src/math/exhaustive/exp10f_test.cpp
M libc/test/src/math/exhaustive/exp10m1f_test.cpp
M libc/test/src/math/exhaustive/exp2f_test.cpp
M libc/test/src/math/exhaustive/exp2m1f_test.cpp
R libc/test/src/math/exhaustive/expf_static_rounding_test.cpp
M libc/test/src/math/exhaustive/expf_test.cpp
M libc/test/src/math/exhaustive/expm1f_test.cpp
M libc/test/src/math/exhaustive/f16sqrtf_test.cpp
M libc/test/src/math/exhaustive/fmodbf16_test.cpp
M libc/test/src/math/exhaustive/fmodf16_test.cpp
M libc/test/src/math/exhaustive/lgammaf_test.cpp
M libc/test/src/math/exhaustive/log10f_test.cpp
M libc/test/src/math/exhaustive/log1pf_test.cpp
M libc/test/src/math/exhaustive/log2f_test.cpp
M libc/test/src/math/exhaustive/logf_test.cpp
M libc/test/src/math/exhaustive/rsqrtf_test.cpp
M libc/test/src/math/exhaustive/sincosf_test.cpp
M libc/test/src/math/exhaustive/sinf_float_test.cpp
M libc/test/src/math/exhaustive/sinf_test.cpp
M libc/test/src/math/exhaustive/sinhf_test.cpp
M libc/test/src/math/exhaustive/sinpif_test.cpp
M libc/test/src/math/exhaustive/sqrtf_test.cpp
M libc/test/src/math/exhaustive/tanf_test.cpp
M libc/test/src/math/exhaustive/tanhf_test.cpp
M libc/test/src/math/exhaustive/tanpif_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2f_test.cpp
R libc/test/src/math/expf_static_rounding_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/f16add_test.cpp
M libc/test/src/math/f16addf_test.cpp
M libc/test/src/math/f16addl_test.cpp
M libc/test/src/math/f16div_test.cpp
M libc/test/src/math/f16divf_test.cpp
M libc/test/src/math/f16divl_test.cpp
M libc/test/src/math/f16fma_test.cpp
M libc/test/src/math/f16fmaf_test.cpp
M libc/test/src/math/f16fmal_test.cpp
M libc/test/src/math/f16mul_test.cpp
M libc/test/src/math/f16mulf_test.cpp
M libc/test/src/math/f16mull_test.cpp
M libc/test/src/math/f16sqrt_test.cpp
M libc/test/src/math/f16sqrtf_test.cpp
M libc/test/src/math/f16sqrtl_test.cpp
M libc/test/src/math/f16sub_test.cpp
M libc/test/src/math/f16subf_test.cpp
M libc/test/src/math/f16subl_test.cpp
M libc/test/src/math/fabs_test.cpp
M libc/test/src/math/fabsbf16_test.cpp
M libc/test/src/math/fabsf16_test.cpp
M libc/test/src/math/fabsf_test.cpp
M libc/test/src/math/fabsl_test.cpp
M libc/test/src/math/fadd_test.cpp
M libc/test/src/math/faddl_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/fdiv_test.cpp
M libc/test/src/math/fdivl_test.cpp
M libc/test/src/math/ffma_test.cpp
M libc/test/src/math/ffmal_test.cpp
M libc/test/src/math/floor_test.cpp
M libc/test/src/math/floorbf16_test.cpp
M libc/test/src/math/floorf128_test.cpp
M libc/test/src/math/floorf16_test.cpp
M libc/test/src/math/floorf_test.cpp
M libc/test/src/math/floorl_test.cpp
M libc/test/src/math/fmaf16_test.cpp
M libc/test/src/math/fmaf_test.cpp
M libc/test/src/math/fmax_test.cpp
M libc/test/src/math/fmaxf_test.cpp
M libc/test/src/math/fmaxl_test.cpp
M libc/test/src/math/fmin_test.cpp
M libc/test/src/math/fminf_test.cpp
M libc/test/src/math/fminl_test.cpp
M libc/test/src/math/fmod_test.cpp
M libc/test/src/math/fmodf_test.cpp
M libc/test/src/math/fmul_test.cpp
M libc/test/src/math/fmull_test.cpp
M libc/test/src/math/frexp_test.cpp
M libc/test/src/math/frexpbf16_test.cpp
M libc/test/src/math/frexpf16_test.cpp
M libc/test/src/math/frexpf_test.cpp
M libc/test/src/math/frexpl_test.cpp
M libc/test/src/math/fsqrt_test.cpp
M libc/test/src/math/fsqrtl_test.cpp
M libc/test/src/math/fsub_test.cpp
M libc/test/src/math/fsubl_test.cpp
M libc/test/src/math/generic_sqrt_test.cpp
M libc/test/src/math/generic_sqrtf_test.cpp
M libc/test/src/math/generic_sqrtl_test.cpp
M libc/test/src/math/ldexp_test.cpp
M libc/test/src/math/ldexpf_test.cpp
M libc/test/src/math/ldexpl_test.cpp
M libc/test/src/math/llrint_test.cpp
M libc/test/src/math/llrintbf16_test.cpp
M libc/test/src/math/llrintf16_test.cpp
M libc/test/src/math/llrintf_test.cpp
M libc/test/src/math/llrintl_test.cpp
M libc/test/src/math/llround_test.cpp
M libc/test/src/math/llroundbf16_test.cpp
M libc/test/src/math/llroundf16_test.cpp
M libc/test/src/math/llroundf_test.cpp
M libc/test/src/math/llroundl_test.cpp
M libc/test/src/math/logb_test.cpp
M libc/test/src/math/logbf_test.cpp
M libc/test/src/math/logbl_test.cpp
M libc/test/src/math/lrint_test.cpp
M libc/test/src/math/lrintbf16_test.cpp
M libc/test/src/math/lrintf16_test.cpp
M libc/test/src/math/lrintf_test.cpp
M libc/test/src/math/lrintl_test.cpp
M libc/test/src/math/lround_test.cpp
M libc/test/src/math/lroundbf16_test.cpp
M libc/test/src/math/lroundf16_test.cpp
M libc/test/src/math/lroundf_test.cpp
M libc/test/src/math/lroundl_test.cpp
M libc/test/src/math/modf_test.cpp
M libc/test/src/math/modff_test.cpp
M libc/test/src/math/modfl_test.cpp
M libc/test/src/math/nearbyint_test.cpp
M libc/test/src/math/nearbyintbf16_test.cpp
M libc/test/src/math/nearbyintf16_test.cpp
M libc/test/src/math/nearbyintf_test.cpp
M libc/test/src/math/nearbyintl_test.cpp
M libc/test/src/math/nextafter_test.cpp
M libc/test/src/math/nextafterf128_test.cpp
M libc/test/src/math/nextafterf_test.cpp
M libc/test/src/math/nextafterl_test.cpp
M libc/test/src/math/pow_test.cpp
M libc/test/src/math/remquo_test.cpp
M libc/test/src/math/remquobf16_test.cpp
M libc/test/src/math/remquof16_test.cpp
M libc/test/src/math/remquof_test.cpp
M libc/test/src/math/remquol_test.cpp
M libc/test/src/math/rint_test.cpp
M libc/test/src/math/rintbf16_test.cpp
M libc/test/src/math/rintf16_test.cpp
M libc/test/src/math/rintf_test.cpp
M libc/test/src/math/rintl_test.cpp
M libc/test/src/math/round_test.cpp
M libc/test/src/math/roundbf16_test.cpp
M libc/test/src/math/roundeven_test.cpp
M libc/test/src/math/roundevenbf16_test.cpp
M libc/test/src/math/roundevenf16_test.cpp
M libc/test/src/math/roundevenf_test.cpp
M libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/roundf128_test.cpp
M libc/test/src/math/roundf16_test.cpp
M libc/test/src/math/roundf_test.cpp
M libc/test/src/math/roundl_test.cpp
M libc/test/src/math/rsqrtf_test.cpp
M libc/test/src/math/scalbn_test.cpp
M libc/test/src/math/scalbnf128_test.cpp
M libc/test/src/math/scalbnf_test.cpp
M libc/test/src/math/scalbnl_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/DivTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/FromfpTest.h
M libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/GetPayloadTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/IsCanonicalTest.h
M libc/test/src/math/smoke/IsNanTest.h
M libc/test/src/math/smoke/IsSignalingTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/MulTest.h
M libc/test/src/math/smoke/NearbyIntTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextDownTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/NextUpTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/ScalbnTest.h
M libc/test/src/math/smoke/SetPayloadSigTest.h
M libc/test/src/math/smoke/SetPayloadTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/SubTest.h
M libc/test/src/math/smoke/TotalOrderMagTest.h
M libc/test/src/math/smoke/TotalOrderTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/UfromfpTest.h
M libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/bf16add_test.cpp
M libc/test/src/math/smoke/bf16addf128_test.cpp
M libc/test/src/math/smoke/bf16addf_test.cpp
M libc/test/src/math/smoke/bf16addl_test.cpp
M libc/test/src/math/smoke/bf16div_test.cpp
M libc/test/src/math/smoke/bf16divf128_test.cpp
M libc/test/src/math/smoke/bf16divf_test.cpp
M libc/test/src/math/smoke/bf16divl_test.cpp
M libc/test/src/math/smoke/bf16fma_test.cpp
M libc/test/src/math/smoke/bf16fmaf128_test.cpp
M libc/test/src/math/smoke/bf16fmaf_test.cpp
M libc/test/src/math/smoke/bf16fmal_test.cpp
M libc/test/src/math/smoke/bf16mul_test.cpp
M libc/test/src/math/smoke/bf16mulf128_test.cpp
M libc/test/src/math/smoke/bf16mulf_test.cpp
M libc/test/src/math/smoke/bf16mull_test.cpp
M libc/test/src/math/smoke/bf16sub_test.cpp
M libc/test/src/math/smoke/bf16subf128_test.cpp
M libc/test/src/math/smoke/bf16subf_test.cpp
M libc/test/src/math/smoke/bf16subl_test.cpp
M libc/test/src/math/smoke/bfloat16_add_test.cpp
M libc/test/src/math/smoke/bfloat16_div_test.cpp
M libc/test/src/math/smoke/bfloat16_mul_test.cpp
M libc/test/src/math/smoke/bfloat16_sub_test.cpp
M libc/test/src/math/smoke/canonicalize_test.cpp
M libc/test/src/math/smoke/canonicalizebf16_test.cpp
M libc/test/src/math/smoke/canonicalizef128_test.cpp
M libc/test/src/math/smoke/canonicalizef16_test.cpp
M libc/test/src/math/smoke/canonicalizef_test.cpp
M libc/test/src/math/smoke/canonicalizel_test.cpp
M libc/test/src/math/smoke/cbrtf16_test.cpp
M libc/test/src/math/smoke/ceil_test.cpp
M libc/test/src/math/smoke/ceilbf16_test.cpp
M libc/test/src/math/smoke/ceilf128_test.cpp
M libc/test/src/math/smoke/ceilf16_test.cpp
M libc/test/src/math/smoke/ceilf_test.cpp
M libc/test/src/math/smoke/ceill_test.cpp
M libc/test/src/math/smoke/copysign_test.cpp
M libc/test/src/math/smoke/copysignbf16_test.cpp
M libc/test/src/math/smoke/copysignf128_test.cpp
M libc/test/src/math/smoke/copysignf16_test.cpp
M libc/test/src/math/smoke/copysignf_test.cpp
M libc/test/src/math/smoke/copysignl_test.cpp
M libc/test/src/math/smoke/daddf128_test.cpp
M libc/test/src/math/smoke/daddl_test.cpp
M libc/test/src/math/smoke/ddivf128_test.cpp
M libc/test/src/math/smoke/ddivl_test.cpp
M libc/test/src/math/smoke/dfmaf128_test.cpp
M libc/test/src/math/smoke/dfmal_test.cpp
M libc/test/src/math/smoke/dmulf128_test.cpp
M libc/test/src/math/smoke/dmull_test.cpp
M libc/test/src/math/smoke/dsqrtf128_test.cpp
M libc/test/src/math/smoke/dsqrtl_test.cpp
M libc/test/src/math/smoke/dsubf128_test.cpp
M libc/test/src/math/smoke/dsubl_test.cpp
M libc/test/src/math/smoke/erff16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/expbf16_test.cpp
R libc/test/src/math/smoke/expf_static_rounding_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/f16add_test.cpp
M libc/test/src/math/smoke/f16addf128_test.cpp
M libc/test/src/math/smoke/f16addf_test.cpp
M libc/test/src/math/smoke/f16addl_test.cpp
M libc/test/src/math/smoke/f16div_test.cpp
M libc/test/src/math/smoke/f16divf128_test.cpp
M libc/test/src/math/smoke/f16divf_test.cpp
M libc/test/src/math/smoke/f16divl_test.cpp
M libc/test/src/math/smoke/f16fma_test.cpp
M libc/test/src/math/smoke/f16fmaf128_test.cpp
M libc/test/src/math/smoke/f16fmaf_test.cpp
M libc/test/src/math/smoke/f16fmal_test.cpp
M libc/test/src/math/smoke/f16mul_test.cpp
M libc/test/src/math/smoke/f16mulf128_test.cpp
M libc/test/src/math/smoke/f16mulf_test.cpp
M libc/test/src/math/smoke/f16mull_test.cpp
M libc/test/src/math/smoke/f16sqrt_test.cpp
M libc/test/src/math/smoke/f16sqrtf128_test.cpp
M libc/test/src/math/smoke/f16sqrtf_test.cpp
M libc/test/src/math/smoke/f16sqrtl_test.cpp
M libc/test/src/math/smoke/f16sub_test.cpp
M libc/test/src/math/smoke/f16subf128_test.cpp
M libc/test/src/math/smoke/f16subf_test.cpp
M libc/test/src/math/smoke/f16subl_test.cpp
M libc/test/src/math/smoke/fabs_test.cpp
M libc/test/src/math/smoke/fabsbf16_test.cpp
M libc/test/src/math/smoke/fabsf128_test.cpp
M libc/test/src/math/smoke/fabsf16_test.cpp
M libc/test/src/math/smoke/fabsf_test.cpp
M libc/test/src/math/smoke/fabsl_test.cpp
M libc/test/src/math/smoke/fadd_test.cpp
M libc/test/src/math/smoke/faddf128_test.cpp
M libc/test/src/math/smoke/faddl_test.cpp
M libc/test/src/math/smoke/fdim_test.cpp
M libc/test/src/math/smoke/fdimbf16_test.cpp
M libc/test/src/math/smoke/fdimf128_test.cpp
M libc/test/src/math/smoke/fdimf16_test.cpp
M libc/test/src/math/smoke/fdimf_test.cpp
M libc/test/src/math/smoke/fdiml_test.cpp
M libc/test/src/math/smoke/fdiv_test.cpp
M libc/test/src/math/smoke/fdivf128_test.cpp
M libc/test/src/math/smoke/fdivl_test.cpp
M libc/test/src/math/smoke/ffma_test.cpp
M libc/test/src/math/smoke/ffmaf128_test.cpp
M libc/test/src/math/smoke/ffmal_test.cpp
M libc/test/src/math/smoke/floor_test.cpp
M libc/test/src/math/smoke/floorbf16_test.cpp
M libc/test/src/math/smoke/floorf128_test.cpp
M libc/test/src/math/smoke/floorf16_test.cpp
M libc/test/src/math/smoke/floorf_test.cpp
M libc/test/src/math/smoke/floorl_test.cpp
M libc/test/src/math/smoke/fma_test.cpp
M libc/test/src/math/smoke/fmabf16_test.cpp
M libc/test/src/math/smoke/fmaf16_test.cpp
M libc/test/src/math/smoke/fmaf_test.cpp
M libc/test/src/math/smoke/fmax_test.cpp
M libc/test/src/math/smoke/fmaxbf16_test.cpp
M libc/test/src/math/smoke/fmaxf128_test.cpp
M libc/test/src/math/smoke/fmaxf16_test.cpp
M libc/test/src/math/smoke/fmaxf_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_num_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf128_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf16_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numf_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_numl_test.cpp
M libc/test/src/math/smoke/fmaximum_mag_test.cpp
M libc/test/src/math/smoke/fmaximum_magbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_magf128_test.cpp
M libc/test/src/math/smoke/fmaximum_magf16_test.cpp
M libc/test/src/math/smoke/fmaximum_magf_test.cpp
M libc/test/src/math/smoke/fmaximum_magl_test.cpp
M libc/test/src/math/smoke/fmaximum_num_test.cpp
M libc/test/src/math/smoke/fmaximum_numbf16_test.cpp
M libc/test/src/math/smoke/fmaximum_numf128_test.cpp
M libc/test/src/math/smoke/fmaximum_numf16_test.cpp
M libc/test/src/math/smoke/fmaximum_numf_test.cpp
M libc/test/src/math/smoke/fmaximum_numl_test.cpp
M libc/test/src/math/smoke/fmaximum_test.cpp
M libc/test/src/math/smoke/fmaximumbf16_test.cpp
M libc/test/src/math/smoke/fmaximumf128_test.cpp
M libc/test/src/math/smoke/fmaximumf16_test.cpp
M libc/test/src/math/smoke/fmaximumf_test.cpp
M libc/test/src/math/smoke/fmaximuml_test.cpp
M libc/test/src/math/smoke/fmaxl_test.cpp
M libc/test/src/math/smoke/fmin_test.cpp
M libc/test/src/math/smoke/fminbf16_test.cpp
M libc/test/src/math/smoke/fminf128_test.cpp
M libc/test/src/math/smoke/fminf16_test.cpp
M libc/test/src/math/smoke/fminf_test.cpp
M libc/test/src/math/smoke/fminimum_mag_num_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numbf16_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf16_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numf_test.cpp
M libc/test/src/math/smoke/fminimum_mag_numl_test.cpp
M libc/test/src/math/smoke/fminimum_mag_test.cpp
M libc/test/src/math/smoke/fminimum_magbf16_test.cpp
M libc/test/src/math/smoke/fminimum_magf128_test.cpp
M libc/test/src/math/smoke/fminimum_magf16_test.cpp
M libc/test/src/math/smoke/fminimum_magf_test.cpp
M libc/test/src/math/smoke/fminimum_magl_test.cpp
M libc/test/src/math/smoke/fminimum_num_test.cpp
M libc/test/src/math/smoke/fminimum_numbf16_test.cpp
M libc/test/src/math/smoke/fminimum_numf128_test.cpp
M libc/test/src/math/smoke/fminimum_numf16_test.cpp
M libc/test/src/math/smoke/fminimum_numf_test.cpp
M libc/test/src/math/smoke/fminimum_numl_test.cpp
M libc/test/src/math/smoke/fminimum_test.cpp
M libc/test/src/math/smoke/fminimumbf16_test.cpp
M libc/test/src/math/smoke/fminimumf128_test.cpp
M libc/test/src/math/smoke/fminimumf16_test.cpp
M libc/test/src/math/smoke/fminimumf_test.cpp
M libc/test/src/math/smoke/fminimuml_test.cpp
M libc/test/src/math/smoke/fminl_test.cpp
M libc/test/src/math/smoke/fmod_test.cpp
M libc/test/src/math/smoke/fmodbf16_test.cpp
M libc/test/src/math/smoke/fmodf128_test.cpp
M libc/test/src/math/smoke/fmodf16_test.cpp
M libc/test/src/math/smoke/fmodf_test.cpp
M libc/test/src/math/smoke/fmodl_test.cpp
M libc/test/src/math/smoke/fmul_test.cpp
M libc/test/src/math/smoke/fmulf128_test.cpp
M libc/test/src/math/smoke/fmull_test.cpp
M libc/test/src/math/smoke/frexp_test.cpp
M libc/test/src/math/smoke/frexpbf16_test.cpp
M libc/test/src/math/smoke/frexpf128_test.cpp
M libc/test/src/math/smoke/frexpf16_test.cpp
M libc/test/src/math/smoke/frexpf_test.cpp
M libc/test/src/math/smoke/frexpl_test.cpp
M libc/test/src/math/smoke/fromfp_test.cpp
M libc/test/src/math/smoke/fromfpbf16_test.cpp
M libc/test/src/math/smoke/fromfpf128_test.cpp
M libc/test/src/math/smoke/fromfpf16_test.cpp
M libc/test/src/math/smoke/fromfpf_test.cpp
M libc/test/src/math/smoke/fromfpl_test.cpp
M libc/test/src/math/smoke/fromfpx_test.cpp
M libc/test/src/math/smoke/fromfpxbf16_test.cpp
M libc/test/src/math/smoke/fromfpxf128_test.cpp
M libc/test/src/math/smoke/fromfpxf16_test.cpp
M libc/test/src/math/smoke/fromfpxf_test.cpp
M libc/test/src/math/smoke/fromfpxl_test.cpp
M libc/test/src/math/smoke/fsqrt_test.cpp
M libc/test/src/math/smoke/fsqrtf128_test.cpp
M libc/test/src/math/smoke/fsqrtl_test.cpp
M libc/test/src/math/smoke/fsub_test.cpp
M libc/test/src/math/smoke/fsubf128_test.cpp
M libc/test/src/math/smoke/fsubl_test.cpp
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/getpayload_test.cpp
M libc/test/src/math/smoke/getpayloadbf16_test.cpp
M libc/test/src/math/smoke/getpayloadf128_test.cpp
M libc/test/src/math/smoke/getpayloadf16_test.cpp
M libc/test/src/math/smoke/getpayloadf_test.cpp
M libc/test/src/math/smoke/getpayloadl_test.cpp
M libc/test/src/math/smoke/ilogb_test.cpp
M libc/test/src/math/smoke/ilogbbf16_test.cpp
M libc/test/src/math/smoke/ilogbf128_test.cpp
M libc/test/src/math/smoke/ilogbf16_test.cpp
M libc/test/src/math/smoke/ilogbf_test.cpp
M libc/test/src/math/smoke/ilogbl_test.cpp
M libc/test/src/math/smoke/iscanonical_test.cpp
M libc/test/src/math/smoke/iscanonicalbf16_test.cpp
M libc/test/src/math/smoke/iscanonicalf128_test.cpp
M libc/test/src/math/smoke/iscanonicalf16_test.cpp
M libc/test/src/math/smoke/iscanonicalf_test.cpp
M libc/test/src/math/smoke/iscanonicall_test.cpp
M libc/test/src/math/smoke/isnanf128_test.cpp
M libc/test/src/math/smoke/isnanf16_test.cpp
M libc/test/src/math/smoke/issignaling_test.cpp
M libc/test/src/math/smoke/issignalingbf16_test.cpp
M libc/test/src/math/smoke/issignalingf128_test.cpp
M libc/test/src/math/smoke/issignalingf16_test.cpp
M libc/test/src/math/smoke/issignalingf_test.cpp
M libc/test/src/math/smoke/issignalingl_test.cpp
M libc/test/src/math/smoke/ldexp_test.cpp
M libc/test/src/math/smoke/ldexpbf16_test.cpp
M libc/test/src/math/smoke/ldexpf128_test.cpp
M libc/test/src/math/smoke/ldexpf16_test.cpp
M libc/test/src/math/smoke/ldexpf_test.cpp
M libc/test/src/math/smoke/ldexpl_test.cpp
M libc/test/src/math/smoke/llogb_test.cpp
M libc/test/src/math/smoke/llogbbf16_test.cpp
M libc/test/src/math/smoke/llogbf128_test.cpp
M libc/test/src/math/smoke/llogbf16_test.cpp
M libc/test/src/math/smoke/llogbf_test.cpp
M libc/test/src/math/smoke/llogbl_test.cpp
M libc/test/src/math/smoke/llrint_test.cpp
M libc/test/src/math/smoke/llrintbf16_test.cpp
M libc/test/src/math/smoke/llrintf128_test.cpp
M libc/test/src/math/smoke/llrintf16_test.cpp
M libc/test/src/math/smoke/llrintf_test.cpp
M libc/test/src/math/smoke/llrintl_test.cpp
M libc/test/src/math/smoke/llround_test.cpp
M libc/test/src/math/smoke/llroundbf16_test.cpp
M libc/test/src/math/smoke/llroundf128_test.cpp
M libc/test/src/math/smoke/llroundf16_test.cpp
M libc/test/src/math/smoke/llroundf_test.cpp
M libc/test/src/math/smoke/llroundl_test.cpp
M libc/test/src/math/smoke/logb_test.cpp
M libc/test/src/math/smoke/logbbf16_test.cpp
M libc/test/src/math/smoke/logbf128_test.cpp
M libc/test/src/math/smoke/logbf16_test.cpp
M libc/test/src/math/smoke/logbf_test.cpp
M libc/test/src/math/smoke/logbl_test.cpp
M libc/test/src/math/smoke/lrint_test.cpp
M libc/test/src/math/smoke/lrintbf16_test.cpp
M libc/test/src/math/smoke/lrintf128_test.cpp
M libc/test/src/math/smoke/lrintf16_test.cpp
M libc/test/src/math/smoke/lrintf_test.cpp
M libc/test/src/math/smoke/lrintl_test.cpp
M libc/test/src/math/smoke/lround_test.cpp
M libc/test/src/math/smoke/lroundbf16_test.cpp
M libc/test/src/math/smoke/lroundf128_test.cpp
M libc/test/src/math/smoke/lroundf16_test.cpp
M libc/test/src/math/smoke/lroundf_test.cpp
M libc/test/src/math/smoke/lroundl_test.cpp
M libc/test/src/math/smoke/modf_test.cpp
M libc/test/src/math/smoke/modfbf16_test.cpp
M libc/test/src/math/smoke/modff128_test.cpp
M libc/test/src/math/smoke/modff16_test.cpp
M libc/test/src/math/smoke/modff_test.cpp
M libc/test/src/math/smoke/modfl_test.cpp
M libc/test/src/math/smoke/nanbf16_test.cpp
M libc/test/src/math/smoke/nearbyint_test.cpp
M libc/test/src/math/smoke/nearbyintbf16_test.cpp
M libc/test/src/math/smoke/nearbyintf128_test.cpp
M libc/test/src/math/smoke/nearbyintf16_test.cpp
M libc/test/src/math/smoke/nearbyintf_test.cpp
M libc/test/src/math/smoke/nearbyintl_test.cpp
M libc/test/src/math/smoke/nextafter_test.cpp
M libc/test/src/math/smoke/nextafterbf16_test.cpp
M libc/test/src/math/smoke/nextafterf128_test.cpp
M libc/test/src/math/smoke/nextafterf16_test.cpp
M libc/test/src/math/smoke/nextafterf_test.cpp
M libc/test/src/math/smoke/nextafterl_test.cpp
M libc/test/src/math/smoke/nextdown_test.cpp
M libc/test/src/math/smoke/nextdownbf16_test.cpp
M libc/test/src/math/smoke/nextdownf128_test.cpp
M libc/test/src/math/smoke/nextdownf16_test.cpp
M libc/test/src/math/smoke/nextdownf_test.cpp
M libc/test/src/math/smoke/nextdownl_test.cpp
M libc/test/src/math/smoke/nexttoward_test.cpp
M libc/test/src/math/smoke/nexttowardbf16_test.cpp
M libc/test/src/math/smoke/nexttowardf16_test.cpp
M libc/test/src/math/smoke/nexttowardf_test.cpp
M libc/test/src/math/smoke/nexttowardl_test.cpp
M libc/test/src/math/smoke/nextup_test.cpp
M libc/test/src/math/smoke/nextupbf16_test.cpp
M libc/test/src/math/smoke/nextupf128_test.cpp
M libc/test/src/math/smoke/nextupf16_test.cpp
M libc/test/src/math/smoke/nextupf_test.cpp
M libc/test/src/math/smoke/nextupl_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/remquo_test.cpp
M libc/test/src/math/smoke/remquobf16_test.cpp
M libc/test/src/math/smoke/remquof128_test.cpp
M libc/test/src/math/smoke/remquof16_test.cpp
M libc/test/src/math/smoke/remquof_test.cpp
M libc/test/src/math/smoke/remquol_test.cpp
M libc/test/src/math/smoke/rint_test.cpp
M libc/test/src/math/smoke/rintbf16_test.cpp
M libc/test/src/math/smoke/rintf128_test.cpp
M libc/test/src/math/smoke/rintf16_test.cpp
M libc/test/src/math/smoke/rintf_test.cpp
M libc/test/src/math/smoke/rintl_test.cpp
M libc/test/src/math/smoke/round_test.cpp
M libc/test/src/math/smoke/roundbf16_test.cpp
M libc/test/src/math/smoke/roundeven_test.cpp
M libc/test/src/math/smoke/roundevenbf16_test.cpp
M libc/test/src/math/smoke/roundevenf128_test.cpp
M libc/test/src/math/smoke/roundevenf16_test.cpp
M libc/test/src/math/smoke/roundevenf_test.cpp
M libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/roundf128_test.cpp
M libc/test/src/math/smoke/roundf16_test.cpp
M libc/test/src/math/smoke/roundf_test.cpp
M libc/test/src/math/smoke/roundl_test.cpp
M libc/test/src/math/smoke/scalbln_test.cpp
M libc/test/src/math/smoke/scalblnbf16_test.cpp
M libc/test/src/math/smoke/scalblnf128_test.cpp
M libc/test/src/math/smoke/scalblnf16_test.cpp
M libc/test/src/math/smoke/scalblnf_test.cpp
M libc/test/src/math/smoke/scalblnl_test.cpp
M libc/test/src/math/smoke/scalbn_test.cpp
M libc/test/src/math/smoke/scalbnbf16_test.cpp
M libc/test/src/math/smoke/scalbnf128_test.cpp
M libc/test/src/math/smoke/scalbnf16_test.cpp
M libc/test/src/math/smoke/scalbnf_test.cpp
M libc/test/src/math/smoke/scalbnl_test.cpp
M libc/test/src/math/smoke/setpayload_test.cpp
M libc/test/src/math/smoke/setpayloadbf16_test.cpp
M libc/test/src/math/smoke/setpayloadf128_test.cpp
M libc/test/src/math/smoke/setpayloadf16_test.cpp
M libc/test/src/math/smoke/setpayloadf_test.cpp
M libc/test/src/math/smoke/setpayloadl_test.cpp
M libc/test/src/math/smoke/setpayloadsig_test.cpp
M libc/test/src/math/smoke/setpayloadsigbf16_test.cpp
M libc/test/src/math/smoke/setpayloadsigf128_test.cpp
M libc/test/src/math/smoke/setpayloadsigf16_test.cpp
M libc/test/src/math/smoke/setpayloadsigf_test.cpp
M libc/test/src/math/smoke/setpayloadsigl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtbf16_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/math/smoke/totalorder_test.cpp
M libc/test/src/math/smoke/totalorderbf16_test.cpp
M libc/test/src/math/smoke/totalorderf128_test.cpp
M libc/test/src/math/smoke/totalorderf16_test.cpp
M libc/test/src/math/smoke/totalorderf_test.cpp
M libc/test/src/math/smoke/totalorderl_test.cpp
M libc/test/src/math/smoke/totalordermag_test.cpp
M libc/test/src/math/smoke/totalordermagbf16_test.cpp
M libc/test/src/math/smoke/totalordermagf128_test.cpp
M libc/test/src/math/smoke/totalordermagf16_test.cpp
M libc/test/src/math/smoke/totalordermagf_test.cpp
M libc/test/src/math/smoke/totalordermagl_test.cpp
M libc/test/src/math/smoke/trunc_test.cpp
M libc/test/src/math/smoke/truncbf16_test.cpp
M libc/test/src/math/smoke/truncf128_test.cpp
M libc/test/src/math/smoke/truncf16_test.cpp
M libc/test/src/math/smoke/truncf_test.cpp
M libc/test/src/math/smoke/truncl_test.cpp
M libc/test/src/math/smoke/ufromfp_test.cpp
M libc/test/src/math/smoke/ufromfpbf16_test.cpp
M libc/test/src/math/smoke/ufromfpf128_test.cpp
M libc/test/src/math/smoke/ufromfpf16_test.cpp
M libc/test/src/math/smoke/ufromfpf_test.cpp
M libc/test/src/math/smoke/ufromfpl_test.cpp
M libc/test/src/math/smoke/ufromfpx_test.cpp
M libc/test/src/math/smoke/ufromfpxbf16_test.cpp
M libc/test/src/math/smoke/ufromfpxf128_test.cpp
M libc/test/src/math/smoke/ufromfpxf16_test.cpp
M libc/test/src/math/smoke/ufromfpxf_test.cpp
M libc/test/src/math/smoke/ufromfpxl_test.cpp
M libc/test/src/math/sqrt_test.cpp
M libc/test/src/math/sqrtbf16_test.cpp
M libc/test/src/math/sqrtf128_test.cpp
M libc/test/src/math/sqrtf_test.cpp
M libc/test/src/math/sqrtl_test.cpp
M libc/test/src/math/trunc_test.cpp
M libc/test/src/math/truncbf16_test.cpp
M libc/test/src/math/truncf128_test.cpp
M libc/test/src/math/truncf16_test.cpp
M libc/test/src/math/truncf_test.cpp
M libc/test/src/math/truncl_test.cpp
M libc/test/src/mathvec/CMakeLists.txt
M libc/test/src/mathvec/exhaustive/CMakeLists.txt
M libc/test/src/mathvec/exhaustive/exp10f_test.cpp
M libc/test/src/mathvec/exhaustive/exp2f_test.cpp
M libc/test/src/mathvec/exhaustive/expf_test.cpp
M libc/test/src/mathvec/exp10f_test.cpp
M libc/test/src/mathvec/exp2f_test.cpp
M libc/test/src/mathvec/expf_test.cpp
M libc/test/src/mathvec/sinf_test.cpp
M libc/test/src/sys/CMakeLists.txt
M libc/test/src/sys/stat/CMakeLists.txt
A libc/test/src/sys/stat/fstatat_test.cpp
A libc/test/src/sys/stat/mkfifoat_test.cpp
A libc/test/src/sys/xattr/CMakeLists.txt
A libc/test/src/sys/xattr/flistxattr_test.cpp
A libc/test/src/sys/xattr/listxattr_test.cpp
A libc/test/src/sys/xattr/llistxattr_test.cpp
A libc/test/src/sys/xattr/testdata/CMakeLists.txt
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/docgen/fcntl.yaml
M libc/utils/docgen/pthread.yaml
M libcxx/cmake/config-ix.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/24.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/Status/Cxx26Papers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__iterator/capacity_aware_iterator.h
A libcxx/include/__iterator/static_packed_bounded_iter.h
M libcxx/include/__memory/pstl.h
M libcxx/include/__optional/optional.h
M libcxx/include/__optional/optional_ref.h
M libcxx/include/__pstl/backend_fwd.h
M libcxx/include/__pstl/backends/default.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
M libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/uninitialized_algorithms.h
M libcxx/include/__type_traits/is_within_lifetime.h
M libcxx/include/__vector/vector.h
M libcxx/include/module.modulemap.in
M libcxx/include/queue
M libcxx/include/stack
M libcxx/include/version
A libcxx/test/benchmarks/regex.bench.cpp
A libcxx/test/configs/installed-libc++.cfg.in
M libcxx/test/configs/stdlib-libstdc++.cfg.in
M libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/contiguous.verify.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/types.compile.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/arithmetic.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/assert.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/comparison.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/ctor.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/dereference.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/layout.compile.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/types.compile.pass.cpp
A libcxx/test/libcxx/iterators/static_packed_bounded_iter/valid.verify.cpp
M libcxx/test/libcxx/utilities/meta/is_within_lifetime.verify.cpp
M libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp
A libcxx/test/std/containers/associative/map/types.compile.pass.cpp
R libcxx/test/std/containers/associative/map/types.pass.cpp
A libcxx/test/std/containers/associative/multimap/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multimap/types.pass.cpp
A libcxx/test/std/containers/associative/multiset/types.compile.pass.cpp
R libcxx/test/std/containers/associative/multiset/types.pass.cpp
A libcxx/test/std/containers/associative/set/types.compile.pass.cpp
R libcxx/test/std/containers/associative/set/types.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.multimap/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/protected_members.pass.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.compile.pass.cpp
R libcxx/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
A libcxx/test/std/containers/container.adaptors/priority.queue/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/queue/queue.defn/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/queue/queue.defn/types.verify.cpp
R libcxx/test/std/containers/container.adaptors/stack/stack.defn/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.compile.fail.cpp
A libcxx/test/std/containers/container.adaptors/stack/stack.defn/types.verify.cpp
A libcxx/test/std/containers/sequences/array/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/array/types.pass.cpp
A libcxx/test/std/containers/sequences/deque/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/deque/types.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
A libcxx/test/std/containers/sequences/list/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/list/types.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector.bool/types.pass.cpp
A libcxx/test/std/containers/sequences/vector/types.compile.pass.cpp
R libcxx/test/std/containers/sequences/vector/types.pass.cpp
A libcxx/test/std/containers/unord/unord.map/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.map/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multimap/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multimap/types.pass.cpp
A libcxx/test/std/containers/unord/unord.multiset/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.multiset/types.pass.cpp
A libcxx/test/std/containers/unord/unord.set/types.compile.pass.cpp
R libcxx/test/std/containers/unord/unord.set/types.pass.cpp
A libcxx/test/std/containers/views/mdspan/mdspan/types.compile.pass.cpp
R libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
A libcxx/test/std/containers/views/views.span/types.compile.pass.cpp
R libcxx/test/std/containers/views/views.span/types.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/pstl.uninitialized_copy_n.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move.pass.cpp
A libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/pstl.uninitialized_move_n.pass.cpp
M libcxx/test/std/utilities/meta/meta.const.eval/is_within_lifetime.compile.pass.cpp
M libcxx/utils/ci/docker/docker-compose.yml
R libcxx/utils/ci/docker/linux-builder-base.dockerfile
M libcxx/utils/ci/docker/linux-builder.dockerfile
M libcxx/utils/ci/lnt/machines.json
M libcxx/utils/ci/lnt/run-benchmarks
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features/misc.py
M libcxx/utils/test-at-commit
M libsycl/include/sycl/__impl/queue.hpp
M libsycl/src/detail/global_objects.cpp
M libsycl/src/detail/global_objects.hpp
M libsycl/src/detail/queue_impl.cpp
M libsycl/src/detail/queue_impl.hpp
M libsycl/src/queue.cpp
M libsycl/src/usm_functions.cpp
A libsycl/test/usm/Inputs/fill_memset_common.hpp
A libsycl/test/usm/fill.cpp
A libsycl/test/usm/memset.cpp
M libsycl/unittests/event/async_handler.cpp
M libsycl/unittests/handler/test_helpers.hpp
M libsycl/unittests/mock/helpers.cpp
M libsycl/unittests/mock/helpers.hpp
M libsycl/unittests/mock/mock.cpp
M libsycl/unittests/queue/CMakeLists.txt
A libsycl/unittests/queue/fill.cpp
M libsycl/unittests/queue/memcpy.cpp
A libsycl/unittests/queue/memset.cpp
M libsycl/unittests/usm/alloc.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Driver.h
M lld/ELF/DriverUtils.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.h
M lld/MachO/DriverUtils.cpp
M lld/MachO/InputFiles.cpp
M lld/MinGW/Driver.cpp
M lld/docs/ld.lld.1
R lld/test/ELF/Inputs/icf-merge-sec.s
R lld/test/ELF/Inputs/icf-merge.s
R lld/test/ELF/Inputs/icf-merge2.s
R lld/test/ELF/Inputs/icf-merge3.s
R lld/test/ELF/Inputs/icf2.s
A lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
A lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
A lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
M lld/test/ELF/aarch64-tlsdesc-pauth.s
M lld/test/ELF/common-archive-lookup.s
R lld/test/ELF/icf-merge-sec.s
M lld/test/ELF/icf-merge.s
A lld/test/ELF/icf-reference-graph.s
R lld/test/ELF/icf14.s
R lld/test/ELF/icf2.s
R lld/test/ELF/icf3.s
M lld/test/ELF/linkerscript/nobits-offset.s
M lld/test/ELF/warn-backrefs.s
M lld/test/ELF/x86-64-tls-gdie.s
M lld/test/ELF/x86-64-tls-pltoff64.s
M lld/test/ELF/x86-64-tlsdesc-gd.s
A lld/test/MachO/coincident-alt-entry.s
M lld/tools/lld/lld.cpp
M lld/wasm/Driver.cpp
M lldb/bindings/interface/SBStringListExtensions.i
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/build.md
M lldb/examples/python/formatter_bytecode.py
M lldb/examples/python/templates/scripted_process.py
M lldb/include/lldb/Expression/LLVMUserExpression.h
M lldb/include/lldb/Host/Config.h.cmake
M lldb/include/lldb/Host/Host.h
R lldb/include/lldb/Host/LZMA.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Utility/DataExtractor.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/source/API/SBProgress.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
R lldb/source/Host/common/LZMA.cpp
M lldb/source/Host/emscripten/Host.cpp
M lldb/source/Host/freebsd/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Host/netbsd/HostNetBSD.cpp
M lldb/source/Host/openbsd/Host.cpp
M lldb/source/Host/windows/Host.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
M lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedCommandPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFrameProviderPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedHookPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStackFrameRecognizerPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedStringSummaryPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSyntheticChildrenPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ScriptedThreadPlan.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Utility/DataExtractor.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/android/platform/TestDefaultCacheLineSize.py
M lldb/test/API/commands/expression/memory-allocation/TestMemoryAllocSettings.py
M lldb/test/API/commands/frame/recognizer/step-through/recognizer.py
M lldb/test/API/commands/frame/var-dil/expr/Comparison/TestFrameVarDILExprComparison.py
M lldb/test/API/commands/process/reverse-continue/TestReverseContinueCommandNotSupported.py
M lldb/test/API/commands/target/stop-hooks/TestStopHookScripted.py
M lldb/test/API/commands/watchpoints/multiple_hits/TestMultipleHits.py
M lldb/test/API/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
M lldb/test/API/functionalities/conditional_break/TestConditionalBreak.py
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/postmortem/minidump/TestMiniDump.py
M lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
M lldb/test/API/functionalities/process_save_core_minidump/partial_read/TestProcessSaveCoreMinidumpPartialRead.py
M lldb/test/API/functionalities/process_save_core_minidump/size_mismatch/TestProcessSaveCoreMinidumpSizeMismatch.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/reverse-execution/TestReverseExecutionNotSupported.py
M lldb/test/API/functionalities/scripted_frame_provider/circular_dependency/TestFrameProviderCircularDependency.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
A lldb/test/API/functionalities/scripted_process/addressable_bits_scripted_process.py
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/step_scripted/TestStepScripted.py
M lldb/test/API/functionalities/step_scripted/main.c
M lldb/test/API/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
M lldb/test/API/functionalities/thread/crash_during_step/TestCrashDuringStep.py
M lldb/test/API/functionalities/thread/thread_specific_break_plus_condition/TestThreadSpecificBpPlusCondition.py
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/Makefile
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/TestStepOverBreakpointSite.py
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/main.c
A lldb/test/API/functionalities/thread_plan/step_over_breakpoint_site/run_to_address_plan.py
A lldb/test/API/functionalities/unwind/outlined-prologue/Makefile
A lldb/test/API/functionalities/unwind/outlined-prologue/TestOutlinedPrologueUnwind.py
A lldb/test/API/functionalities/unwind/outlined-prologue/main.c
M lldb/test/API/functionalities/unwind/sigtramp/TestSigtrampUnwind.py
M lldb/test/API/lang/c/local_variables/TestLocalVariables.py
M lldb/test/API/lang/cpp/class_static/TestStaticVariables.py
M lldb/test/API/lang/cpp/dynamic-value/TestCppValueCast.py
M lldb/test/API/lang/cpp/libcxx-internals-recognizer/TestLibcxxInternalsRecognizer.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lang/objc/foundation/TestObjectDescriptionAPI.py
M lldb/test/API/lang/objc/modules-auto-import/TestModulesAutoImport.py
M lldb/test/API/lang/objc/objc-ivar-offsets/TestObjCIvarOffsets.py
M lldb/test/API/lang/objc/objc-static-method/TestObjCStaticMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/synthesized-property-accessor/TestSynthesizedPropertyAccessor.py
M lldb/test/API/linux/add-symbols/TestTargetSymbolsAddCommand.py
M lldb/test/API/linux/mix-dwo-and-regular-objects/TestMixedDwarfBinary.py
M lldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
M lldb/test/API/macosx/add-dsym/TestAddDsymDownload.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/python_api/class_members/TestSBTypeClassMembers.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/frame/TestFrames.py
M lldb/test/API/python_api/frame/inlines/TestInlinedFrame.py
M lldb/test/API/python_api/lldbutil/frame/TestFrameUtils.py
M lldb/test/API/python_api/lldbutil/iter/TestLLDBIterator.py
M lldb/test/API/python_api/lldbutil/iter/TestRegistersIterator.py
M lldb/test/API/python_api/objc_type/TestObjCType.py
M lldb/test/API/python_api/process/TestProcessAPI.py
A lldb/test/API/python_api/sbstringlist/TestSBStringList.py
M lldb/test/API/python_api/symbol-context/TestSymbolContext.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/thread/TestThreadAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/TestValueAPI.py
M lldb/test/API/python_api/value/empty_class/TestValueAPIEmptyClass.py
M lldb/test/API/python_api/value/linked_list/TestValueAPILinkedList.py
M lldb/test/API/python_api/watchpoint/TestSetWatchpoint.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIgnoreCount.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/python_api/watchpoint/TestWatchpointRead.py
M lldb/test/API/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/evaluate/main.cpp
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/CMakeLists.txt
A lldb/test/Shell/ObjectFile/MachO/unterminated-symbol-name.yaml
M lldb/test/Shell/Recognizer/assert.test
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterC.txt
M lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
M lldb/test/Shell/SymbolFile/NativePDB/rust-unique-name.ll
M lldb/test/Shell/SymbolFile/NativePDB/unknown-udt-decl.ll
M lldb/test/Shell/lit-lldb-init.in
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/ProgressEvent.cpp
M lldb/tools/lldb-dap/ProgressEvent.h
M lldb/tools/lldb-dap/Protocol/DAPTypes.h
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolEvents.h
M lldb/tools/lldb-dap/Variables.cpp
M lldb/tools/lldb-dap/Variables.h
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-gdbserver.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBProgressTest.cpp
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DAP/DAPTypesTest.cpp
A lldb/unittests/DAP/ProgressEventTest.cpp
M lldb/unittests/DAP/ProtocolEventsTest.cpp
M lldb/unittests/DAP/ProtocolTypesTest.cpp
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
M lldb/unittests/UnwindAssembly/ARM64/CMakeLists.txt
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/Utility/DataExtractorTest.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
A llvm/cmake/WiXPerMachinePatch.xml
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/FindLibXml2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/cmake/modules/llvm-driver-template.cpp.in
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CMake.md
M llvm/docs/CommandGuide/lit.md
M llvm/docs/CommandGuide/llvm-dwarfdump.md
M llvm/docs/CommandLine.md
M llvm/docs/DirectX/SemanticSignatures.md
M llvm/docs/GlobalISel/GenericOpcode.md
A llvm/docs/MarkedUpDisassembly.md
R llvm/docs/MarkedUpDisassembly.rst
A llvm/docs/MeetupGuidelines.md
R llvm/docs/MeetupGuidelines.rst
A llvm/docs/MemTagSanitizer.md
R llvm/docs/MemTagSanitizer.rst
A llvm/docs/MemoryModelRelaxationAnnotations.md
R llvm/docs/MemoryModelRelaxationAnnotations.rst
A llvm/docs/PCSectionsMetadata.md
R llvm/docs/PCSectionsMetadata.rst
A llvm/docs/Projects.md
R llvm/docs/Projects.rst
A llvm/docs/Proposals/GitHubMove.md
R llvm/docs/Proposals/GitHubMove.rst
A llvm/docs/Proposals/TestSuite.md
R llvm/docs/Proposals/TestSuite.rst
A llvm/docs/Proposals/VectorPredication.md
R llvm/docs/Proposals/VectorPredication.rst
A llvm/docs/QualGroup.md
R llvm/docs/QualGroup.rst
M llvm/docs/RISCVUsage.md
M llvm/docs/ReleaseNotes.md
A llvm/docs/ReleaseProcess.md
R llvm/docs/ReleaseProcess.rst
A llvm/docs/ScudoHardenedAllocator.md
R llvm/docs/ScudoHardenedAllocator.rst
A llvm/docs/Security.md
R llvm/docs/Security.rst
A llvm/docs/SecurityTransparencyReports.md
R llvm/docs/SecurityTransparencyReports.rst
A llvm/docs/SegmentedStacks.md
R llvm/docs/SegmentedStacks.rst
A llvm/docs/StackMaps.md
R llvm/docs/StackMaps.rst
A llvm/docs/Statepoints.md
R llvm/docs/Statepoints.rst
A llvm/docs/SupportPolicy.md
R llvm/docs/SupportPolicy.rst
A llvm/docs/SystemLibrary.md
R llvm/docs/SystemLibrary.rst
A llvm/docs/TableGen/BackEnds.md
R llvm/docs/TableGen/BackEnds.rst
A llvm/docs/TableGen/BackGuide.md
R llvm/docs/TableGen/BackGuide.rst
A llvm/docs/TableGen/ProgRef.md
R llvm/docs/TableGen/ProgRef.rst
A llvm/docs/TransformMetadata.md
R llvm/docs/TransformMetadata.rst
A llvm/docs/TypeMetadata.md
R llvm/docs/TypeMetadata.rst
A llvm/docs/UndefinedBehavior.md
R llvm/docs/UndefinedBehavior.rst
A llvm/docs/VectorizationPlan.md
R llvm/docs/VectorizationPlan.rst
A llvm/docs/XRay.md
R llvm/docs/XRay.rst
A llvm/docs/XRayExample.md
R llvm/docs/XRayExample.rst
A llvm/docs/XRayFDRFormat.md
R llvm/docs/XRayFDRFormat.rst
A llvm/docs/YamlIO.md
R llvm/docs/YamlIO.rst
M llvm/docs/tutorial/BuildingAJIT3.md
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.md
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
M llvm/examples/OptSubcommand/llvm-hello-sub.cpp
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
M llvm/include/llvm/ABI/FunctionInfo.h
M llvm/include/llvm/ABI/TargetInfo.h
M llvm/include/llvm/ABI/Types.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/Analysis/BasicAliasAnalysis.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CodeGenTargetMachineImpl.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LiveIntervals.h
M llvm/include/llvm/CodeGen/MIRFSDiscriminator.h
M llvm/include/llvm/CodeGen/MIRSampleProfile.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/Rematerializer.h
A llvm/include/llvm/CodeGen/ResetMachineFunctionPass.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/DTLTO/DTLTO.h
M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
A llvm/include/llvm/ExecutionEngine/Orc/Dlfcn.h
A llvm/include/llvm/ExecutionEngine/Orc/DlfcnSPS.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/Layer.h
M llvm/include/llvm/ExecutionEngine/Orc/LookupAndApply.h
M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/MemoryMapper.h
M llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
M llvm/include/llvm/ExecutionEngine/Orc/RecordProxy.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ConnectionSpec.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/CallSPSCI.h
A llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/DlfcnSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/MemoryAccessSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SharedMemoryMapperSPSCI.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/SPSCI/SimpleNativeMemoryMapSPSCI.h
A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMap.h
A llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMapSPS.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/LibraryScanner.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyld.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/Frontend/HLSL/RootSignatureValidations.h
M llvm/include/llvm/Frontend/HLSL/SemanticSignaturePacking.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/MC/MCAsmStreamer.h
M llvm/include/llvm/MC/MCGOFFObjectWriter.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/Object/GOFF.h
M llvm/include/llvm/Option/OptTable.h
M llvm/include/llvm/Option/Option.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/RunCodeGen.h
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/Compression.h
M llvm/include/llvm/Support/ConvertEBCDIC.h
M llvm/include/llvm/Support/DebugCounter.h
A llvm/include/llvm/Support/Driver.h
A llvm/include/llvm/Support/File.h
M llvm/include/llvm/Support/FileSystem.h
R llvm/include/llvm/Support/LLVMDriver.h
M llvm/include/llvm/Support/MemoryBuffer.h
M llvm/include/llvm/Support/RISCVISAUtils.h
M llvm/include/llvm/Support/RWMutex.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TargetParser/XtensaTargetParser.h
M llvm/include/llvm/Transforms/IPO/LowerTypeTests.h
M llvm/include/llvm/Transforms/Scalar/LogicalSROA.h
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BundleVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/ABI/TargetInfo.cpp
M llvm/lib/ABI/Targets/AArch64.cpp
M llvm/lib/ABI/Targets/BPF.cpp
M llvm/lib/ABI/Targets/X86.cpp
M llvm/lib/ABI/Types.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/LoopCacheAnalysis.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScalarEvolutionDivision.cpp
M llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/models/interactive_host.py
M llvm/lib/CAS/MappedFileRegionArena.cpp
M llvm/lib/CAS/OnDiskGraphDB.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/LibcallLoweringInfo.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/ProcessImplicitDefs.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
M llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/StackColoring.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
M llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt
M llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericRTDyldMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LookupAndApply.cpp
M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
M llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
A llvm/lib/ExecutionEngine/Orc/SharedMemoryMapSPS.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
M llvm/lib/Frontend/HLSL/SemanticSignaturePacking.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/PassManager.cpp
M llvm/lib/IR/PassTimingInfo.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/ObjCopy/MachO/MachOReader.h
M llvm/lib/Object/ArchiveWriter.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/SandboxIR/Pass.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Compression.cpp
M llvm/lib/Support/ConvertEBCDIC.cpp
A llvm/lib/Support/Driver.cpp
M llvm/lib/Support/FileUtilities.cpp
M llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/lib/Target/AArch64/AArch64SchedPredNeoverse.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCoExecSchedStrategy.h
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUFeatures.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibFunc.h
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600ISelLowering.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/R600Processors.td
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineScheduler.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.h
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMemoryBarrierOpt.cpp
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/M68k/M68kInstrData.td
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/M68k/M68kTargetMachine.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsMachineFunction.cpp
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.td
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsSubtarget.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMachObjectWriter.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
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/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXqccmi.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCodeGenPassBuilder.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
R llvm/lib/Target/SPIRV/SPIRVLegalizeImplicitBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/lib/Target/SPIRV/SPIRVLegalizeResourceBinding.cpp
M llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/SystemZ/CMakeLists.txt
M llvm/lib/Target/SystemZ/SystemZ.h
A llvm/lib/Target/SystemZ/SystemZAlignGlobals.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/TargetMachineC.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPostLegalizerCombiner.cpp
M llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
M llvm/lib/Target/X86/GISel/X86PreLegalizerCombiner.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
A llvm/lib/Target/X86/X86InstrAVX10_V2_AUX.td
M llvm/lib/Target/X86/X86InstrControl.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
M llvm/lib/TargetParser/AMDGPUTargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetDataLayout.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerVectorIntrinsics.cpp
M llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
M llvm/lib/Transforms/Utils/SanitizerStats.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Analysis/BasicAA/gep-minabs-different-scale.ll
M llvm/test/Analysis/CostModel/AArch64/masked_compress_load.ll
A llvm/test/Analysis/CostModel/AArch64/mulh.ll
A llvm/test/Analysis/CostModel/AArch64/speculative-load.ll
A llvm/test/Analysis/CostModel/AArch64/sve-mulh.ll
A llvm/test/Analysis/CostModel/RISCV/mulh.ll
M llvm/test/Analysis/CostModel/X86/arith-mulh.ll
M llvm/test/Analysis/CostModel/X86/load_store.ll
A llvm/test/Analysis/CostModel/X86/nonpow2-load-fold.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
A llvm/test/Analysis/CostModel/X86/shuffle-mask-broadcast.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
A llvm/test/Analysis/CostModel/X86/speculative-load.ll
M llvm/test/Analysis/ScalarEvolution/exit-value-nowrap-flags.ll
A llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-correlated-end.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-rewrite-expressions.ll
M llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
M llvm/test/Analysis/ScalarEvolution/nsw.ll
M llvm/test/Analysis/ScalarEvolution/ranges.ll
M llvm/test/Analysis/ScalarEvolution/trip-count13.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/always_uniform.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/atomics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/b42473-r1-crash.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/branch-after-join.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/control-flow-intrinsics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_diverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/hidden_loopdiverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/inline-asm.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/interp_f16.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/branch-outside.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-basic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/diverged-entry-headers.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/exit-divergence.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/hidden-post-dom.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/irreducible-1.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/irreducible/reducible-headers.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/join-at-loop-exit.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/kernel-args.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.buffer.atomic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/no-return-blocks.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/nodivergencesource.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi-undef.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_branch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/phi_div_loop.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/propagate-loop-live-out.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/temporal_diverge.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/trivial-join-at-loop-exit.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/uniform_intrinsic.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unreachable-loop-block.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/unstructured-branch.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/workitem-intrinsics.ll
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-vector-compress.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-basic.mir
A llvm/test/CodeGen/AArch64/GlobalISel/knownfpclass-ops.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/aarch64-fix-cortex-a53-835769-debug.ll
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
M llvm/test/CodeGen/AArch64/abds-neg.ll
M llvm/test/CodeGen/AArch64/abdu-neg.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/avoid-ld4.ll
M llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.ll
A llvm/test/CodeGen/AArch64/early-ifcvt-fpr128.mir
M llvm/test/CodeGen/AArch64/expand-blr-rvmarker-pseudo.mir
M llvm/test/CodeGen/AArch64/kcfi-bti.ll
M llvm/test/CodeGen/AArch64/lowmaskedlanes.ll
M llvm/test/CodeGen/AArch64/partial-reduction-sub.ll
M llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
M llvm/test/CodeGen/AArch64/ptrauth-tail-call-stackadjust.ll
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/AArch64/sign-return-address-pauthlr-slh.ll
M llvm/test/CodeGen/AArch64/sme-streaming-mode-landingpads.ll
A llvm/test/CodeGen/AArch64/sve-vector-interleave-legalize.ll
M llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
M llvm/test/CodeGen/AArch64/vector-deinterleave-load.ll
A llvm/test/CodeGen/AArch64/vector-interleave-consecutive-splats.ll
A llvm/test/CodeGen/AArch64/vselect-widen-mask-tree.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fabs.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fadd.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fcanonicalize.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fminnum.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmul.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fneg.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fsub.bf16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-amdgcn.workitem.id.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ballot.i64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-freeze.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-trunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fadd.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fma.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fmul.bf16.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/strict_fsub.bf16.ll
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-memintrinsic-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-metadata-agpr-register-count.ll
A llvm/test/CodeGen/AMDGPU/atomic_optimizations_mul_one.ll
M llvm/test/CodeGen/AMDGPU/build_vector.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/clamp-omod-special-case.mir
M llvm/test/CodeGen/AMDGPU/coexec-block-carried-latency.mir
M llvm/test/CodeGen/AMDGPU/coexec-sched-ds-fifo.mir
M llvm/test/CodeGen/AMDGPU/coexec-sched-effective-stall.mir
M llvm/test/CodeGen/AMDGPU/dead-lane.mir
A llvm/test/CodeGen/AMDGPU/detect-dead-lanes-tied-undef.mir
M llvm/test/CodeGen/AMDGPU/dual-source-blend-export.ll
M llvm/test/CodeGen/AMDGPU/early-lis-two-address-regsequence-undef.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/fcopysign.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/fma-mix.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.gfx11plus.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-term.ll
A llvm/test/CodeGen/AMDGPU/lds-size-gfx1030.ll
A llvm/test/CodeGen/AMDGPU/lds-size-gfx9-4-generic.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
M llvm/test/CodeGen/AMDGPU/lower-indirect-lds-references.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-bf16-t16-inline-imm.mir
A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-fptrunc-rounding.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
M llvm/test/CodeGen/AMDGPU/permlane16_opsel.ll
M llvm/test/CodeGen/AMDGPU/rewrite-out-arguments.ll
M llvm/test/CodeGen/AMDGPU/scalar-branch-missing-and-exec.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.gfx11plus.ll
A llvm/test/CodeGen/AMDGPU/schedule-pressure-dead-superreg-live-subreg.mir
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
M llvm/test/CodeGen/ARM/cmse-vlldm-no-reorder.mir
M llvm/test/CodeGen/ARM/vlldm-vlstm-uops.mir
A llvm/test/CodeGen/AVR/frameaddress.ll
A llvm/test/CodeGen/AVR/returnaddress.ll
M llvm/test/CodeGen/DirectX/RawBufferLoadDouble.ll
M llvm/test/CodeGen/DirectX/RawBufferStoreDouble.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/load-rawbuffer-wide-double.ll
A llvm/test/CodeGen/DirectX/ResourceAccess/store-rawbuffer-wide-double.ll
M llvm/test/CodeGen/DirectX/TextureLoad.ll
M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib-darwin-libsystem-m.ll
A llvm/test/CodeGen/Hexagon/autohvx/bf16insert.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-basic.ll
M llvm/test/CodeGen/Hexagon/copy-to-combine-const64.mir
A llvm/test/CodeGen/Hexagon/hmx-attr-inline-compat.ll
A llvm/test/CodeGen/Hexagon/hmx-attr-no-autohvx.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
A llvm/test/CodeGen/LoongArch/frame-base-dedup-la32.mir
A llvm/test/CodeGen/LoongArch/frame-base-dedup-la64.mir
M llvm/test/CodeGen/LoongArch/memory-barrier-opt.ll
M llvm/test/CodeGen/LoongArch/stack-clash-prologue.ll
M llvm/test/CodeGen/LoongArch/test_bl_fixupkind.mir
M llvm/test/CodeGen/M68k/inline-asm.ll
M llvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
R llvm/test/CodeGen/MLRegAlloc/aarch64-evict-advisor-duplicate-hints.ll
M llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll
M llvm/test/CodeGen/MLRegAlloc/interactive-mode.ll
M llvm/test/CodeGen/Mips/cconv/arguments-float.ll
M llvm/test/CodeGen/Mips/cconv/arguments-struct.ll
M llvm/test/CodeGen/Mips/cconv/arguments-varargs.ll
M llvm/test/CodeGen/Mips/cconv/arguments.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved-float.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
A llvm/test/CodeGen/Mips/cconv/o32-fp64-gpr-moves.ll
A llvm/test/CodeGen/Mips/cconv/o32-mips64.ll
M llvm/test/CodeGen/Mips/cconv/reserved-space.ll
M llvm/test/CodeGen/Mips/cconv/return-float.ll
M llvm/test/CodeGen/Mips/cconv/return-hard-float.ll
M llvm/test/CodeGen/Mips/cconv/return-struct.ll
M llvm/test/CodeGen/Mips/cconv/return.ll
M llvm/test/CodeGen/Mips/cconv/stack-alignment.ll
A llvm/test/CodeGen/Mips/named-register-aliases.ll
M llvm/test/CodeGen/NVPTX/fmax3.ll
A llvm/test/CodeGen/NVPTX/infer-address-space-join.ll
M llvm/test/CodeGen/NVPTX/insert-vector-elt-shuffle-i8.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/volatile-local.ll
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm100f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm110f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm120f.py
A llvm/test/CodeGen/NVPTX/wmma-ptx94-sm90a.py
M llvm/test/CodeGen/NVPTX/wmma.py
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/PowerPC/abdu-neg.ll
M llvm/test/CodeGen/PowerPC/convert-ri-addi-to-ri.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
M llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
M llvm/test/CodeGen/PowerPC/fixup-kill-dead-flag-crash.mir
M llvm/test/CodeGen/PowerPC/fold-rlwinm.mir
M llvm/test/CodeGen/PowerPC/fold-rot-and-peephole.mir
M llvm/test/CodeGen/PowerPC/jump-tables-collapse-rotate-remove-SrcMI.mir
M llvm/test/CodeGen/PowerPC/mi-peephole-forwarding-undef.mir
M llvm/test/CodeGen/PowerPC/mi-peephole.mir
M llvm/test/CodeGen/PowerPC/peephole-combineRLWINM-liveness.mir
M llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
M llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
M llvm/test/CodeGen/PowerPC/peephole-livevars-tracking.mir
M llvm/test/CodeGen/PowerPC/peephole-miscompile-extswsli.mir
M llvm/test/CodeGen/PowerPC/rlwinm_rldicl_to_andi.mir
M llvm/test/CodeGen/PowerPC/sext_elimination.mir
A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv32.ll
A llvm/test/CodeGen/RISCV/GlobalISel/clmulr-rv64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/rvv/combine-vmnot-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.mir
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/target-abi-valid.ll
M llvm/test/CodeGen/SPIRV/AtomicBuiltinsFloat.ll
A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-constant.mir
A llvm/test/CodeGen/SPIRV/GlobalISel/prelegalizer-switch-case-shared-constant.ll
M llvm/test/CodeGen/SPIRV/atomicrmw-storage-class-semantics.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-non-amd.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-orderings.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-oversized.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-scopes.ll
A llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap-signatures.ll
M llvm/test/CodeGen/SPIRV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-0.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
A llvm/test/CodeGen/SPIRV/fence-shader.ll
M llvm/test/CodeGen/SPIRV/fence.ll
M llvm/test/CodeGen/SPIRV/instructions/integer-casts.ll
M llvm/test/CodeGen/SPIRV/llc-pipeline.ll
M llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizePointerCast.ll
Log Message:
-----------
Merge branch 'main' into users/hidekisaito/perm-pk16-hazard
Compare: https://github.com/llvm/llvm-project/compare/f33c05298431...91dec7aeed6b
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