LLVM/project 89dcbe5llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll amdgcn.bitcast.1024bit.ll

rebase

Created using spr 1.3.8-beta.1-arichardson
DeltaFile
+79,049-77,406llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+24,053-23,916llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+32,849-11,102llvm/test/CodeGen/RISCV/clmul.ll
+20,070-19,319llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+194,032-191,29942,063 files not shown
+3,102,620-1,767,57342,069 files

LLVM/project 93f0351llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll amdgcn.bitcast.1024bit.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1-arichardson

[skip ci]
DeltaFile
+79,049-77,406llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,784-36,416llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+24,053-23,916llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+32,849-11,102llvm/test/CodeGen/RISCV/clmul.ll
+20,070-19,319llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+12,227-23,140llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+194,032-191,29942,062 files not shown
+3,102,545-1,767,54742,068 files

LLVM/project 9a762fcclang/lib/CIR/CodeGen CIRGenBuilder.h CIRGenExprScalar.cpp, clang/test/CIR/CodeGen atomic.c

[CIR] Implement 'simple' atomic inc/dec. (#222730)

This only works for types where a compare-exchange instruction (or just
a lock-free implementation matters) is possible, and a loop isn't
necessary. This is basically just a conversion of classic-codegen,
  except it clarifies some of the logic (particularly around bools).
DeltaFile
+215-0clang/test/CIR/CodeGen/atomic.c
+81-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+2-0clang/lib/CIR/CodeGen/CIRGenBuilder.h
+298-33 files

LLVM/project ecb66efclang/lib/CIR/CodeGen CIRGenClass.cpp CIRGenException.cpp

[CIR][NFCI] Refactor uses of 'mlir::Location' vs 'SourceRange' on calls/etc (#222981)

As a prerequisite to an upcoming patch, emitCall needs access to the
Clang source locations, not just the mlir::Location. We're going to need
this in quite a few more places in the future, since there are various
diagnostics that use clang locations in the code generation.

This patch also has to change the RAII source location stuff, which I
switched to SourceRange. This should improve the amount of data we give
for our source information.

I DID have to remove the assertion on it though, because we do have a
few places that intentionally wanted an invalid location if other stuff
wasn't available (see the CUDA use in particular), but otherwise this
should allow us to improve our source location info, AND use it for
diagnostics in the future.
DeltaFile
+25-22clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+12-11clang/lib/CIR/CodeGen/CIRGenFunction.h
+10-11clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+8-7clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+6-6clang/lib/CIR/CodeGen/CIRGenClass.cpp
+7-5clang/lib/CIR/CodeGen/CIRGenException.cpp
+68-6214 files not shown
+111-11020 files

FreeBSD/src f496cd9share/man/man9 iflibdd.9

iflibdd(9): Clarify resume during suspend rollback

The resume callback also runs when suspend fails, without an intervening
PCI power-state transition or configuration-space restore.  Document
that drivers must not assume either has occurred.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+4-0share/man/man9/iflibdd.9
+4-01 files

LLVM/project c177644llvm/test/CodeGen/AArch64 overflow-vec.ll, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.832bit.ll amdgcn.bitcast.896bit.ll

rebase

Created using spr 1.3.8-beta.1-arichardson
DeltaFile
+57,327-55,762llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+6,634-6,608llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+5,576-5,657llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+4,486-4,550llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+6,589-0llvm/test/CodeGen/AArch64/overflow-vec.ll
+2,884-2,534llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+83,496-75,1114,371 files not shown
+279,147-173,4894,377 files

LLVM/project dbb0e7bllvm/test/CodeGen/AArch64 overflow-vec.ll, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.832bit.ll amdgcn.bitcast.896bit.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.8-beta.1-arichardson

[skip ci]
DeltaFile
+57,327-55,762llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+6,634-6,608llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+5,576-5,657llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+4,486-4,550llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+6,589-0llvm/test/CodeGen/AArch64/overflow-vec.ll
+2,884-2,534llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+83,496-75,1114,371 files not shown
+279,147-173,4894,377 files

FreeBSD/src 45dc4a1sys/dev/ixgbe ixgbe.h if_ix.c

ixgbe: Pause firmware recovery polling in low power

The firmware recovery callout continues polling controller registers
after a power transition.  An inaccessible E610 GL_MNG_FWSM register
reads as all ones in D3, which looks like firmware recovery mode and
queues an iflib reset while the device is suspended.  A later D0 poll
then reports recovery complete and queues another reset.

Pause and drain the callout before terminal stop policy is applied,
prevent an in-flight callback from rearming it, and restart polling
only after resume has cleared the wake state.  Track callout
initialization so partial attach cleanup does not drain an uninitialized
callout.

The false transition was reproduced on a dual-port E610 with direct D3
and system S3.  Validate the guard with wake-disabled and wake-armed D3,
three repeated D3 cycles per port, and an S3 magic-packet wake.  Both
ports returned to D0 without a false recovery transition.


    [2 lines not shown]
DeltaFile
+33-5sys/dev/ixgbe/if_ix.c
+2-0sys/dev/ixgbe/ixgbe.h
+35-52 files

FreeNAS/freenas 9d5bb0csrc/middlewared/middlewared/plugins/vm vm_devices.py, src/middlewared/middlewared/pytest/unit/plugins/vm test_convert_validation.py

NAS-143506 / 26.0.0 / Refuse to export VM disks without 512 byte sectors to VHDX, VDI or VMDK (by yocalebo) (#19694)

qemu-img can only write 512 byte sectors for these formats. If the VM
disk was set up with a different sector size the guest laid out its
partitions that way, so the exported image looks empty to any hypervisor
and will not boot. Raise a validation error and point the user at RAW or
QCOW2, which do not record a sector size.

Original PR: https://github.com/truenas/middleware/pull/19692

Co-authored-by: Caleb St. John <30729806+yocalebo at users.noreply.github.com>
DeltaFile
+32-5src/middlewared/middlewared/pytest/unit/plugins/vm/test_convert_validation.py
+12-2src/middlewared/middlewared/plugins/vm/vm_devices.py
+44-72 files

Linux/linux 827751bDocumentation/arch/riscv hwprobe.rst, Documentation/devicetree/bindings/riscv cpus.yaml

Merge tag 'riscv-for-linus-7.3-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Paul Walmsley:
 "From a RISC-V point of view, there's one notable fix here, reverting
  an earlier bogus fix to the pointer masking code. Fortunately the
  practical impact appears to be small.

   - Revert a bad fix, likely LLM-generated, in the pointer masking code
     that confused the RISC-V hardware pointer masking implementation
     with the Linux kernel tagged address feature

   - Fix unexpected faults caused by kprobe instruction slot writes when
     !CONFIG_STRICT_MODULE_RWX

   - Fix unexpected faults on minimal configurations during runtime code
     patching on !CONFIG_STRICT_MODULE_RWX systems

   - Fix a misplaced variable clear causing incorrect reuse of previous
     values in the RISC-V hardware feature probing code

    [45 lines not shown]
DeltaFile
+68-30drivers/perf/riscv_pmu_sbi.c
+33-11Documentation/translations/zh_CN/arch/riscv/patch-acceptance.rst
+18-2arch/riscv/kernel/cpufeature.c
+19-1tools/testing/selftests/riscv/hwprobe/hwprobe.c
+4-4Documentation/devicetree/bindings/riscv/cpus.yaml
+5-3Documentation/arch/riscv/hwprobe.rst
+147-5112 files not shown
+169-7418 files

LLVM/project e41147dllvm/lib/Target/RISCV RISCVInstrInfoXVentana.td, llvm/test/CodeGen/RISCV select-binop-identity.ll condbinops.ll

[RISCV] Remove Ventana Conditional Ops (#221042)

This extension is used by any silicon as far as I am aware.

If any person/company was reliant on this extension, the extension
can be added back in under the same/different name.

AI Usage: Assisted by Codex
DeltaFile
+0-1,202llvm/test/CodeGen/RISCV/condops.ll
+0-455llvm/test/CodeGen/RISCV/zicond-opts.ll
+0-407llvm/test/CodeGen/RISCV/select.ll
+0-115llvm/test/CodeGen/RISCV/condbinops.ll
+0-96llvm/test/CodeGen/RISCV/select-binop-identity.ll
+0-32llvm/lib/Target/RISCV/RISCVInstrInfoXVentana.td
+0-2,30717 files not shown
+14-2,38123 files

FreeBSD/src 62dd064share/man/man9 iflibdd.9, sys/net iflib.c

iflib: Reject media changes during suspend

iflib gates its built-in administrative and media-status callbacks once
a power transition starts, but iflib_media_change() could still invoke a
driver while the device was suspending or suspended.  Several drivers
perform PHY or firmware I/O directly from this callback.

Return EBUSY before invoking IFDI_MEDIA_CHANGE() unless the device is
active.  ifmedia then restores the prior selection, avoiding both
suspended hardware access and an unvalidated configuration that would
need to be replayed during resume.

Validated with device suspend on 82579LM, I210, and I225-IT
controllers.  Media-selection requests returned EBUSY on every
suspended device.  Resume restored the linked management interfaces at
1 Gbps with working traffic and no watchdogs; unconfigured interfaces
retained their prior admin and link state.

Reviewed by:    iflib (gallatin)

    [3 lines not shown]
DeltaFile
+4-0sys/net/iflib.c
+3-0share/man/man9/iflibdd.9
+7-02 files

LLVM/project 9a9ed33llvm/test/tools/dsymutil/Inputs/member-hash 2.o debug-map.map, llvm/test/tools/dsymutil/X86 member-hash.cpp

[dsymutil] Test qualified name hashing for members (#223017)

hashFullyQualifiedName walks DW_AT_specification to reach a member's
enclosing struct, so the accelerator table entry for a type nested in an
out-of-line member function definition depends on that walk. Pin the
resulting hash.

The test has lived downstream since the fix that made the function take
its DWARFDie by value instead of by pointer, where the pointee went out
of scope during the walk. Give it a debug map of its own describing
member-hash/2.o rather than extending the shared dummy-debug-map.map,
which describes a different set of objects.

rdar://184990209
DeltaFile
+40-0llvm/test/tools/dsymutil/X86/member-hash.cpp
+8-0llvm/test/tools/dsymutil/Inputs/member-hash/debug-map.map
+0-0llvm/test/tools/dsymutil/Inputs/member-hash/2.o
+48-03 files

LLVM/project 02780b2mlir/include/mlir/Conversion Passes.td, mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h

[mlir][AMDGPU] Keep `chipset` as a deprecated alias for `arch`

Renaming the option meant every existing invocation of these passes had
to be updated in lockstep. Accept the old spelling instead: `chipset` on
`convert-amdgpu-to-rocdl`, `convert-gpu-to-rocdl`, `convert-arith-to-amdgpu`,
`convert-math-to-rocdl` and `amdgpu-emulate-atomics`, and `chip` on
`gpu-lower-to-rocdl-pipeline`, which is what each of them was called
before the rename.

`arch` wins whenever it names a target; the alias is consulted only when
`arch` is still at the sentinel that means "no target given", so with
neither given the error still names the unusable default rather than an
empty string, and a stale alias value is reported as itself.
DeltaFile
+27-0mlir/test/Conversion/ArithToAMDGPU/deprecated-chipset-alias.mlir
+22-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+6-3mlir/lib/Dialect/GPU/Pipelines/GPUToROCDLPipeline.cpp
+8-0mlir/include/mlir/Conversion/Passes.td
+7-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+6-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+76-39 files not shown
+96-1115 files

LLVM/project 3874f92flang/test/Lower/OpenMP target_cpu_features.f90

Update features test for flang
DeltaFile
+1-1flang/test/Lower/OpenMP/target_cpu_features.f90
+1-11 files

LLVM/project 85cc794mlir/docs ReleaseNotes.md, mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h

[mlir][ROCDL] Carry `arch`'s xnack/sramecc onto the module

`rocdl-attach-target` rejected a target ID that pinned xnack or sramecc,
because `#rocdl.target` feeds a TargetMachine and the backend no longer
accepts those two as subtarget features. Now that the module attributes
exist, migrate them instead of refusing: `TargetInfo` gains
`migrateArchFeaturesToModuleFlags`, which records the settings the target
ID pinned as `rocdl.xnack` / `rocdl.sramecc` on a module, and
`rocdl-attach-target` calls it on each module it attaches to.

A setting the target ID leaves open, or that the GPU does not support, is
left alone rather than written as false: an absent flag means "either",
so writing false would be a different request. That also means an
attribute already on the module survives an `arch` that says nothing
about the feature, while an `arch` that does pin it wins as the more
specific request.
DeltaFile
+55-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+6-27mlir/lib/Dialect/GPU/Transforms/ROCDLAttachTarget.cpp
+17-10mlir/test/Dialect/LLVMIR/rocdl-attach-target-arch.mlir
+22-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+13-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+8-1mlir/docs/ReleaseNotes.md
+121-381 files not shown
+123-397 files

LLVM/project 7fe87acmlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h, mlir/lib/Dialect/GPU/Pipelines GPUToROCDLPipeline.cpp

[mlir][AMDGPU] Take an `arch` target ID instead of triple/chip/features

`features` was a general `-mattr` string, which needed a general feature
parser and let callers ask for arbitrary combinations we have no interest
in supporting. In practice the only things anyone sets are the wavefront
size and the xnack/sramecc settings that come off a device query.

Replace `triple`, `chip` and `features` with a single `arch` option that
names the target the way Clang does, parsed by `llvm::AMDGPU::TargetID`
rather than by hand. It accepts

  - a processor, with optional target-ID modifiers: `gfx942`,
    `gfx942:xnack+`, `gfx9-4-generic`;
  - a triple: `amdgpu9.42-amd-amdhsa`;
  - a full target ID: `amdcgn-amd-amdhsa--gfx90a:sramecc+:xnack-`, which
    is what `rocminfo` prints for a device's ISA, so that output can be
    pasted straight in.

Since `chipset=gfx942` becomes `arch=gfx942`, migration is a rename.

    [22 lines not shown]
DeltaFile
+103-68mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+107-38mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+108-4mlir/lib/Dialect/GPU/Transforms/ROCDLAttachTarget.cpp
+98-0mlir/test/Dialect/LLVMIR/rocdl-attach-target-arch.mlir
+62-7mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+5-32mlir/lib/Dialect/GPU/Pipelines/GPUToROCDLPipeline.cpp
+483-14993 files not shown
+719-39799 files

LLVM/project d117423mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[mlir] Migrate AMDGPU/ROCDL to targets, not chipset versions

**migration tl;dr:** `chipset=` becomes `triple=`, migrate off of
`amdgpu::Chipset` to `ROCDL::TargetInfo`, and eventually change
`gfxXYZ` to `amdgpuX.YZ-amd-amdhsa` in that `triple` argument.

`amdgpu::Chipset` was an awkward hack that was hard to keep up to date
with changes in the compiler/new architectures, and didn't properly
support generic targets (and has been strongly disfavored by the
compiler team).

This PR replaces `amdgpu::Chipset` with `ROCDL::TargetInfo`, a
structure that uses LLVM's TargetParser and the underlying LLVM
features tables to get the real nature of the target being compiled
for.

This also helps MLIR move to
new-style (`-mtriple=amdgpuX.YZ-amd-amdhsa`) over "old
style" (`-mtriple=amdgcn-amd-amdhsa -mcpu=gfxXYZ`) triples.

    [40 lines not shown]
DeltaFile
+314-323mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+246-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+178-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+119-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+45-40mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
+49-24mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+951-387103 files not shown
+1,505-711109 files

LLVM/project ccc6223mlir/test/Conversion/AMDGPUToROCDL permlane.mlir mfma-gfx950.mlir, mlir/test/Dialect/AMDGPU amdgpu-emulate-atomics.mlir

[mlir][AMDGPU][NFC] Pre-commit tests for incorrect version checks

There'll be a refactoring from `amdgpu::Chipset` to
`ROCDL::TargetInfo`, thus also moving from chip version checks to
features checks. This commit adds tests for incorrect lowerings that
were allowed by the current code.

- gfx90c is >= gfx90a but stil needs atomic emulation (it doesn't
  have buffer fmax and so on).
- gfx90c is also >= gfx90a but has no barrier back-off, so it needs
  the inline asm workaround around `s_barrier` that it isn't getting
- gfx908 doesn't have a packed fp16 atomic add but we thought it did
- gfx950 is mistakenly allowing xf32 MFMAs
- gfx1200 is allowing permlane_swap instructions that it doesn't have
- gfx11.7 should be allowing OCP FP8 conversions but isn't on the list

This also cleans up some redundant tests with a --check-prefixes

AI disclosure: Claude found these and wrote the tests.

    [2 lines not shown]
DeltaFile
+36-33mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+28-0mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp-gfx1170.mlir
+15-0mlir/test/Conversion/AMDGPUToROCDL/lds-barrier-gfx90c.mlir
+14-0mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
+4-0mlir/test/Conversion/AMDGPUToROCDL/permlane.mlir
+97-335 files

LLVM/project d617a60mlir/lib/Dialect/LLVMIR/IR ROCDLDialect.cpp, mlir/test/Dialect/LLVMIR rocdl.mlir

Fix names up a bit
DeltaFile
+4-4mlir/test/Dialect/LLVMIR/rocdl.mlir
+3-4mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
+7-82 files

LLVM/project 96aec20mlir/include/mlir/Dialect/LLVMIR ROCDLDialect.td, mlir/lib/Dialect/LLVMIR/IR ROCDLDialect.cpp

[mlir][ROCDL] Add `rocdl.xnack` and `rocdl.sramecc` module attributes

Since 27eeb7370281, the AMDGPU backend takes the xnack
and sramecc target-ID settings from the `amdgpu.xnack` and
`amdgpu.sramecc` module flags instead subtarget features, making the
old usage a hard error.

This commit adds `rocdl.xnack` and `rocdl.sramecc` module attributes
to the discardable attribute list the ROCDL dialect defines in order
to represent these flags and adds translations for them.

Omitting them means to leave these modifiers at
their default "either" state, which isn't the same as setting them to
false.

AI disclosure: Claude wrote this code and I reviewed it and tried to
reword the comments to something better.
DeltaFile
+38-0mlir/test/Dialect/LLVMIR/rocdl.mlir
+29-0mlir/test/Target/LLVMIR/rocdl-module-flags.mlir
+18-0mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
+13-0mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
+10-0mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
+108-05 files

LLVM/project 2eb8c73llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPU.td

[AMDGPU] Expose buffer resource num_records width in TargetParser (#220103)

This also fixes the conflict in gfx12.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+38-0llvm/unittests/TargetParser/TargetParserTest.cpp
+13-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+3-3llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
+6-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+2-1llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPU.td
+63-56 files

LLVM/project 64b7dfellvm/include/llvm/IR PassManager.h PassManagerImpl.h, llvm/lib/Transforms/Scalar InferAlignment.cpp

[PassManager] Store analysis results in contiguous storage (#222003)

Store per-IR analysis results in a `SmallVector` instead of `std::list`
to avoid a heap allocation per cached analysis. The lookup map stores
the raw result pointer, which stays stable behind the unique_ptr.

geomean -0.12% for optimizing builds, clang build -0.34%

https://llvm-compile-time-tracker.com/compare.php?from=e6734a41bb41d91cb880fe7abce46d8146182518&to=4fc43802817cf8daddbebadb0b7fbfaa6286e7fe&stat=instructions:u
DeltaFile
+21-11llvm/include/llvm/IR/PassManagerImpl.h
+17-14llvm/include/llvm/IR/PassManager.h
+1-0polly/include/polly/ScopInfo.h
+1-0llvm/tools/llubi/lib/Interpreter.cpp
+1-0llvm/lib/Transforms/Scalar/InferAlignment.cpp
+41-255 files

LLVM/project 181d1a6llvm/lib/Frontend/OpenMP OMPDescriptors.inc, llvm/test/Analysis/CostModel/X86 shuffle-extract_subvector.ll

Merge branch 'main' into users/adams381/cir-callconv-argmem-memory-effects
DeltaFile
+2,066-2,066llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
+840-839llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+1,173-489llvm/test/CodeGen/AArch64/sve-bf16-combines.ll
+1,482-0llvm/test/CodeGen/LoongArch/memory-barrier-opt.ll
+121-1,318llvm/test/Transforms/Attributor/nofpclass.ll
+1,156-0llvm/test/Transforms/Attributor/nofpclass-fadd-fsub.ll
+6,838-4,7121,199 files not shown
+47,695-20,3191,205 files

LLVM/project 9d17025clang/test/CIR/Transforms/abi-lowering indirect-non-byval-nyi.cir, llvm/test/Analysis/CostModel/X86 rem.ll masked-divrem.ll

Merge branch 'main' into users/adams381/cir-callconv-dropped-return-res-attrs
DeltaFile
+48-556llvm/test/Transforms/LoopVectorize/X86/cost-conditional-branches.ll
+569-0llvm/test/Analysis/CostModel/X86/masked-divrem.ll
+361-205llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
+547-0clang/test/CIR/Transforms/abi-lowering/indirect-non-byval-nyi.cir
+394-104llvm/test/Analysis/CostModel/X86/rem.ll
+483-0llvm/test/Transforms/AggressiveInstCombine/RISCV/or-load.ll
+2,402-865186 files not shown
+9,449-3,764192 files

LLVM/project 73abf95lldb/bindings/python get-python-config.py

[lldb] Use lowercase for path "lib\site-packages" on Windows. (#222816)

Using an uppercase "L" doesn't have any visible effect for most uses.
But if you create a zip file with `set(cpack_generator ZIP)`, you get a
zip file which contains both "lib/" and "Lib/". That produces odd
results if you extract it on Linux.
DeltaFile
+7-2lldb/bindings/python/get-python-config.py
+7-21 files

FreeBSD/src 2b2cc52share/man/man9 iflibdd.9, sys/dev/ice if_ice_iflib.c

iflib: Own queue quiescence during power transitions

Perform a terminal datapath stop before suspend and shutdown
callbacks, then drain the private configuration taskqueue before
entering low power.  Track power state independently of queue
ownership and prevent built-in admin, IOV, LED, and media-status
callbacks from accessing a suspended device.

Restore driver-specific state while the datapath remains stopped.
Initialize it exactly once on resume when the interface is
administratively up, and keep an administratively-down interface
stopped.  Roll back the driver when suspend or child suspension fails.

Add ifdi_power_prepare() for policy which must be established before
the terminal stop.  Use it to snapshot ixgbe(4) wake policy and preserve
X550EM PHY ordering, and remove the duplicate stop from aq(4).

Reviewed by:    iflib (gallatin)
MFC after:      2 weeks

    [2 lines not shown]
DeltaFile
+148-12sys/net/iflib.c
+39-3share/man/man9/iflibdd.9
+23-18sys/dev/ixgbe/if_ix.c
+17-0sys/net/ifdi_if.m
+7-0sys/net/iflib.h
+2-2sys/dev/ice/if_ice_iflib.c
+236-352 files not shown
+238-388 files

FreeBSD/ports 8f48a1cMk bsd.sites.mk, Mk/Uses cargo.mk

bsd.sites.mk: use static CDN to download rust crates

static.crates.io is the recommended upstream download
path. This avoids "403 Forbidden" rate limiting results
when trying to download crates too fast. This also
seems to improve download speeds/latency.

As per https://crates.io/data-access#crate-content,

> Crates can be downloaded directly from the crates.io CDN
> [...]
> No rate limits apply to static.crates.io at present.

And as per https://crates.io/data-access#api,

> you are welcome to use the crates.io API provided you abide by the following limits:
> * A maximum of 1 request per second, and
> * A user-agent header that identifies your application.


    [5 lines not shown]
DeltaFile
+1-1Mk/bsd.sites.mk
+1-1Mk/Uses/cargo.mk
+2-22 files

LLVM/project e0d4831clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/Transforms/abi-lowering x86_64-aggregate-nyi.cir

[CIR] Remove the NYI test case for a pointer-element vector (#223019)

#222736 removed CIR_AnyPtrType from VectorElementType, so `!cir.vector<2
x !cir.ptr<!s32i>>` no longer verifies. That stops
x86_64-aggregate-nyi.cir parsing at all, so the whole test fails rather
than just that case.

The case only pinned that the x86_64 bridge refuses the shape. No C or
C++ source produces it, since clang rejects a pointer element with
"invalid vector element type", so the verifier is the earlier and better
place for that rejection. The comment in isSupportedType justifying the
bridge-side exclusion is also removed.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+0-9clang/test/CIR/Transforms/abi-lowering/x86_64-aggregate-nyi.cir
+1-2clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+1-112 files

LLVM/project c61ea75clang/include/clang/Sema AnalysisBasedWarnings.h, clang/lib/Sema AnalysisBasedWarnings.cpp

Cache analysis-warning gates by diagnostic state

Avoid resolving the same disabled warning groups for every function.
Reuse one cached policy for the lifetime, uninitialized-use,
fallthrough, recursion, noexcept, and logical-error analysis gates.

CTMark O0 (3 samples, CPU 6): 29.439800 s -> 29.457833 s (+0.061%).

Impact on significant TUs in MLIR build time:
- `mlir/lib/RegisterAllDialects.cpp`: 1.5439% fewer retired
  instructions.
- `mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp`: 0.7746% fewer retired
  instructions.

Assisted-by: Codex
DeltaFile
+51-16clang/lib/Sema/AnalysisBasedWarnings.cpp
+36-0clang/include/clang/Sema/AnalysisBasedWarnings.h
+87-162 files