LLVM/project 2815f29clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaHLSL.cpp

[HLSL] Add sema for use of samplers and gathers on textures of doubles and ints (#212613)

Fixes https://github.com/llvm/llvm-project/issues/198882 and
https://github.com/llvm/llvm-project/issues/198883

This PR:
- Implements sema checks to reject the use of samplers and gathers on
textures of doubles.
- Implements sema checks to reject use of samplers on textures of
integers before shader model 6.7

Assisted by: Claude Opus 5
DeltaFile
+102-0clang/lib/Sema/SemaHLSL.cpp
+69-0clang/test/SemaHLSL/Resources/Textures-double-element-type-errors.hlsl
+61-0clang/test/SemaHLSL/Resources/Textures-integer-element-type.hlsl
+5-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+237-04 files

LLVM/project c4dbdfcllvm/utils/gn/secondary/llvm/lib/Frontend/HLSL BUILD.gn, llvm/utils/gn/secondary/llvm/unittests/Frontend BUILD.gn

[gn build] Port 8e564ec0a221 (#212897)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
+1-0llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
+2-02 files

LLVM/project cd1db26llvm/utils/gn/secondary/clang/unittests/CIR BUILD.gn

[gn build] Port 13834ee4dc48 (#212896)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/unittests/CIR/BUILD.gn
+1-01 files

LLVM/project a934934flang/include/flang/Optimizer/Dialect/CUF CUFOps.td, flang/lib/Optimizer/Transforms/CUDA CUFAddConstructor.cpp

[flang][cuda] Unify registration under -gpu=mem:unified (#212871)

Always use the cuf operation under -gpu=unified as registration might be
differed to the backend. Add a UnitAttr to distinguish device resident
variable that will not use cudaRegisterHostVar but cudaRegisterVar.
DeltaFile
+34-22flang/lib/Optimizer/Transforms/CUDA/CUFAddConstructor.cpp
+24-22flang/test/Fir/CUDA/cuda-constructor-2.f90
+6-5flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
+64-493 files

LLVM/project 76403adflang/include/flang/Evaluate tools.h, flang/test/Lower/CUDA cuda-managed-assign.cuf

[flang][cuda] Keep data transfers for allocatable assignments with device data (#212855)

An assignment to a whole allocatable was lowered as a host assignment to
keep reallocation semantics, without checking the memory kind, so a
device allocatable assigned from a managed array wrote device memory
from the host and segfaulted.

Keep the transfer when either side is device or constant data. CUDA
Fortran Programming Guide 3.4.1 makes an assignment between managed and
device data a copy in both directions, with no exception for an
allocatable left-hand side.
DeltaFile
+39-22flang/include/flang/Evaluate/tools.h
+17-0flang/test/Lower/CUDA/cuda-managed-assign.cuf
+56-222 files

LLVM/project 0d1c3c0clang/include/clang/CIR/Dialect/IR CIRTypeConstraints.td CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Allow boolean operands in cir.cmp (#206846)

GROMACS uses scoped enums with a boolean underlying type as type-safe
flags (`enum class EmulateGpuNonbonded : bool`), and compares them with
`==` / `!=` / `<`. A scoped enum is not integer-promoted before the
comparison, so the operand reaches `cir.cmp` as a `!cir.bool` (CIR
already
represents a boolean-underlying enum with `!cir.bool`). The `cir.cmp`
operand constraint `CIR_ComparableType` does not list bool, so module
verification fails before the CIR-to-CIR passes with:

```
'cir.cmp' op operand #0 must be comparable type, but got '!cir.bool'
```

Add bool to `CIR_ComparableType` and let the comparison lowering compare
`!cir.bool` the same way it already compares pointers, as an unsigned
`icmp` (`ult` for `<`), which is what classic CodeGen does with these as
`i1`. Plain `bool` comparisons are unchanged, since they still carry the

    [13 lines not shown]
DeltaFile
+95-5clang/test/CIR/CodeGen/enum-bool.cpp
+68-0clang/test/CIR/IR/cmp.cir
+5-12clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+3-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-2clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
+173-215 files

FreeBSD/ports 4fedafctextproc/moor Makefile distinfo

textproc/moor: Update 2.15.2 => 2.16.0

Changelog:
https://github.com/walles/moor/releases/tag/v2.16.0

Reported by:    repology
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q3

(cherry picked from commit 955b55ddf46eb94644f68ed2e03d8f21dfb857e9)
DeltaFile
+5-5textproc/moor/distinfo
+1-1textproc/moor/Makefile
+6-62 files

FreeBSD/ports 955b55dtextproc/moor Makefile distinfo

textproc/moor: Update 2.15.2 => 2.16.0

Changelog:
https://github.com/walles/moor/releases/tag/v2.16.0

Reported by:    repology
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q3
DeltaFile
+5-5textproc/moor/distinfo
+1-1textproc/moor/Makefile
+6-62 files

LLVM/project b0541c3clang/include/clang/StaticAnalyzer/Core/PathSensitive CoreEngine.h ExprEngine.h, clang/lib/StaticAnalyzer/Checkers AnalyzerStatsChecker.cpp

[NFC][analyzer] Remove BlockEdge parameter of processCFGBlockEntrance (#212804)

As a side effect of my previous refactoring efforts, the method
`ExprEngine::processCFGBlockEntrance` had two very similar parameters: a
`BlockEdge` and a `BlockEntrance` instance.

These are both subclasses of `ProgramPoint`, stored the same data (the
`BlockEntrance` was initialized with data taken from the `BlockEdge`
just before the call) and the `BlockEdge` was almost completely unused
within `processCFGBlockEntrance`.

The only reason for having the `BlockEdge` was that it was stored in the
debug statistic table `blocksExhausted`; so this commit transitions that
simple debug code to use `BlockEntrance` instances instead (which is
also perfectly sufficient for its goals). This allows the removal of the
redundant argument of `processCFGBlockEntrance`.

This prepares the ground for further cleanup in this method.
DeltaFile
+2-6clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+2-2clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
+2-2clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+1-1clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
+1-1clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
+8-125 files

LLVM/project 64dfcdbclang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR fenv.cir

[CIR] Add fenv attribute to more builtins (#212880)

This adds the #cir.fenv attribute to the CIR_UnaryFPToIntBuiltinOp and
CIR_TernaryFPToFPBuiltinOp base classes, and through them to the
cir.lround, cir.llround, cir.lrint, cir.llrint, and cir.fma operations.

This attribute is still missing from various cast and compare
operations. Those will be added in a follow-up change.

Assisted-by: Cursor / various models
DeltaFile
+22-6clang/include/clang/CIR/Dialect/IR/CIROps.td
+24-0clang/test/CIR/IR/fenv.cir
+20-1clang/unittests/CIR/FenvOpTest.cpp
+66-73 files

LLVM/project ade1287llvm/lib/DWARFLinker/Classic DWARFLinker.cpp, llvm/test/tools/dsymutil/X86 keep-enumerators.test

[DWARFLinker] Keep DW_TAG_enumerator children of a live enumeration_type (#212849)

Swift allows functions inside enums:

  enum Foo: Int {
    case bar = 0

    func baz() { ... }
    }

  DW_TAG_enumeration_type  "Foo"
    DW_TAG_enumerator        "bar"
    DW_TAG_subprogram        "baz"  DW_AT_declaration
  ...
  DW_TAG_subprogram  DW_AT_low_pc(...)  DW_AT_specification -> "baz"

dieNeedsChildrenToBeMeaningful() did not list DW_TAG_enumeration_type,
so the parent walk skipped the enum's children.


    [2 lines not shown]
DeltaFile
+160-0llvm/test/tools/dsymutil/X86/keep-enumerators.test
+1-0llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
+161-02 files

LLVM/project 99340f9llvm/lib/Target/AMDGPU SIInstructions.td SIISelLowering.cpp

[AMDGPU] Rename packed 64-bit features to include SingleSGPR. NFCI.
DeltaFile
+9-9llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+12-6llvm/lib/Target/AMDGPU/AMDGPU.td
+8-8llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+4-4llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+2-2llvm/lib/Target/AMDGPU/SIInstructions.td
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+37-313 files not shown
+43-339 files

LLVM/project 17efc66utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel

[Bazel] Fixes 739bf5e (#212885)

This fixes 739bf5e18d9df470c540c5c61f086c95ae5aa370 (#212516).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=739bf5e18d9df470c540c5c61f086c95ae5aa370

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+2-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+2-01 files

FreeBSD/ports bd44c93chinese/ibus-array pkg-plist distinfo, chinese/ibus-array/files patch-data_cin2sqlite.py patch-data_updatePhrase.py

chinese/ibus-array: Update 0.2.2.20230502 => 0.3.2

Changelogs:
- https://github.com/lexical/ibus-array/releases/tag/release-0.2.3
- https://github.com/lexical/ibus-array/releases/tag/release-0.3.0
- https://github.com/lexical/ibus-array/releases/tag/release-0.3.2
Commit log:
https://github.com/lexical/ibus-array/compare/06146c5...5868d7e

PR:             296954
Reported by:    Jia-Shiun Li <jiashiun at gmail.com> (maintainer)
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+10-18chinese/ibus-array/Makefile
+11-0chinese/ibus-array/files/patch-data_cin2sqlite.py
+11-0chinese/ibus-array/files/patch-data_updatePhrase.py
+11-0chinese/ibus-array/files/patch-data_updateShortcode.py
+1-5chinese/ibus-array/pkg-plist
+3-3chinese/ibus-array/distinfo
+47-266 files

LLVM/project c306df0llvm/lib/Target/AMDGPU SIInstructions.td SIISelLowering.cpp

[AMDGPU] Rename packed 64-bit features to include SingleSGPR. NFCI.
DeltaFile
+9-9llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+12-6llvm/lib/Target/AMDGPU/AMDGPU.td
+8-8llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+4-4llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+2-2llvm/lib/Target/AMDGPU/SIInstructions.td
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+37-313 files not shown
+43-339 files

LLVM/project 1b161aaclang/include/clang/Basic HLSLIntrinsics.td, clang/test/CodeGenHLSL/builtins cross.hlsl

[HLSL] Move cross implementation to header files (#211446)

This patch removes the previous implementation of cross; instead, it
adds a new one inside the header files.

Fix: https://github.com/llvm/llvm-project/issues/135425

Assisted by: Claude Opus 4.8

---------

Co-authored-by: Joao Saffran <jderezende at microsoft.com>
DeltaFile
+51-25clang/test/CodeGenHLSL/builtins/cross.hlsl
+0-56llvm/test/CodeGen/DirectX/cross.ll
+7-39clang/test/SemaHLSL/BuiltIns/cross-errors.hlsl
+21-24clang/include/clang/Basic/HLSLIntrinsics.td
+0-39llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
+0-33llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll
+79-2167 files not shown
+87-25013 files

LLVM/project 5ac15dcflang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP metadirective-loop-common-block.f90

[flang][OpenMP] Fix metadirective DSA corner cases

Selected loop variants reconstruct data-sharing attributes during lowering.
Flattening nested parallel and task environments can silently privatize shared
variables, while clauses naming a COMMON block lose firstprivate or lastprivate
copy semantics when the block is expanded into members.

Reject replacement queues with multiple DSA-generating environments until
lowering can represent distinct bindings at every region boundary, and
propagate explicit DSA flags to every COMMON-block member. Add focused
coverage for the diagnostic and member copy-in/copy-out.
DeltaFile
+51-0flang/test/Lower/OpenMP/metadirective-loop-common-block.f90
+39-6flang/lib/Lower/OpenMP/OpenMP.cpp
+18-0flang/test/Lower/OpenMP/Todo/metadirective-loop-nested-data-environment-queue.f90
+108-63 files

LLVM/project 5c49c5fllvm/test/TableGen RuntimeLibcallEmitter-conflict-warning.td RuntimeLibcallEmitter-multiple-impls.td, llvm/utils/TableGen/Basic RuntimeLibcallsEmitter.cpp

RuntimeLibcalls: Emit all available impls for a libcall, not just one (#210915)

The intent is RuntimeLibcalls should represent all functions that are
callable from the module, which may have contextually selectable
alternatives. Previously we had this warning since there was no mechanism 
to select which one you want, and as a workaround the library call sets avoided 
adding the variants which should nto be selected.

Now targets can use initLibcallLoweringInfo, so remove the warning to
unblock more libcall cleanups. Eventually initLibcallLoweringInfo should also 
be tablegen driven.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+102-0llvm/test/TableGen/RuntimeLibcallEmitter-multiple-impls.td
+0-101llvm/test/TableGen/RuntimeLibcallEmitter-conflict-warning.td
+3-25llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+105-1263 files

LLVM/project a78b13cclang/lib/CodeGen CGHLSLRuntime.h

small note
DeltaFile
+2-3clang/lib/CodeGen/CGHLSLRuntime.h
+2-31 files

LLVM/project 01f4aa9clang/include/clang/DependencyScanning DependencyScanningWorker.h DependencyScannerImpl.h, clang/lib/DependencyScanning CMakeLists.txt DependencyScanningWorker.cpp

Move implementation details to DependencyScanningWorker.cpp and dissolve DependencyScannerImpl.h/cpp.
DeltaFile
+0-525clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+488-1clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+0-122clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+12-2clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+0-1clang/lib/Tooling/DependencyScanningTool.cpp
+0-1clang/lib/DependencyScanning/CMakeLists.txt
+500-6523 files not shown
+501-6549 files

LLVM/project 1183534clang/include/clang/DependencyScanning DependencyScannerImpl.h

Use CompilerInstanceWithContext for TU scanning.
DeltaFile
+33-0clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+33-01 files

LLVM/project 20428daclang/include/clang/DependencyScanning DependencyScannerImpl.h, clang/lib/DependencyScanning DependencyScannerImpl.cpp DependencyScanningWorker.cpp

Use CompilerInstanceWithContext for TU scanning.
DeltaFile
+315-38clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+0-293clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+35-0clang/unittests/Tooling/DependencyScannerTest.cpp
+0-27clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+1-0clang/test/ClangScanDeps/logging-simple.c
+351-3585 files

LLVM/project 8d08fb9clang/include/clang/DependencyScanning DependencyScanningWorker.h, clang/include/clang/Tooling DependencyScanningTool.h

Relocate CompilerInstanceWithContext to DependencyScanningWorker.cpp and hide it as an implementation detail.
DeltaFile
+252-0clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+4-209clang/lib/Tooling/DependencyScanningTool.cpp
+0-75clang/include/clang/Tooling/DependencyScanningTool.h
+22-5clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+278-2894 files

LLVM/project 0627379clang/include/clang/DependencyScanning DependencyConsumer.h DependencyScannerImpl.h, clang/include/clang/Tooling DependencyScanningTool.h

Implement the streaming style by-name scanning API.
DeltaFile
+43-89clang/lib/Tooling/DependencyScanningTool.cpp
+39-56clang/tools/clang-scan-deps/ClangScanDeps.cpp
+15-59clang/include/clang/Tooling/DependencyScanningTool.h
+0-14clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+1-3clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
+2-0clang/include/clang/DependencyScanning/DependencyConsumer.h
+100-2216 files

LLVM/project f0f0dacclang/include/clang/Tooling DependencyScanningTool.h, clang/lib/Tooling DependencyScanningTool.cpp

Extracting a driver-free CompilerInstaneWithContext initializer.
DeltaFile
+20-12clang/lib/Tooling/DependencyScanningTool.cpp
+21-3clang/include/clang/Tooling/DependencyScanningTool.h
+41-152 files

LLVM/project 316a296clang/test/ClangScanDeps canonicalize-macros-multiarch.c

[clang][DependencyScanning] Adding a Multiarch clang-scan-deps Test (#211404)

This test adds coverage of multiarch scanning command macro
canonicalization.

---

<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>
DeltaFile
+24-0clang/test/ClangScanDeps/canonicalize-macros-multiarch.c
+24-01 files

LLVM/project 20fd948clang/test/ClangScanDeps modules-async-scan.c

[clang][DependencyScanning] Adding a test that exercies the async-scanning code path (#211402)

This PR adds a test that exercises the async-scanning code path to
sanity check that async-scanning generates identical results as TU
scanning.

---

<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>
DeltaFile
+65-0clang/test/ClangScanDeps/modules-async-scan.c
+65-01 files

LLVM/project 1842e2dclang/lib/Basic/Targets OSTargets.h, clang/test/Sema darwin-tls.c

[clang][darwin] Firmware needs to support thread local storage (#212657)

rdar://182496170
DeltaFile
+2-0clang/lib/Basic/Targets/OSTargets.h
+1-0clang/test/Sema/darwin-tls.c
+3-02 files

LLVM/project 4262438clang/lib/CodeGen CGHLSLRuntime.cpp

clang format
DeltaFile
+3-5clang/lib/CodeGen/CGHLSLRuntime.cpp
+3-51 files

LLVM/project be246a4clang/lib/CodeGen CGHLSLRuntime.h CGHLSLRuntime.cpp, clang/test/CodeGenHLSL/semantics semantic.array.output.hlsl semantic.array.hlsl

correct intrin calls
DeltaFile
+149-26clang/lib/CodeGen/CGHLSLRuntime.cpp
+7-4clang/test/CodeGenHLSL/semantics/semantic.array.hlsl
+4-1clang/test/CodeGenHLSL/semantics/semantic.array.output.hlsl
+3-0clang/lib/CodeGen/CGHLSLRuntime.h
+163-314 files