OPNSense/core 02e6a06src/opnsense/mvc/app/views/layout_partials base_dialog.volt, src/opnsense/www/js opnsense_ui.js

ui: prevent modal dragging from search bar
DeltaFile
+3-0src/opnsense/www/js/opnsense_ui.js
+3-0src/opnsense/mvc/app/views/layout_partials/base_dialog.volt
+6-02 files

HardenedBSD/src e8ca01fsbin/fsck_msdosfs boot.c, sbin/fsck_msdosfs/tests fsck_msdosfs_boot_test.sh fsck_msdosfs_large_test.sh

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+241-0sbin/fsck_msdosfs/tests/fsck_msdosfs_large_test.sh
+214-0sbin/fsck_msdosfs/tests/fsck_msdosfs_boot_test.sh
+69-30share/examples/jails/jng
+57-35sbin/hastd/ebuf.c
+27-5share/examples/jails/jib
+7-14sbin/fsck_msdosfs/boot.c
+615-843 files not shown
+628-939 files

HardenedBSD/src 57ede48lib/libkvm kvm_proc.c kvm_pcpu.c, sbin/ddb ddb_capture.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+48-48usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+8-6sbin/hastd/hast_proto.c
+6-6sbin/ddb/ddb_capture.c
+89-8712 files not shown
+126-12418 files

HardenedBSD/src a7f32b6sbin/fsck_msdosfs boot.c, sbin/fsck_msdosfs/tests fsck_msdosfs_boot_test.sh fsck_msdosfs_large_test.sh

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+241-0sbin/fsck_msdosfs/tests/fsck_msdosfs_large_test.sh
+214-0sbin/fsck_msdosfs/tests/fsck_msdosfs_boot_test.sh
+69-30share/examples/jails/jng
+57-35sbin/hastd/ebuf.c
+27-5share/examples/jails/jib
+7-14sbin/fsck_msdosfs/boot.c
+615-843 files not shown
+628-939 files

HardenedBSD/src 34fdbfclib/libkvm kvm_proc.c kvm_pcpu.c, sbin/ddb ddb_capture.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+48-48usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+8-6sbin/hastd/hast_proto.c
+6-6sbin/ddb/ddb_capture.c
+89-8712 files not shown
+126-12418 files

FreeBSD/src 4d83686sbin/hastd hast_proto.c

hastd: Fix crash on empty message

A HAST message can be empty, in which case ebuf_add_tail() does nothing
and ebuf_data() returns NULL because the size of the ebuf is zero, but
hast_proto_recv_hdr() asserts that the return value is not NULL,
resulting in an immediate crash if hastctl or hastd receive an empty
message.  This is trivially reproducable by running `hastctl status` or
`hastctl role init` (as the rc script does prior to stopping hastd).

To avoid this, don't try to grow the ebuf or receive additional data
if the header size is zero.

PR:             298085
MFC after:      3 days
Reviewed by:    kevans, gjb
Differential Revision:  https://reviews.freebsd.org/D59306

(cherry picked from commit 8646d65b45339642d4aab1de35a2bc79fc45f09e)
DeltaFile
+8-6sbin/hastd/hast_proto.c
+8-61 files

FreeBSD/src 6c8a50clib/libkvm kvm_proc.c kvm_pcpu.c, lib/libmemstat memstat_malloc.c

various: Fix nlist invocations

Fix nlist(3) consumers that either expected our toolchain to prepend an
underscore to symbol names or expected nlist(3) to ignore the mismatch,
as it did until we overhauled it back in May.

While here, also fix cases where the last element in the list had an
empty string instead of NULL as sentinel.

MFC after:      3 days
Fixes:          4617a6cb82a6 ("nlist: Handle multiple symbol tables")
Reviewed by:    kib, jhb
Differential Revision:  https://reviews.freebsd.org/D59254

(cherry picked from commit cdfc673811aca2c6690f37bde9ef4896ea2e1d6b)
DeltaFile
+47-47usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+6-6sbin/ddb/ddb_capture.c
+6-6lib/libmemstat/memstat_malloc.c
+86-8611 files not shown
+116-11617 files

