FreeBSD/ports aef165adatabases/py-redisvl Makefile distinfo

databases/py-redisvl: Update to 0.27.0

Changelog: https://github.com/redis/redis-vl-python/releases/tag/v0.27.0

Reported by:    portscout
DeltaFile
+3-3databases/py-redisvl/distinfo
+2-2databases/py-redisvl/Makefile
+5-52 files

LLVM/project 640ab6cllvm/include/llvm/ADT FoldingSet.h, llvm/include/llvm/CodeGen SelectionDAG.h

[ADT] Derive FoldingSetNodeIDRef from ArrayRef<unsigned> (NFC) (#220824)

This patch derives FoldingSetNodeIDRef from ArrayRef<unsigned>,
benefiting from:

- Standard ArrayRef accessors like data() and size() instead of custom
  getData() and getSize().

- Range-based for loops directly over FoldingSetNodeIDRef.

- Implicit conversions to and from SmallVector<unsigned>, simplifying
  FoldingSetNodeID.

Assisted-by: Antigravity
DeltaFile
+9-19llvm/include/llvm/ADT/FoldingSet.h
+3-4llvm/lib/Support/FoldingSet.cpp
+1-2llvm/include/llvm/CodeGen/SelectionDAG.h
+1-1llvm/lib/Analysis/ScalarEvolution.cpp
+14-264 files

OpenZFS/src 47d09bfmodule/zfs dsl_userhold.c

Don't fail a release because a deferred snapshot is still busy

dsl_dataset_user_release_check_one() fails the whole release with
EBUSY when the last hold comes off a snapshot that is marked for
deferred destruction and is still long held.  Mark one while it is
idle, with "zfs hold t pool/fs at snap" and then "zfs destroy -d
pool/fs at snap", mount it afterwards by listing .zfs/snapshot, and
"zfs release t pool/fs at snap" reports "dataset is busy" and leaves the
tag where it was.  The caller is now sitting on a tag they cannot
drop until the mount goes, and the best-effort unmount the release
path already does cannot take a mount away from an open file.

The check was there because the release is what destroys the
snapshot, and destroying one that something still holds is not on.
Where an owner is what holds it, that is no longer the only way it
gets destroyed: the owner ends at dsl_dataset_disown(), which asks
for the sweep, so the release can drop the tag and leave the mark to
be collected in the ordinary way.  Every other long hold keeps
failing the release as before.  Nothing would come back for the mark

    [20 lines not shown]
DeltaFile
+13-3module/zfs/dsl_userhold.c
+13-31 files

OpenZFS/src 4d7cafbinclude/sys spa_impl.h, module/zfs dsl_dataset.c spa.c

Defer destruction of a snapshot that a mount is holding open

On Linux, "zfs destroy -d" on a snapshot automounted under
.zfs/snapshot with a file still open fails with EBUSY, exactly the
way the plain destroy does, and leaves defer_destroy off.  The -d
option is documented as marking whatever it cannot destroy right
away, so there is currently no way to say "get rid of it when you
can" about a snapshot someone is reading.  Issue #16339.

dsl_destroy_snapshot_check_impl() turns away any long-held snapshot
before it looks at the defer flag, and a snapshot is long held for as
long as it is mounted.  Taking the mount away instead is not on the
table: zfsctl_snapshot_unmount() invalidates the snapdir dentry,
which detaches the mount, but the dataset stays owned until the last
open file goes, and the 20ms it then waits is not enough for a file
someone is still reading.  FreeBSD never lands here, since its
zfsctl_snapshot_unmount() goes through dounmount() with MS_FORCE.

So let the snapshot be marked, and destroy it once whatever was

    [44 lines not shown]
DeltaFile
+120-4module/zfs/dsl_destroy.c
+101-0tests/zfs-tests/tests/functional/snapdir/snapdir_mount_destroy_defer.ksh
+21-1module/zfs/spa.c
+14-0module/zfs/dsl_dataset.c
+2-1tests/runfiles/linux.run
+1-1include/sys/spa_impl.h
+259-73 files not shown
+262-79 files

LLVM/project e973b0cllvm/lib/CodeGen MachinePipeliner.cpp

MachinePipeliner: Pass instruction to findLoopIncrementValue (#219966)

The helper recovered the loop block from the operand's parent
instruction. Pass the containing instruction directly so it no longer depends 
on MachineOperand::getParent().

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+4-3llvm/lib/CodeGen/MachinePipeliner.cpp
+4-31 files

LLVM/project fa1857eflang/lib/Semantics check-allocate.cpp, flang/test/Semantics/CUDA cuf32.cuf

[flang][cuda] Reject DEVICE derived types with attributed allocatable components (#220411)

CUDA attributed allocatables are allocated from the host in most case
(PINNED, MANAGED, UNIFIED). A DEVICE derived-type object keeps its
component descriptors in device global memory, so allocating such a
component is not valid. It's also invalid for a DEVICE component unless
the allocate statement is in device context.
DeltaFile
+123-0flang/test/Semantics/CUDA/cuf32.cuf
+27-0flang/lib/Semantics/check-allocate.cpp
+150-02 files

LLVM/project 11f9ddfllvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp

[VPlan] Allow non-live-in start values for widened inductions (NFC). (#220716)

Prepare VPWidenIntOrFpInductionRecipe for modeling the full epilogue
skeleton and resume values properly, by removing the VPIRValue
requirement for the start value.

The only requirement for the start value is that it dominates the phi,
which the verifier already ensures.

This is NFC today, but prepares for modeling the full epilogue skeleton
in VPlan, which requires adding phi nodes in the preheader before
execute.
DeltaFile
+6-6llvm/lib/Transforms/Vectorize/VPlan.h
+2-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanUtils.h
+1-1llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+1-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+11-115 files

FreeBSD/ports a2b5bc8devel/electron42 distinfo, devel/electron42/files patch-electron_shell_browser_api_electron__api__web__contents.h patch-chrome_browser_process__singleton__posix.cc

devel/electron42: Update to 42.10.1

Changelog: https://github.com/electron/electron/releases/tag/v42.10.1

Reported by:    GitHub (watch releases)

(cherry picked from commit f832ff69ee413e53c45533f19928e30e6f3da72b)
DeltaFile
+391-280devel/electron42/files/packagejsons/yarn.lock
+18-18devel/electron42/files/patch-electron_spec_api-app-spec.ts
+7-7devel/electron42/distinfo
+6-6devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+2-2devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.h
+2-2devel/electron42/files/patch-chrome_browser_process__singleton__posix.cc
+426-3151 files not shown
+427-3167 files

FreeBSD/ports 834ca55devel/electron42 Makefile.version distinfo, devel/electron42/files patch-electron_shell_common_api_electron__api__shared__texture.cc patch-electron_shell_browser_api_electron__api__app.cc

devel/electron42: Update to 42.11.1

Changelog: https://github.com/electron/electron/releases/tag/v42.11.1

Reported by:    GitHub (watch releases)
MFH:            2026Q3 (includes security fixes)
Security:       271556c1-ddbf-4d44-95e6-a731841539b2

(cherry picked from commit 7b8520ff71979892f7f9ae195f5efab9780884bc)
DeltaFile
+7-7devel/electron42/distinfo
+6-6devel/electron42/files/patch-ui_ozone_platform_wayland_host_wayland__frame__manager.cc
+3-3devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc
+2-2devel/electron42/files/patch-electron_shell_common_api_electron__api__shared__texture.cc
+1-1devel/electron42/Makefile.version
+19-195 files

FreeBSD/ports 45d09b8devel/electron42 Makefile distinfo, devel/electron42/files patch-gpu_command__buffer_service_shared__context__state.cc patch-electron_spec_chromium-spec.ts

devel/electron42: Update to 42.11.0

Changelog: https://github.com/electron/electron/releases/tag/v42.11.0

Reported by:    GitHub (watch releases)

(cherry picked from commit 011f831ac591b2b5f65407ccbd6b50e30f27f83a)
DeltaFile
+9-9devel/electron42/distinfo
+6-6devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+5-5devel/electron42/files/patch-gpu_ipc_service_gpu__init.cc
+7-3devel/electron42/Makefile
+4-4devel/electron42/files/patch-gpu_command__buffer_service_shared__context__state.cc
+4-4devel/electron42/files/patch-electron_spec_chromium-spec.ts
+35-318 files not shown
+56-5214 files

FreeBSD/ports f30c942devel/electron42/files patch-electron_shell_common_node__bindings__linux.cc patch-electron_shell_browser_api_electron__api__web__contents.cc

devel/electron42: Update to 42.10.0

Changelog: https://github.com/electron/electron/releases/tag/v42.10.0

Reported by:    GitHub (watch releases)

(cherry picked from commit d346072f67bec5fc8bee498efeedc91f94661cff)
DeltaFile
+29-20devel/electron42/files/patch-electron_spec_api-app-spec.ts
+21-21devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
+16-17devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+10-10devel/electron42/files/patch-electron_spec_api-browser-window-spec.ts
+8-8devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+8-7devel/electron42/files/patch-electron_shell_common_node__bindings__linux.cc
+92-8320 files not shown
+167-13126 files

FreeBSD/ports 3492dd0devel/electron42 distinfo, devel/electron42/files patch-ui_base_cursor_cursor__factory.cc patch-ui_base_x_x11__cursor__loader.cc

devel/electron42: Update to 42.9.3

Changelog:
- https://github.com/electron/electron/releases/tag/v42.9.1
- https://github.com/electron/electron/releases/tag/v42.9.2
- https://github.com/electron/electron/releases/tag/v42.9.3

Reported by:    GitHub (watch releases)

(cherry picked from commit 49ce10da799eaff13ee9978a99b3d11b0daf3722)
DeltaFile
+23-23devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
+8-8devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+7-7devel/electron42/distinfo
+11-0devel/electron42/files/patch-ui_base_cursor_cursor__unittest.cc
+5-5devel/electron42/files/patch-ui_base_x_x11__cursor__loader.cc
+4-4devel/electron42/files/patch-ui_base_cursor_cursor__factory.cc
+58-4712 files not shown
+86-7518 files

FreeBSD/ports 07fff6cdevel/electron42 distinfo, devel/electron42/files patch-electron_shell_common_node__bindings.cc patch-electron_shell_browser_api_electron__api__web__contents.cc

devel/electron42: Update to 42.9.0

While here, prepare node modules archives for amd64 and aarch64
separately.

Changelog: https://github.com/electron/electron/releases/tag/v42.9.0
(cherry picked from commit e25bed0a6ecccf59a2fe82b0faa7b515212f6e4d)
DeltaFile
+19-11devel/electron42/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+0-29devel/electron42/files/patch-electron_shell_renderer_oom__stack__trace.cc
+19-0devel/electron42/files/patch-electron_shell_common_v8__oom__diagnostics.cc
+8-8devel/electron42/files/patch-electron_shell_common_node__bindings.cc
+8-8devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+7-5devel/electron42/distinfo
+61-617 files not shown
+77-7613 files

FreeBSD/ports 7aa2982devel/electron42 distinfo, devel/electron42/files patch-electron_spec_visibility-state-spec.ts patch-electron_spec_api-native-image-spec.ts

devel/electron42: Update to 42.8.0

Changelog: https://github.com/electron/electron/releases/tag/v42.8.0

Reported by:    GitHub (watch releases)

(cherry picked from commit 4c360b5ba109634bdf13ab21299b7ab1c5b13711)
DeltaFile
+11-2devel/electron42/files/patch-electron_shell_common_api_electron__bindings.cc
+10-1devel/electron42/files/patch-electron_spec_api-process-spec.ts
+5-5devel/electron42/distinfo
+2-2devel/electron42/files/patch-electron_spec_visibility-state-spec.ts
+2-2devel/electron42/files/patch-electron_spec_api-native-image-spec.ts
+2-2devel/electron42/files/patch-electron_shell_common_api_electron__api__native__image.cc
+32-141 files not shown
+33-157 files

FreeBSD/ports f7e6c0fdevel/electron42 Makefile.version distinfo, devel/electron42/files patch-electron_spec_api-protocol-spec.ts patch-electron_shell_browser_api_electron__api__web__contents.cc

devel/electron42: Update to 42.8.1

Changelog: https://github.com/electron/electron/releases/tag/v42.8.1

Reported by:    GitHub (watch releases)

(cherry picked from commit d074a8e368f4269934e727a8769730e147f63e7a)
DeltaFile
+21-21devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
+16-16devel/electron42/files/patch-electron_spec_api-browser-window-spec.ts
+7-7devel/electron42/distinfo
+4-4devel/electron42/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+2-2devel/electron42/files/patch-electron_spec_api-protocol-spec.ts
+1-1devel/electron42/Makefile.version
+51-511 files not shown
+52-527 files

FreeBSD/ports 32c113fdevel/electron42 Makefile.version distinfo, devel/electron42/files patch-electron_script_lib_utils.js

devel/electron42: Update to 42.6.1

Changelog: https://github.com/electron/electron/releases/tag/v42.6.1

Reported by:    GitHub (watch releases)

(cherry picked from commit 4ed0ee6e70442b354c895d4ff7d002aa4025ac7f)
DeltaFile
+5-5devel/electron42/distinfo
+2-2devel/electron42/files/patch-electron_script_lib_utils.js
+1-1devel/electron42/Makefile.version
+0-1devel/electron42/files/packagejsons/yarn.lock
+0-1devel/electron42/files/packagejsons/package.json
+8-105 files

FreeBSD/ports a6c25e5devel/electron42 Makefile.version Makefile, devel/electron42/files patch-ui_views_focus_focus__manager.cc

devel/electron42: Update to 42.7.0

Changelog:
- https://github.com/electron/electron/releases/tag/v42.6.2
- https://github.com/electron/electron/releases/tag/v42.7.0

Reported by:    GitHub (watch releases)

(cherry picked from commit fd67ba2aab44502a5d8d363a288a8340ae6a6157)
DeltaFile
+7-7devel/electron42/distinfo
+3-3devel/electron42/files/patch-ui_views_focus_focus__manager.cc
+1-1devel/electron42/Makefile.version
+1-1devel/electron42/Makefile
+12-124 files

FreeBSD/ports 4c485d3devel/electron42 Makefile.version distinfo, devel/electron42/files patch-electron_spec_chromium-spec.ts patch-electron_spec_api-browser-window-spec.ts

devel/electron42: Update to 42.7.1

Changelog: https://github.com/electron/electron/releases/tag/v42.7.1

Reported by:    GitHub (watch releases)

(cherry picked from commit 6aa325ae9f88740fe72964f8fe3f4e967a606e10)
DeltaFile
+12-12devel/electron42/files/patch-electron_shell_browser_native__window__views.cc
+8-8devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc
+5-5devel/electron42/distinfo
+3-3devel/electron42/files/patch-electron_spec_chromium-spec.ts
+3-3devel/electron42/files/patch-electron_spec_api-browser-window-spec.ts
+1-1devel/electron42/Makefile.version
+32-326 files

LLVM/project fbe9a26flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp, flang/test/Semantics/OpenMP metadirective-loop-applicability-openmp-60.f90 metadirective-loop-applicability-apply.f90

[flang][OpenMP] Track reachable metadirective replacement paths

The existing semantic checks can validate loop-associated directives in a
METADIRECTIVE against the following loop, but they do not model how the
METADIRECTIVE chooses among its replacements.

Today each WHEN is considered independently: if its selector can match, its
replacement is checked. Selection instead ranks all applicable candidates as
a set. An unguarded higher-ranked candidate makes lower-ranked candidates
unreachable, while a dynamically guarded candidate leaves them reachable
when its condition is false. Treating both cases alike can diagnose loop
requirements on a replacement that can never be selected.

The selected replacement can also affect later selection. Its directive
contributes to the construct context seen by a nested metadirective. The
checker currently retains only syntactic nesting, so nested construct
selectors cannot observe a directive selected by an enclosing
metadirective.


    [44 lines not shown]
DeltaFile
+345-95flang/lib/Semantics/check-omp-variant.cpp
+186-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+56-25flang/lib/Semantics/check-omp-structure.cpp
+37-13flang/lib/Semantics/check-omp-structure.h
+23-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-apply.f90
+13-0flang/test/Semantics/OpenMP/metadirective-loop-applicability-openmp-60.f90
+660-1332 files not shown
+665-1348 files

LLVM/project e6734a4libcxx/include/__algorithm pstl.h, libcxx/include/__pstl/backends serial.h

[libc++][pstl] Implementation of parallel std::find_end() based on __parallel_find() (#218321)

This PR implements a parallel version of `std::find_end()` based on
`__parallel_find()`.

The algorithm crops the input range to a range where a potential match
can start and runs a chunked parallel find on the cropped range.
Inside each chunk potential matches are looked for using the serial
`std::find_end()` and the last one found is returned.
Since it's based on `__parallel_find()`, the algorithm supports early
termination.

Part of #99938.
DeltaFile
+276-0libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/pstl.find_end_pred.pass.cpp
+268-0libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/pstl.find_end.pass.cpp
+102-0libcxx/include/__pstl/cpu_algos/find_end.h
+48-0libcxx/include/__algorithm/pstl.h
+16-0libcxx/include/__pstl/backends/serial.h
+14-0libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
+724-08 files not shown
+762-014 files

LLVM/project 0d45751clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIRTypes.td

[CIR] Use the modern enum case classes

The `I32EnumAttrCase` family carries an `Attr` half, and an `IntegerAttr`
predicate with it, that a CIR enum has no use for now that the enums derive
from `EnumInfo`. Upstream says of those forms that they "are not needed when
using the newer `EnumCase` form".

Rename all 198 of them to `I32EnumCase`, `I32BitEnumCaseNone`,
`I32BitEnumCaseBit` and `BitEnumCaseGroup`. The group class drops its width
prefix because the modern spelling takes the width from its cases.

NFC, mechanical.
DeltaFile
+140-140clang/include/clang/CIR/Dialect/IR/CIROps.td
+43-43clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+8-8clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+4-4clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+3-3clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+198-1985 files

LLVM/project 06c3377clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td

[CIR] Record why the CUDA registration attribute parses itself

hasCustomAssemblyFormat with no explanation invites the question of whether a
declarative assemblyFormat would do. It would not. The three flags print as
presence-only keywords and parse in any order, while an optional group
anchored on a `bool` parameter parses and prints a value, so the group would
spell `extern true`. MLIR has no presence-only flag for `bool` in an
attribute format, unlike UnitAttr in an operation format. struct(params)
round-trips but spells the attribute
`<device_side_name = "i", kind = Variable, isExtern = true>` instead of
`<i, Variable, extern>`.

NFC.
DeltaFile
+5-0clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+5-01 files

LLVM/project 6243b33clang/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

inline_kind was the one CIR enum attribute mnemonic still repeating what its
C++ enum class name says. The attribute now spells
`#cir.inline<always_inline>`. The operation argument keeps the name
inline_kind, since that is the accessor name, so the printed form reads
`inline_kind = #cir.inline<always_inline>`.

The enum's summary also becomes "inline kind" rather than the camelCase
"inlineKind", which is what generated docs show now that CIR_InlineKindAttr
no longer overrides it.

25 CHECK lines change across four test files. Nine are in an
aarch64-registered-target test, unsupported in an X86-only build, but the
substitution matches the two CIR tests that do run.
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
+2-2clang/test/CIR/IR/invalid-call.cir
+28-295 files

LLVM/project 2e1a4f0clang/utils/TableGen CIRLoweringEmitter.cpp

[CIR] Derive lowering attr names from cppClassName, not the def name

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths. GetOpCppClassName
stays for operations.

NFC, and checkable. No CIR attribute overrides cppClassName, so the generated
CIRLowering.inc is byte-identical.
DeltaFile
+16-10clang/utils/TableGen/CIRLoweringEmitter.cpp
+16-101 files

LLVM/project 9532231clang/include/clang/CIR/Dialect/IR CIREnumAttr.td CIROps.td

[CIR] Drop dead ceremony around the CIR enum attributes

Five things that no longer earn their place in the CIR enum attribute
machinery.

CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for nothing.
And its summary and description restated the name, overriding the enum's own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH and
isNormalAndEH helpers stay.

CIR_TLSModelAttr's summary restated its name the same way, so only that goes.
CIR_DefaultValuedEnumParameter has never had a user.

NFC.
DeltaFile
+0-16clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-5clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+0-212 files

LLVM/project dbeff05clang/include/clang/CIR/Dialect/IR CIRTypes.td CIRCUDAAttrs.td, clang/test/CIR/IR invalid-call.cir

[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an `IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes. The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated `operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.

AMDGPU wraps an `I32Enum` in an `EnumAttr` with this same bracketed format.
Parsing moves to the generated `FieldParser`, whose diagnostic names the
accepted spellings, so two `expected-error` lines change. Generated attribute
code drops 16 KB as 28 inlined parsers collapse into it.
DeltaFile
+33-73clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-53clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+13-9clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+2-4clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+1-3clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+1-1clang/test/CIR/IR/invalid-call.cir
+73-1431 files not shown
+74-1447 files

LLVM/project 9516b3eclang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/CodeGenBuiltins builtin-isinf-sign.c builtin-isfpclass.c

[CIR] Migrate the FPClassTest bit enum and unquote its flags

cir.is_fp_class printed its flags inconsistently. Single-bit values came out
bare, as in `fcSNan`, while group values and combinations came out quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards compatibility.

Clearing the bit and using the `enum` directive selects the separator-aware
parser and printer, so every value now spells unquoted:

  cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool

The enum also drops its specialized IntegerAttr for a CIR_EnumAttr wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`. This
changes operation syntax, so it updates 37 CHECK lines.
DeltaFile
+20-20clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
+16-16clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
+18-2clang/test/CIR/IR/enum-attrs.cir
+12-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+1-1clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
+67-415 files

LLVM/project 536a561clang/include/clang/CIR/Dialect/IR CIRAttrs.td CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate GlobalLinkageKind, CallingConv and SideEffect off IntegerAttr

GlobalLinkageKind, CallingConv and SideEffect generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper, and cir.global wraps
$linkage in `enum()`. GlobalLinkageKind spells `#cir.linkage<internal>`,
dropping both the `global_` prefix and the `_kind` suffix.

cir.func and cir.call print all three by hand, but they stream
stringifyGlobalLinkageKind(getLinkage()) and friends, which take the enum
rather than the attribute, so those sites are unchanged.

Operation syntax is unchanged.
DeltaFile
+31-0clang/test/CIR/IR/enum-attrs.cir
+17-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-0clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+52-83 files

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

[CIR] Migrate AssumeBundleKind, AtomicFetchKind and AsmFlavor off IntegerAttr

AssumeBundleKind, AtomicFetchKind and AsmFlavor generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper.

Unlike the other CIR operation enums, these three are reached through
hand-written parsers and printers, so they needed checking individually.
cir.atomic.fetch references $binop declaratively and gains an `enum()`
wrapper. The other two need no change, since printAssumeBundle is already
typed on cir::AssumeBundleKindAttr and InlineAsmOp::print streams the enum
rather than the attribute.

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 8fb3023clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate MemOrder and SyncScopeKind off IntegerAttr

MemOrder and SyncScopeKind, the enums the atomic operations share, generated
IntegerAttr subclasses with no dialect spelling of their own.

Both now set genSpecializedAttr = 0 and gain CIR_EnumAttr wrappers, spelling
`#cir.mem_order<seq_cst>` and `#cir.sync_scope<system>`, and the atomic
operations wrap their arguments in `enum()` to keep the bare keyword.

`enum()` works as an optional-group anchor, so the `syncscope` and `atomic`
groups on cir.load and cir.store are unaffected. Operation syntax is
unchanged.
DeltaFile
+38-30clang/include/clang/CIR/Dialect/IR/CIROps.td
+24-2clang/test/CIR/IR/enum-attrs.cir
+62-322 files