LLVM/project 73d2d31llvm/lib/Target/AArch64 AArch64SchedNeoverseV3AE.td, llvm/test/tools/llvm-mca/AArch64/Neoverse V3AE-basic-instructions.s

[AArch64] Correct FDIV/FSQRT throughput for Neoverse V3ae. (#219113)

This attempts to improve the throughput of fdiv / fsqrt to the correct
throughputs of 1 per cycle. I've moved the SchedWriteRes with multiple
ReleaseAtCycles to the correct section / naming whilst here. Which has
the result of changing the fdiv and fsqrt throughput to 1.
DeltaFile
+19-24llvm/lib/Target/AArch64/AArch64SchedNeoverseV3AE.td
+5-5llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-basic-instructions.s
+24-292 files

FreeBSD/ports 8c330f8www/freenginx-acme Makefile distinfo

www/freenginx-acme: update freenginx distro

Bump PORTREVISION.

Sponsored by:   tipi.work
DeltaFile
+3-3www/freenginx-acme/distinfo
+1-1www/freenginx-acme/Makefile
+4-42 files

LLVM/project 5f410f8llvm/test/Transforms/SimplifyCFG switch-select-remap.ll

[SimplifyCFG] Use UTC for test

This makes it easier to update.

Pre-commiting so that the profcheck follow-up has a nice diff.

Reviewers: nikic, fhahn, dtcxzyw

Pull Request: https://github.com/llvm/llvm-project/pull/220810
DeltaFile
+161-69llvm/test/Transforms/SimplifyCFG/switch-select-remap.ll
+161-691 files

LLVM/project 191b4f5llvm/lib/Target/X86 X86CallFrameOptimization.cpp, llvm/test/CodeGen/X86 callframe-opt-undef-push.mir

X86: Handle undef push operands in call frame optimization (#220368)

Avoid unchecked getVRegDef call, which will fail for undef
operands. The register-push fallback also dropped the undef flag when
rebuilding the store as a PUSH.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude Opus 4.8)
DeltaFile
+39-0llvm/test/CodeGen/X86/callframe-opt-undef-push.mir
+11-7llvm/lib/Target/X86/X86CallFrameOptimization.cpp
+50-72 files

FreeBSD/ports 75bc7c1science/anari Makefile

science/anari: fix "unknown ISA" on 144i386

Reported by:    pkg-fallout
DeltaFile
+8-1science/anari/Makefile
+8-11 files

OPNSense/core f1924c8src/opnsense/scripts/interfaces ppp-ipv6.php

interfaces: ppp-ipv6.php may be executed before later stages of interface_configure() #10828
DeltaFile
+6-1src/opnsense/scripts/interfaces/ppp-ipv6.php
+6-11 files

LLVM/project bf1874elldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint TestWriteMemoryWithHWBreakpoint.py, lldb/test/API/functionalities/breakpoint/write_over_software_breakpoint TestWriteOverSoftwareBreakpoint.py

[lldb] Update decorator in write-over-breakpoint tests (#220919)

sanitized bots don't use the just-built debugserver, so any tests
exercising new debugserver features won't work on them.
DeltaFile
+1-2lldb/test/API/functionalities/breakpoint/write_over_software_breakpoint/TestWriteOverSoftwareBreakpoint.py
+1-2lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/TestWriteMemoryWithHWBreakpoint.py
+2-42 files

FreeBSD/ports 33fb37fsecurity/vuxml/vuln 2026.xml

security/vuxml: Document electron42 multiple vulnerabilities

Obtained from:  https://github.com/electron/electron/releases/tag/v42.11.1
DeltaFile
+44-0security/vuxml/vuln/2026.xml
+44-01 files

LLVM/project d23b9dbmlir/tools/mlir-tblgen RewriterGen.cpp

[mlir][tblgen] Avoid copies when iterating symbols (NFC) (#220910)

Use a const structured binding when looking up locally bound symbols.
The symbol name and SymbolInfo remain owned by localSymbolMap for the
duration of the lookup, so copying both values is unnecessary.

Found by Coverity.

Assisted-by: Codex
DeltaFile
+2-4mlir/tools/mlir-tblgen/RewriterGen.cpp
+2-41 files

LLVM/project 5b9809dclang/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 bb2bb58clang/include/clang/CIR/Dialect/IR CIREnumAttr.td, clang/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.

The def name is now free, so CIREnumAttr.td drops the paragraph warning that
it is not.

NFC, and checkable. No CIR attribute overrides cppClassName, so the generated
CIRLowering.inc is byte-identical.
DeltaFile
+16-10clang/utils/TableGen/CIRLoweringEmitter.cpp
+0-4clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+16-142 files

LLVM/project cb3ca38clang/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
`cir.cleanup.scope` would print `cleanup all`. The cost was that the
attribute had no readable standalone form, falling back to
`#cir<cleanup_kind all>`.

The `enum($attr)` operation directive removes the tradeoff. The attribute
keeps CIR_EnumAttr's bracketed default and now spells `#cir.cleanup<all>`,
while the operations ask for the bare keyword. The mnemonic drops the `_kind`
suffix the C++ class name carries.

Operation syntax is unchanged. invalid-loop-cleanup.cir now gets one
diagnostic from the enum parser instead of two.
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

LLVM/project 711d3ffclang/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 76dd63fclang/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 brackets were the
leftover delimiters of `#cir.tls_model<tls_dyn>` after the printer stripped
the dialect prefix and mnemonic, so one enum had two 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 gets one
diagnostic from the enum parser instead of two.
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 66325f3clang/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 a882cb3clang/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 2049dcdclang/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
+1-1clang/test/CIR/IR/invalid-call.cir
+27-285 files

LLVM/project 2f5e359clang/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 4ed7a7bclang/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

LLVM/project b59785cclang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/lib/CIR/CodeGen CIRGenModule.h CIRGenModule.cpp

[CIR] Delete the unused cir::VisibilityAttr

CIR_VisibilityAttr had no users. `cir.global` and `cir.func` carry visibility
as `EnumProp<CIR_VisibilityKind>`, a property rather than an attribute, so
nothing ever built or printed the attribute.

Its only consumer was CIRGenModule::getGlobalVisibilityAttrFromDecl, itself
never called, and that was the only caller of
getGlobalVisibilityKindFromClangVisibility, so all three go together. The
similar getCIRVisibilityKind does have a caller and stays, as does
CIR_VisibilityKind, which the property is built from.

This also removes one of the two attributes overriding their assembly format
to a bare `$value`.
DeltaFile
+1-28clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+0-26clang/lib/CIR/CodeGen/CIRGenModule.cpp
+0-3clang/lib/CIR/CodeGen/CIRGenModule.h
+1-573 files

LLVM/project fdbf4d9clang/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) `)`. The parentheses defeated the
dialect's `#cir.mnemonic<...>` syntax, so the attribute printed as
`#cir<lang_address_space(offload_global)>`. It now uses the bracketed
CIR_EnumAttr default and spells `#cir.lang_address_space<offload_global>`.

The `lang_address_space(x)` spelling inside `!cir.ptr` and `cir.global` is
unaffected, since that goes through MemorySpaceAttrInterface in CIRTypes.cpp.
The 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 ad4e58aclang/include/clang/CIR/Dialect/IR CIRTypes.td CIRCUDAAttrs.td

[CIR] Hoist genSpecializedAttr into the CIR enum base classes

All 33 CIR enum definitions set `genSpecializedAttr = 0`, and none wanted the
generated IntegerAttr subclass. That made the line pure repetition, and made
"a CIR enum is never backed by IntegerAttr" a convention each new enum had to
remember rather than something the dialect enforces.

Set it once on CIR_I32EnumAttr, CIR_I64EnumAttr and CIR_I32BitEnumAttr,
beside the cppNamespace they already fix, and drop all 33 copies. This is the
same structure SPIRV_I32Enum, Tosa_I32Enum, GPU_I32Enum and OpenMP's enum
base class use.

NFC: no generated attribute, mnemonic or assembly format changes.
DeltaFile
+16-50clang/include/clang/CIR/Dialect/IR/CIROps.td
+9-34clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+7-1clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+1-3clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+0-2clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+33-905 files

LLVM/project 1d80d94clang/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 generated IntegerAttr subclasses. The operations
printed them symbolically, but in an attribute dictionary `cir.cast bitcast`
was stored as `kind = 1 : i32`.

Each enum now sets genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper,
and the operations wrap the argument in `enum()` to keep the bare keyword,
giving spellings like `#cir.cast<bitcast>`. Mnemonics drop the suffix the C++
class name carries. DynamicCastKind spells out `dynamic_cast`, since
`dyn_cast` is taken by the operation and by `#cir.dyn_cast_info`.

CUDADeviceVarKind gets no wrapper, being only a raw parameter of
CIR_CUDAVarRegistrationInfoAttr.

Operation syntax is unchanged, and enum-attrs.cir covers the new spellings.
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 8038da4llvm/lib/Target/AMDGPU SIRegisterInfo.td BUFInstructions.td, llvm/lib/Target/AMDGPU/AsmParser AMDGPUAsmParser.cpp

[AMDGPU] MC support for indexed VBUFFER resources for gfx13 (#218649)
DeltaFile
+163-111llvm/lib/Target/AMDGPU/BUFInstructions.td
+64-0llvm/test/MC/AMDGPU/gfx13_asm_vbuffer_mubuf.s
+32-0llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+29-1llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
+26-0llvm/lib/Target/AMDGPU/SIRegisterInfo.td
+20-0llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
+334-1128 files not shown
+388-11414 files

OpenBSD/ports Ou9aoCesecurity/opm Makefile distinfo

   update to 1.5
VersionDeltaFile
1.6+2-2security/opm/distinfo
1.7+1-1security/opm/Makefile
+3-32 files

LLVM/project be27db8mlir/lib/Conversion/GPUToSPIRV GPUToSPIRV.cpp

[mlir][GPUToSPIRV] Avoid copying the target environment (NFC) (#220909)

Keep a const reference to the target environment returned by the type
converter. The conversion only reads the environment to obtain the
subgroup size, so copying it is unnecessary.

Found by Coverity.

Assisted-by: Codex
DeltaFile
+2-1mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
+2-11 files

LLVM/project 2b2e954mlir/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
+19-25612 files

LLVM/project 9173f84mlir/include/mlir/Dialect/Tosa/Utils ConversionUtils.h

[mlir][Tosa] Avoid copying inferred shape components (NFC) (#220908)

Bind the inferred shape by const reference while it remains owned by the
local result vector. The helper only reads the shape components, so
copying their shape storage is unnecessary.

Found by Coverity.

Assisted-by: Codex
DeltaFile
+1-1mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
+1-11 files

FreeBSD/ports ec0f22bmath/R-cran-mitools Makefile distinfo

math/R-cran-mitools: Update to 2.7
DeltaFile
+3-3math/R-cran-mitools/distinfo
+1-2math/R-cran-mitools/Makefile
+4-52 files

FreeBSD/ports 997de05textproc/R-cran-writexl Makefile distinfo

textproc/R-cran-writexl: Update to 2.0.1
DeltaFile
+3-3textproc/R-cran-writexl/distinfo
+1-1textproc/R-cran-writexl/Makefile
+4-42 files