FreeBSD/src b6eb725lib/libkvm kvm_proc.c kvm_pcpu.c, lib/libmemstat memstat_malloc.c

various: Fix nlist invocations

Fix nlist(3) consumers that either expected our toolchain to prepend an
underscore to symbol names or expected nlist(3) to ignore the mismatch,
as it did until we overhauled it back in May.

While here, also fix cases where the last element in the list had an
empty string instead of NULL as sentinel.

MFC after:      3 days
Fixes:          4617a6cb82a6 ("nlist: Handle multiple symbol tables")
Reviewed by:    kib, jhb
Differential Revision:  https://reviews.freebsd.org/D59254

(cherry picked from commit cdfc673811aca2c6690f37bde9ef4896ea2e1d6b)
DeltaFile
+48-48usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+6-6sbin/ddb/ddb_capture.c
+6-6lib/libmemstat/memstat_malloc.c
+87-8711 files not shown
+118-11817 files

HardenedBSD/src b6eb725lib/libkvm kvm_proc.c kvm_pcpu.c, lib/libmemstat memstat_malloc.c

various: Fix nlist invocations

Fix nlist(3) consumers that either expected our toolchain to prepend an
underscore to symbol names or expected nlist(3) to ignore the mismatch,
as it did until we overhauled it back in May.

While here, also fix cases where the last element in the list had an
empty string instead of NULL as sentinel.

MFC after:      3 days
Fixes:          4617a6cb82a6 ("nlist: Handle multiple symbol tables")
Reviewed by:    kib, jhb
Differential Revision:  https://reviews.freebsd.org/D59254

(cherry picked from commit cdfc673811aca2c6690f37bde9ef4896ea2e1d6b)
DeltaFile
+48-48usr.bin/netstat/nlist_symbols
+11-11usr.bin/vmstat/vmstat.c
+8-8lib/libkvm/kvm_proc.c
+8-8lib/libkvm/kvm_pcpu.c
+6-6sbin/ddb/ddb_capture.c
+6-6lib/libmemstat/memstat_malloc.c
+87-8711 files not shown
+118-11817 files

HardenedBSD/src 2581bc3sbin/hastd hast_proto.c

hastd: Fix crash on empty message

A HAST message can be empty, in which case ebuf_add_tail() does nothing
and ebuf_data() returns NULL because the size of the ebuf is zero, but
hast_proto_recv_hdr() asserts that the return value is not NULL,
resulting in an immediate crash if hastctl or hastd receive an empty
message.  This is trivially reproducable by running `hastctl status` or
`hastctl role init` (as the rc script does prior to stopping hastd).

To avoid this, don't try to grow the ebuf or receive additional data
if the header size is zero.

PR:             298085
MFC after:      3 days
Reviewed by:    kevans, gjb
Differential Revision:  https://reviews.freebsd.org/D59306

(cherry picked from commit 8646d65b45339642d4aab1de35a2bc79fc45f09e)
DeltaFile
+8-6sbin/hastd/hast_proto.c
+8-61 files

FreeBSD/src 2581bc3sbin/hastd hast_proto.c

hastd: Fix crash on empty message

A HAST message can be empty, in which case ebuf_add_tail() does nothing
and ebuf_data() returns NULL because the size of the ebuf is zero, but
hast_proto_recv_hdr() asserts that the return value is not NULL,
resulting in an immediate crash if hastctl or hastd receive an empty
message.  This is trivially reproducable by running `hastctl status` or
`hastctl role init` (as the rc script does prior to stopping hastd).

To avoid this, don't try to grow the ebuf or receive additional data
if the header size is zero.

PR:             298085
MFC after:      3 days
Reviewed by:    kevans, gjb
Differential Revision:  https://reviews.freebsd.org/D59306

(cherry picked from commit 8646d65b45339642d4aab1de35a2bc79fc45f09e)
DeltaFile
+8-6sbin/hastd/hast_proto.c
+8-61 files

LLVM/project 1d3ecdcclang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticCommonKinds.td

[clang] Make the _BitInt literal suffix a pedantic-only extension (#217815)

Clang diagnoses the `wb`/`uwb` `_BitInt` literal suffixes before C23
by default. Nothing else about the feature is reported that eagerly.
the `_BitInt` type the suffix names, is an `Extension` and only fires
under `-pedantic` or `-Wbit-int-extension`.

Change the suffix diagnostic to an `Extension` which is also how GCC
behaes.

Assisted-by: Claude Code
DeltaFile
+10-1clang/test/Lexer/bitint-constants-compat.c
+5-0clang/docs/ReleaseNotes.md
+2-2clang/test/AST/ByteCode/c.c
+3-1clang/test/AST/ByteCode/complex.c
+1-1clang/include/clang/Basic/DiagnosticCommonKinds.td
+21-55 files

LLVM/project 542e90ellvm/lib/IR Operator.cpp Instruction.cpp, llvm/test/Transforms/EarlyCSE flags.ll

IR: Intersect and drop the addrspacecast nonnull flag (#217904)

Teach the flag-propagation controls about the nonnull flag
on addrspacecast.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+44-0llvm/test/Transforms/EarlyCSE/flags.ll
+30-0llvm/test/Transforms/SimplifyCFG/HoistCode.ll
+21-0llvm/unittests/IR/InstructionsTest.cpp
+20-0llvm/lib/IR/Instruction.cpp
+4-0llvm/lib/IR/Operator.cpp
+119-05 files

LLVM/project ae0347bllvm/lib/Target/AArch64 AArch64InstrInfo.cpp, llvm/test/CodeGen/AArch64 swifttail-ptrauth.ll

[AArch64][PAC] Fix the list of registers clobbered by PAUTH_EPILOGUE (#220190)

When SP adjustment might be needed, whether X15 scratch register can be used
by PAUTH_EPILOGUE or not depends on PAuth LR hardening being requested for
the particular function, not the availability of `FEAT_PAuth_LR`.
DeltaFile
+25-0llvm/test/CodeGen/AArch64/swifttail-ptrauth.ll
+1-1llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+26-12 files

LLVM/project 10c7bb0flang/test/Fir omp-declare-target-data.fir, flang/test/Lower/OpenMP declare-target-func-and-subr.f90

[MLIR][ODS] Strip EnumAttr parameters in struct formats (#220727)

Add typed EnumAttr parameter wrappers for attribute and type
definitions.

Parse and print their underlying enum values inside struct directives.

Assisted-by: Codex
DeltaFile
+106-22mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
+44-44mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+30-30mlir/test/Dialect/OpenMP/attr.mlir
+60-0mlir/test/mlir-tblgen/attr-or-type-format.td
+23-23flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
+22-22flang/test/Fir/omp-declare-target-data.fir
+285-14153 files not shown
+572-34659 files

LLVM/project 921a6dbmlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp, mlir/test/Target/LLVMIR openmp-reduction-barrier-debug-loc.mlir

[MLIR][OpenMP] Preserve the debug location for the reduction barrier. (#220605)

`createReductionsAndCleanup` passed the insert point returned by
`createReductions` straight into `createBarrier`. That selects`
LocationDescription(const InsertPointTy &)`, which leaves the debug
location default-constructed, so the `__kmpc_barrier` and the
`__kmpc_global_thread_num` generated by `createBarrier` are emitted
without a !dbg.

That breaks the device link of a target region compiled with -g once a
device runtime built with debug info is present. The verifier fails with
the following error:

inlinable function call in a function with debug info must have a !dbg
location
    %31 = call i32 @__kmpc_global_thread_num
inlinable function call in a function with debug info must have a !dbg
location
    call void @__kmpc_barrier

    [5 lines not shown]
DeltaFile
+51-0mlir/test/Target/LLVMIR/openmp-reduction-barrier-debug-loc.mlir
+3-1mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+54-12 files

LLVM/project ceaad83mlir/lib/Dialect/Linalg/Transforms CMakeLists.txt MorphOps.cpp

[MLIR][Linalg] Clean up after removal of named ops

This patch removes all conversion patterns between category/generic and elementwise named ops, simplifying the morphisms.
DeltaFile
+0-55mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
+0-51mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
+0-4mlir/lib/Dialect/Linalg/Transforms/MorphOps.cpp
+0-2mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
+0-1124 files

NetBSD/pkgsrc kXbO3U4www/py-django-cms distinfo Makefile

   py-django-cms: updated to 5.1.2

   5.1.2 (2026-08-27)

   Features:
   * Support Content Security Policy nonces introduced in Django 6.1

   Bug Fixes:
   * Enforce placeholder permissions on the edit and view endpoints
   * Fix ``GrouperModelAdmin`` ignoring the read-only context for content objects without a language
     field
   * Prevent a manually entered page slug from being overwritten when changing the page title
     -- Fabian Braun
   * Avoid needlessly clearing the permission caches on Django 6.1 signals
   * Allow copying plugins from write-protected (published) content
   * Harden the toolbar JavaScript
   * Require permission to change the previous home page before setting a new one
   * Fix copying a page dropping its login-required property
   * Limit the number of plugins displayed in the plugin deletion confirmation

    [3 lines not shown]
VersionDeltaFile
1.46+261-72www/py-django-cms/PLIST
1.67+6-5www/py-django-cms/Makefile
1.56+4-4www/py-django-cms/distinfo
+271-813 files

LLVM/project b2b865eclang/lib/CodeGen/Targets Sparc.cpp, clang/test/CodeGen/Sparc variadic-aggregate.c

[Sparc] don't pass aggregate varargs in float registers (#216524)

https://godbolt.org/z/o1nGYEM33

```c
extern void sink(int, ...);

void variadic_cld(_Complex float z) { sink(0, z); }
```

Current clang just uses float registers

```asm
variadic_cld:
        mov     %g0, %o0
        fmovs %f0, %f2
        fmovs %f1, %f3
        mov     %o7, %g1
        call sink

    [28 lines not shown]
DeltaFile
+24-36clang/test/CodeGen/Sparc/variadic-aggregate.c
+17-8clang/lib/CodeGen/Targets/Sparc.cpp
+41-442 files

LLVM/project e283f4bmlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml, mlir/python/mlir/dialects/linalg/opdsl/ops core_named_ops.py

[MLIR][Linalg] Remove ternary named op

Removes the named op `select` from the Linalg dialect.

I have also updated the ElementwiseOp builder to simplify the default
case: kind + no affine map.

Depends on both unary and binary removal branches.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+0-57mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+0-48mlir/test/Dialect/Linalg/named-ops.mlir
+0-48mlir/test/Dialect/Linalg/named-ops-fail.mlir
+0-26mlir/test/Dialect/Linalg/generalize-named-ops.mlir
+0-20mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
+0-18mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
+0-2176 files not shown
+16-25212 files

FreeBSD/ports 620b305databases/py-harlequin distinfo Makefile

databases/py-harlequin: Update to 2.13.0

- Update list of run dependencies

ChangeLog:

1. https://github.com/tconbeer/harlequin/releases/tag/v2.13.0

Reported by:    Ted Conbeer <notifications at github.com>
DeltaFile
+7-5databases/py-harlequin/Makefile
+3-3databases/py-harlequin/distinfo
+10-82 files

HardenedBSD/ports 620b305databases/py-harlequin distinfo Makefile

databases/py-harlequin: Update to 2.13.0

- Update list of run dependencies

ChangeLog:

1. https://github.com/tconbeer/harlequin/releases/tag/v2.13.0

Reported by:    Ted Conbeer <notifications at github.com>
DeltaFile
+7-5databases/py-harlequin/Makefile
+3-3databases/py-harlequin/distinfo
+10-82 files

LLVM/project d41fb65mlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml, mlir/python/mlir/dialects/linalg/opdsl/ops core_named_ops.py

[MLIR][Linalg] Remove binary named ops

Remove ops, change tests to elementwise to continue working as is.

Depends on the unary removal branch.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+0-395mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+0-272mlir/test/Dialect/Linalg/named-ops.mlir
+0-202mlir/test/Dialect/Linalg/generalize-named-ops.mlir
+0-160mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
+0-155mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
+33-105mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+33-1,28924 files not shown
+235-1,86530 files

NetBSD/pkgsrc WjJknQ4doc CHANGES-2026

   Updated devel/py-crc, devel/py-test-rerunfailures
VersionDeltaFile
1.5808+3-1doc/CHANGES-2026
+3-11 files

LLVM/project 5a3dad0clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate AssumeBundleKind, AtomicFetchKind and AsmFlavor off IntegerAttr

Continues the migration for the three enums reached through hand-written
parsers and printers rather than a plain argument reference.

cir.atomic.fetch references $binop from its declarative format, so that one
gains an `enum()` wrapper like the rest.

The other two need no code changes. printAssumeBundle and parseAssumeBundle
are already typed on cir::AssumeBundleKindAttr, and the wrapper keeps that
class name, so custom<AssumeBundle> still compiles and behaves the same.
InlineAsmOp::print streams getAsmFlavor(), which returns the enum and uses
the operator<< that -gen-enum-decls emits, not the attribute.

DefaultValuedAttr keeps taking the same C++ default expression for
$bundle_kind. Operation syntax is unchanged.
DeltaFile
+28-0clang/test/CIR/IR/enum-attrs.cir
+19-6clang/include/clang/CIR/Dialect/IR/CIROps.td
+47-62 files

LLVM/project f40a1d0clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/test/CIR/CodeGen callsite-inline-attributes.cpp

[CIR] Drop the redundant suffix from the inline kind mnemonic

This leaves no CIR enum attribute mnemonic repeating what its C++ enum class
name already says. inline_kind was the last one, and keeping it meant the
stack established a convention and then violated it in a file it was editing.

The attribute now spells `#cir.inline<always_inline>`. The operation argument
is still named inline_kind, since that is the accessor name and unrelated to
the mnemonic, so the printed form reads
`inline_kind = #cir.inline<always_inline>`.

While here, the enum's summary becomes "inline kind" instead of the camelCase
"inlineKind". That summary is what the generated dialect docs now show, since
CIR_InlineKindAttr no longer overrides it with a restatement of its own name.

25 CHECK lines change across four test files. Nine of them are in
CodeGen/AArch64/sme-inline-callees-streaming-attrs.c, which is
`REQUIRES: aarch64-registered-target` and so unsupported in an X86-only
build. The substitution there is identical to the one verified by
CIR/CodeGen/callsite-inline-attributes.cpp and CIR/IR/inline-attrs.cir.
DeltaFile
+9-9clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
+9-9clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
+6-6clang/test/CIR/IR/inline-attrs.cir
+2-3clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+1-1clang/test/CIR/IR/invalid-call.cir
+27-285 files

LLVM/project d86c70aclang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate seven operation enums off IntegerAttr

CastKind, DynamicCastKind, CmpOpKind, ComplexRangeKind, InitCatchKind,
CaseOpKind and AwaitKind were I32EnumAttrs with the default
genSpecializedAttr, so each generated an IntegerAttr subclass. Operations
printed them symbolically because the format referenced the argument
directly, but the underlying attribute had no dialect spelling at all. In an
attribute dictionary or a generic-form dump it was a plain integer, so
`cir.cast bitcast` was stored as `kind = 1 : i32`.

Each enum now sets genSpecializedAttr = 0 and gets a CIR_EnumAttr wrapper,
which is the pattern EnumAttr.td documents, and the operations wrap the
argument in `enum()` to keep the bare keyword. The attributes gain a real
spelling, e.g. `#cir.cast<bitcast>`.

Operation syntax is unchanged, hence no test churn. enum-attrs.cir covers the
new standalone spellings, since nothing else in the test suite exercises
them. It also covers tls_model, whose spelling the earlier TLS commit
changed without leaving a standalone case behind.

    [17 lines not shown]
DeltaFile
+86-0clang/test/CIR/IR/enum-attrs.cir
+57-25clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-3clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+147-283 files

LLVM/project 17186daclang/lib/CIR/Dialect/IR CIRAttrs.cpp, clang/test/CIR/CodeGenOpenCL kernel-arg-info-single-as.cl kernel-arg-info.cl

[CIR] Drop lang_address_space's custom parenthesized attribute format

CIR_LangAddressSpaceAttr overrode its assembly format to
`(` custom<AddressSpaceValue>($value) `)`, so the standalone attribute
printed as `#cir<lang_address_space(offload_global)>`. The parentheses
defeated the dialect's `#cir.mnemonic<...>` syntax and forced the generic
fallback. It now uses the bracketed CIR_EnumAttr default and prints as
`#cir.lang_address_space<offload_global>`.

The override existed to make the enum read as `lang_address_space(x)` inside
`!cir.ptr` and `cir.global`. Those spellings are unaffected. Both go through
parse/printAddressSpaceValue on MemorySpaceAttrInterface in CIRTypes.cpp,
which prints the keyword and parentheses itself. The identically named
attribute-level pair in CIRAttrs.cpp was only reachable from the deleted
format, so it goes away.
DeltaFile
+14-14clang/test/CIR/CodeGenOpenCL/kernel-arg-info.cl
+0-20clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
+6-6clang/test/CIR/IR/invalid-opencl-kernel-arg-metadata.cir
+4-4clang/test/CIR/IR/opencl-kernel-arg-metadata.cir
+3-3clang/test/CIR/CodeGenOpenCL/kernel-arg-info-single-as.cl
+2-2clang/test/CIR/Lowering/opencl-kernel-arg-metadata.cir
+29-491 files not shown
+29-537 files

LLVM/project 4097be9clang/test/CIR/CodeGen global-tls-dynamic-vs-static.cpp global-tls-dyn-init.cpp

[CIR] Print cir.global's TLS model without naked angle brackets

`cir.global` printed `tls_model = <tls_dyn>`. Those angle brackets were the
leftover delimiters of `#cir.tls_model<tls_dyn>` after the operation printer
stripped the dialect prefix and mnemonic. The same enum on the module printed
`cir.default_tls_model = #cir.tls_model<tls_dyn>`, so one enum had two
unrelated spellings and the per-global one was not something anyone would
write by hand.

Wrapping the argument in the `enum` directive prints the symbolic value on
its own:

  cir.global external tls_model = tls_dyn @a = #cir.int<5> : !s32i

The standalone attribute is unchanged. invalid-tls.cir now sees a single
diagnostic from the operation's enum parser instead of two from the
attribute parser, and its input uses an invalid keyword rather than invalid
delimiters so it still exercises enum validation.
DeltaFile
+24-24clang/test/CIR/CodeGen/tls-model.cpp
+16-16clang/test/CIR/CodeGen/tls-model-func-scope.cpp
+14-14clang/test/CIR/CodeGen/global-tls-simple-init.cpp
+13-13clang/test/CIR/CodeGen/thread-local-in-func.cpp
+9-9clang/test/CIR/CodeGen/global-tls-dynamic-vs-static.cpp
+9-9clang/test/CIR/CodeGen/global-tls-dyn-init.cpp
+85-856 files not shown
+113-11412 files

LLVM/project 7679c9cclang/include/clang/CIR/Dialect/IR CIREnumAttr.td CIROps.td, clang/test/CIR/IR invalid-loop-cleanup.cir cleanup-scope.cir

[CIR] Give the cleanup kind a proper standalone attribute spelling

CleanupKindAttr overrode its assembly format to a bare `$value` so that
`cir.cleanup.scope` would print `cleanup all` rather than `cleanup <all>`.
The price was that the attribute had no readable standalone form. It fell
back to the generic dialect-attribute syntax and printed as
`#cir<cleanup_kind all>`.

The `enum($attr)` operation format directive removes the tradeoff. The
attribute keeps the bracketed format CIR_EnumAttr gives it by default, and
`cir.cleanup.scope`, `cir.while` and `cir.for` ask for the bare symbolic
value instead, so the attribute now spells `#cir.cleanup<all>`.

The mnemonic drops the `_kind` suffix that the C++ enum class name carries.
`kind` says nothing a reader of `#cir.cleanup<all>` needs, and the rest of
this stack follows the same rule.

Operation syntax is unchanged. The negative test in invalid-loop-cleanup.cir
now sees a single diagnostic from the operation's enum parser, which also
lists the valid keywords, in place of the two the attribute parser emitted.
DeltaFile
+21-0clang/test/CIR/IR/cleanup-scope.cir
+4-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+11-0clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+2-4clang/test/CIR/IR/invalid-loop-cleanup.cir
+38-124 files