LLVM/project 8f0815bmlir/include/mlir/Analysis FlatLinearValueConstraints.h, mlir/include/mlir/Dialect/Affine/Analysis AffineStructures.h

[MLIR] Allow recovering from semi-affine sets in FlatLinearValueConstraints

The IntegerSet constructor of FlatLinearValueConstraints asserts when
flattening fails, which happens for semi-affine integer sets. Since the
failure is signalled from inside a constructor, callers have no way to
detect the unsupported case ahead of time and no way to work around it;
they simply crash.

Make that constructor protected and expose the construction through
`FlatLinearValueConstraints::create` (and the corresponding
`FlatAffineValueConstraints::create`), which returns a `FailureOr` and
so lets callers handle a semi-affine set gracefully.

Existing in-tree users are updated: `addAffineIfOpDomain` keeps asserting
as before, and `simplifyIntegerSet` now returns the set unchanged instead
of asserting, since a semi-affine set simply cannot be simplified this way.
DeltaFile
+17-3mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
+15-2mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+8-4mlir/lib/Dialect/Affine/Analysis/Utils.cpp
+10-2mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
+5-1mlir/unittests/Analysis/Presburger/Parser.h
+5-0mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
+60-126 files

LLVM/project 05eba61llvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp

[VPlan] Add vputils::getEarlyExits helper (NFC) (#212348)

Both handleUncountableEarlyExits and the countable early-exit disconnect
in handleEarlyExits walk all exit blocks and skip predecessors coming
from the middle block to find the early exiting blocks.

Factor that walk out into vputils::getEarlyExits, returning the (early
exiting block, exit block) pairs.
DeltaFile
+28-32llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-12llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+10-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+5-0llvm/lib/Transforms/Vectorize/VPlanUtils.h
+49-444 files

LLVM/project 0fa9cfallvm/docs CIBestPractices.rst Reference.md

[CI] Add documentation for self-hosted runners (#211622)

This patch adds (work in progress) documentation for the various
self-hosted runner groups we have access to in the LLVM monorepo.
DeltaFile
+105-0llvm/docs/GitHubActionsRunners.rst
+5-0llvm/docs/Reference.md
+3-0llvm/docs/CIBestPractices.rst
+113-03 files

LLVM/project d8d33abmlir/include/mlir/Analysis FlatLinearValueConstraints.h, mlir/include/mlir/Dialect/Affine/Analysis AffineStructures.h

[MLIR] Allow recovering from semi-affine sets in FlatLinearValueConst… (#212346)

…raints

The IntegerSet constructor of FlatLinearValueConstraints asserts when
flattening fails, which happens for semi-affine integer sets. Since the
failure is signalled from inside a constructor, callers have no way to
detect the unsupported case ahead of time and no way to work around it;
they simply crash.

Add an optional `bool *error` parameter to the constructor. When it is
non-null, hitting the unimplemented case sets `*error` to true and
returns instead of asserting, letting callers bail out gracefully.
`*error` is set to false on success. When the pointer is null the
previous assert behavior is retained, so existing callers are
unaffected.
DeltaFile
+17-3mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
+15-2mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+8-4mlir/lib/Dialect/Affine/Analysis/Utils.cpp
+10-2mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
+4-1mlir/unittests/Analysis/Presburger/Parser.h
+5-0mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
+59-126 files

LLVM/project 1acf5ddclang/lib/Basic/Targets AMDGPU.cpp, llvm/include/llvm/TargetParser AMDGPUTargetParser.h

AMDGPU: Handle more TargetParser queries in tablegen

Previously we had various enum switches. Start generated tables
indexed by enums. Avoid some special cases by defining the dummy
"generic" and "generic-hsa" targets as real processors.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+62-82llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+87-30llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+7-4llvm/lib/Target/AMDGPU/GCNProcessors.td
+2-5clang/lib/Basic/Targets/AMDGPU.cpp
+2-4llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+4-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+164-1253 files not shown
+168-1269 files

LLVM/project f879bdfllvm/include/llvm/TargetParser AMDGPUTargetParser.def, llvm/lib/Target/AMDGPU AMDGPUTargetParser.td GCNProcessors.td

AMDGPU: Generate TargetParser table from TableGen

Migrate .def file to tablegen. The initial TargetParser
AMDGPU backend only handled R600. Extend to modern targets.
Stub out some tablegen definitions which will be used in future
changes.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+255-191llvm/lib/Target/AMDGPU/GCNProcessors.td
+0-155llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
+117-7llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+22-22llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+28-2llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+16-0llvm/test/TableGen/AMDGPUTargetDefErrors.td
+438-3775 files not shown
+456-38411 files

OpenZFS/src 466d90ecmd/zed zed_disk_event.c, cmd/zed/agents zfs_mod.c

zed: let autoexpand see capacity changes on partitioned disks

Growing a disk under a whole-disk vdev never triggers autoexpand
(#12505).  The kernel reports a capacity change on the disk itself
and nothing for the partitions, whose sizes did not change.  But
since zfs owns the whole disk it carries a partition table, and
zed_udev_monitor() drops any disk-with-partitions event on the
assumption that a partition event will follow.  For a resize none
ever does, so the ESC_DEV_DLE event that zfsdle_vdev_online() needs
is never generated and the pool stays at the old size until someone
runs zpool online -e by hand.  This is the common case for cloud
disks grown online.

Pass change events through when udev marks them RESIZE=1.  On the
matching side a disk-level event has no vdev guid to search by (the
label lives on the partition), and udev provides no ID_PATH on some
buses, so the physical path lookup can also come up empty.  When
that happens, read the ZFS label off the whole-disk partition and
match by the pool and vdev guids stored in it.  Unlike matching the

    [33 lines not shown]
DeltaFile
+103-0tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_006_pos.ksh
+57-2cmd/zed/agents/zfs_mod.c
+16-0cmd/zed/zed_disk_event.c
+2-1tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+179-35 files

LLVM/project 6be5be5flang/include/flang/Semantics openmp-utils.h, flang/lib/Lower/OpenMP OpenMP.cpp

Apply metadirective loop checks after variant selection

Determine reachable replacements before preparing the associated loop. Apply
loop-only limitations only when a loop replacement can actually be selected.

Keep candidate-wide loop preparation for runtime cascades, where multiple
replacement arms remain reachable.
DeltaFile
+47-226flang/lib/Lower/OpenMP/OpenMP.cpp
+250-8flang/lib/Semantics/openmp-utils.cpp
+50-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+45-3flang/lib/Semantics/check-omp-variant.cpp
+48-0flang/test/Lower/OpenMP/metadirective-loop.f90
+46-0flang/include/flang/Semantics/openmp-utils.h
+486-2372 files not shown
+491-2378 files

LLVM/project 0508f49flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-structure.h check-omp-variant.cpp

Check metadirective loop iteration variables

Apply the ordinary affected-loop iteration-variable restrictions to
statically applicable metadirective replacements. Diagnose noninteger and
THREADPRIVATE iteration variables and invalid explicit data-sharing clauses,
including collapsed nests.
DeltaFile
+74-47flang/lib/Semantics/check-omp-loop.cpp
+63-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+18-5flang/lib/Semantics/openmp-utils.cpp
+15-1flang/lib/Semantics/check-omp-variant.cpp
+7-0flang/lib/Semantics/check-omp-structure.h
+7-0flang/include/flang/Semantics/openmp-utils.h
+184-536 files

LLVM/project eb129b0flang/lib/Semantics check-omp-structure.cpp, flang/test/Semantics/OpenMP metadirective-loop-nest.f90

Reject interrupted metadirective loop associations

Treat an intervening OpenMP declarative directive as the end of a pending
loop association, matching ordinary loop-directive handling. Preserve
pending variants from enclosing scopes.
DeltaFile
+12-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+10-0flang/lib/Semantics/check-omp-structure.cpp
+22-02 files

LLVM/project 2feba9bmlir/include/mlir/Analysis FlatLinearValueConstraints.h, mlir/include/mlir/Dialect/Affine/Analysis AffineStructures.h

[MLIR] Allow recovering from semi-affine sets in FlatLinearValueConstraints

The IntegerSet constructor of FlatLinearValueConstraints asserts when
flattening fails, which happens for semi-affine integer sets. Since the
failure is signalled from inside a constructor, callers have no way to
detect the unsupported case ahead of time and no way to work around it;
they simply crash.

Make that constructor protected and expose the construction through
`FlatLinearValueConstraints::create` (and the corresponding
`FlatAffineValueConstraints::create`), which returns a `FailureOr` and
so lets callers handle a semi-affine set gracefully.

Existing in-tree users are updated: `addAffineIfOpDomain` keeps asserting
as before, and `simplifyIntegerSet` now returns the set unchanged instead
of asserting, since a semi-affine set simply cannot be simplified this way.
DeltaFile
+17-3mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
+15-2mlir/lib/Analysis/FlatLinearValueConstraints.cpp
+8-4mlir/lib/Dialect/Affine/Analysis/Utils.cpp
+10-2mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
+4-1mlir/unittests/Analysis/Presburger/Parser.h
+5-0mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
+59-126 files

LLVM/project 06f044fllvm/lib/Target/AMDGPU AMDGPUTargetParser.td R600Processors.td, llvm/lib/TargetParser AMDGPUTargetParser.cpp

AMDGPU: Add -gen-amdgpu-target-def TableGen backend

Currently subtarget information is duplicated between a def file and
the backend. There are also increasingly unwieldy mapping tables
for subarches. Work towards unifying these, starting with r600. This
mirrors aarch64 and riscv's existing custom targetparser backends (i.e.,
the prompt was copy what riscv does).

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+134-0llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+64-0llvm/unittests/TargetParser/TargetParserTest.cpp
+40-21llvm/lib/Target/AMDGPU/R600Processors.td
+42-0llvm/test/TableGen/AMDGPUTargetDefErrors.td
+31-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+4-4llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+315-253 files not shown
+321-259 files

NetBSD/pkgsrc JdBMmLFdoc CHANGES-2026

   doc: Updated x11/slock to 1.7
VersionDeltaFile
1.4805+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc y4LI22bx11/slock Makefile distinfo

   slock: Update to 1.7

   Changes:
   1.7
   - Avoid ctype(3) abuses that could leads to break the screen locking at
     least on NetBSD
   - Support ^U for clearing password
VersionDeltaFile
1.11+4-4x11/slock/distinfo
1.15+2-2x11/slock/Makefile
+6-62 files

LLVM/project 61225dfllvm/include/llvm/IR RuntimeLibcalls.h RuntimeLibcallsImpl.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Migrate to dag libcall predicates (#210674)

Switch to using dag predicates instead of free-form code predicates.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+239-112llvm/include/llvm/IR/RuntimeLibcalls.td
+21-10llvm/test/TableGen/RuntimeLibcallEmitter.td
+9-20llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+0-26llvm/include/llvm/IR/RuntimeLibcalls.h
+0-17llvm/lib/IR/RuntimeLibcalls.cpp
+11-6llvm/test/TableGen/RuntimeLibcallEmitter-calling-conv.td
+280-1917 files not shown
+315-21513 files

OpenZFS/src a8458efmodule/zfs zio.c, tests/zfs-tests/tests/functional/dedup dedup_prune_leak.ksh

zio: don't strip gang stages from the DDT free pipeline

zio_create() adds ZIO_GANG_STAGES to the pipeline of a logical free
of a gang BP, but zio_free_bp_init() replaced the whole pipeline
with ZIO_DDT_FREE_PIPELINE for dedup BPs, discarding those stages.
When zio_ddt_free() takes the pruned-entry fallback (the entry was
legitimately removed by zpool ddtprune, or missing for any other
reason), the plain free that follows only frees the gang header
extents (metaslab_free_dva() frees vdev_gang_header_asize() for a
gang DVA) and every gang member leaks permanently.

OR the full ZIO_DDT_FREE_PIPELINE into the existing pipeline instead
of replacing it. zio_free_sync() is the only creator of these zios,
and for a dedup BP it already builds them with ZIO_FREE_PIPELINE and
ZIO_STAGE_ISSUE_ASYNC, so today this only adds ZIO_STAGE_DDT_FREE --
but ORing the whole declaration keeps this site correct if the DDT
free pipeline ever grows a stage. Adding rather than replacing also
keeps any stage zio_create() adds for this BP, so a future
conditional stage cannot be silently dropped here again.

    [18 lines not shown]
DeltaFile
+57-2tests/zfs-tests/tests/functional/dedup/dedup_prune_leak.ksh
+8-2module/zfs/zio.c
+65-42 files

OpenZFS/src e7f2c9finclude/sys ddt.h, module/zfs zio.c ddt.c

ddt: select traditional phys by block identity, not BP DVA count

The write path stores a traditional DDT entry in the phys slot chosen
by the zp_copies value the block was written with, but the free-path
lookup validation (ddt_entry_lookup_is_valid()) selected the slot to
compare by the BP's physical DVA count, and ddt_addref() bumped the
refcount of that same wrongly-selected slot.

The two indexes diverge whenever a deduplicated block's BP carries
more DVAs than its copies value, which is exactly what ganging does:
a gang header is stored in more copies than the data it gangs, so
copies=1 blocks get a two-DVA gang header BP (unconditionally
through 2.3.3, and under the default redundant_metadata=all since
a46ce73ca8 made it configurable in 2.3.4 and 9250403ba6 in 2.4.0),
and from 2.3.4 that default also gives unencrypted copies=2 blocks a
three-DVA header BP. Encryption does not avoid the mismatch at
copies=1: the header BP still carries two counted DVAs (the salt/IV
DVA is separate). For such a block the validation checked
the wrong slot, concluded the entry had been pruned, and

    [50 lines not shown]
DeltaFile
+177-0tests/zfs-tests/tests/functional/dedup/dedup_legacy_gang.ksh
+30-35module/zfs/ddt.c
+21-7module/zfs/zio.c
+6-3include/sys/ddt.h
+4-0tests/runfiles/linux.run
+1-0tests/zfs-tests/tests/Makefile.am
+239-456 files

LLVM/project c650bd3flang/test/Lower/OpenMP metadirective-implementation.f90

Strengthen metadirective clause-selection tests

Verify that unselected ASSUME clauses do not produce llvm.intr.assume.
DeltaFile
+6-0flang/test/Lower/OpenMP/metadirective-implementation.f90
+6-01 files

LLVM/project bbb644fflang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP/Todo metadirective-loop-eager-privatization.f90

Diagnose eager privatization for metadirective loops

Metadirective loop IVs do not have the construct-scoped host
association required by eager privatization. Emit a focused TODO instead of
reaching an assertion or null dereference.
DeltaFile
+18-0flang/test/Lower/OpenMP/Todo/metadirective-loop-eager-privatization.f90
+6-0flang/lib/Lower/OpenMP/OpenMP.cpp
+24-02 files

LLVM/project 2112d7bflang/lib/Lower/OpenMP DataSharingProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP metadirective-implementation.f90 metadirective-loop.f90

[flang][OpenMP] Lower DO and SIMD variants in metadirectives

Lower DO, SIMD, and DO SIMD replacement directives selected by a
metadirective. Support standalone and begin/end forms with static or runtime
selection.

A standalone metadirective and its associated loop are represented as sibling
PFT evaluations. For example:

```fortran
!$omp metadirective &
!$omp& when(user={condition(flag)}: do) &
!$omp& otherwise(nothing)
do i = 1, n
  a(i) = i
end do
```

has the following evaluation shape:

    [54 lines not shown]
DeltaFile
+432-6flang/lib/Lower/OpenMP/OpenMP.cpp
+416-0flang/test/Lower/OpenMP/metadirective-loop.f90
+69-8flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
+74-0flang/test/Lower/OpenMP/Todo/metadirective-loop-unstructured.f90
+59-0flang/test/Lower/OpenMP/Todo/metadirective-loop-enclosing-data-environment.f90
+46-1flang/test/Lower/OpenMP/metadirective-implementation.f90
+1,096-1512 files not shown
+1,278-2818 files

OpenZFS/src 0bb4175module/zfs spa.c zvol.c, tests/runfiles common.run

zpool export: return EBUSY when zvol minors are in use

When a zvol block device is open (e.g., mounted by the OS), exporting
the pool can hang indefinitely in zvol_remove_minors_impl() which calls
cv_wait(&zv->zv_removing_cv) with no timeout.  This is because the open
holder never closes the device, so the condition variable is never
signaled.

Fix this by taking an additional spa reference in zvol_first_open() and
releasing it in zvol_last_close().  With this reference,
spa_export_common() will return EBUSY via the existing
spa_refcount_zero() check, matching the behavior already provided for
mounted ZFS datasets.

Additionally, move the zvol_remove_minors() call in spa_export_common()
to after the spa_refcount_zero() check.  Previously it was called before
the check, which could still hang if a zvol was open.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Heonje LEE <lhjnano at gmail.com>
Closes #18841
DeltaFile
+89-0tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_005_neg.ksh
+11-0module/zfs/zvol.c
+6-4module/zfs/spa.c
+1-1tests/runfiles/common.run
+1-0tests/zfs-tests/tests/Makefile.am
+108-55 files

LLVM/project 4f02e1elldb/source/Plugins/Language/ObjC ObjCLanguage.cpp, lldb/source/Plugins/LanguageRuntime/ObjC ObjCLanguageRuntime.cpp

[LLDB] Hide unresolvable children from ObjC tagged pointers  (#211936)

Foundation's small value inline representations have valid summaries and
sometimed synthetic children, but LLDB cannot access any ivars from
their base classes (such as [NSObject isa]).

Use a synthetic child provider to hide them.

rdar://182434208

Assisted-by: claude
DeltaFile
+115-0lldb/test/API/lang/objc/tagged-pointer-children/TestTaggedPointerChildren.py
+39-0lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
+32-0lldb/test/API/lang/objc/tagged-pointer-children/tagged_synth_provider.py
+19-0lldb/test/API/lang/objc/tagged-pointer-children/main.m
+17-0lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+4-0lldb/test/API/lang/objc/tagged-pointer-children/Makefile
+226-02 files not shown
+231-08 files

NetBSD/pkgsrc-wip 1db506ccyclone distinfo, cyclone/patches patch-scheme_base.sld

wip/cyclone: Fix copying of empty bytevectors

Pull request: https://github.com/justinethier/cyclone/pull/565
DeltaFile
+17-3cyclone/patches/patch-scheme_base.sld
+1-1cyclone/distinfo
+18-42 files

LLVM/project 8a49f88llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView BUILD.gn

[gn build] Add missing deps (#212352)

From e7290b1f1815626c4461d38671d93093590bf405
DeltaFile
+4-0llvm/utils/gn/secondary/llvm/lib/DebugInfo/LogicalView/BUILD.gn
+4-01 files

LLVM/project 933e00bllvm/test/tools/llvm-objcopy/ELF cross-arch-headers.test

[llvm-objcopy] Remove unnecessary AMDGPU ELF flag from test

The EF_AMDGPU_MACH_AMDGCN_GFX900 flag was not needed in the test input.
The test only verifies that llvm-objcopy correctly sets EM_AMDGPU machine
type, 64-bit class, and little-endian encoding -- none of which depend on
the e_flags value. Use the same approach as all other architectures in
the test (no explicit FLAGS, defaulting to <none>).
DeltaFile
+1-1llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
+1-11 files

FreeBSD/src e52655asys/netinet in.h in_var.h

netinet: Promote IFP_TO_IA() from macro to function in_ifprimaryaddr().

in_ifprimaryaddr() exists only to support IPv4 multicast usage. Since the
adoption of epoch tracking, ifa_ref() is no longer required in its body;
that was originally introduced by rwatson in 2009.

We could not use __deprecated1() from <sys/cdefs.h> anyway, as
IFP_TO_IA() is a macro, not a function.

Approved by:    glebius (2026-02-26)
Reviewed by:    adrian, glebius, pouria
Differential Revision:  D55344
DeltaFile
+22-0sys/netinet/in.c
+1-1sys/netinet/in_var.h
+1-0sys/netinet/in.h
+24-13 files

FreeBSD/src d93d235sys/netinet ip_output.c in_mcast.c

netinet: Replace IFP_TO_IA() with in_ifprimaryaddr() completely.

IPv4 multicast currently has the big caveat that it depends on the first
assigned IPv4 address on an interface (the so-called "primary address").

in_ifprimaryaddr() only needs to be used by the following:
 - the 0.0.0.0 booting node input workaround in IGMPv1;
 - filtering out the node's own reports in IGMPv2;
 - preserving the source IP where an IGMPv3 report has been looped back;
 - inferring the default upstream IPv4 interface address for the
   IP_MULTICAST_IF socket option;
 - and inferring the source address during ip_output() for a multicast
   datagram where an interface has been explicitly specified by that option.

All of these uses mandate the use of IPv4 source address selection, but
FreeBSD does not yet (fully) implement this functionality.

Approved by:    glebius (2026-02-26)
Reviewed by:    adrian, glebius, pouria
Differential Revision:  D55345
DeltaFile
+0-15sys/netinet/in_var.h
+5-5sys/netinet/igmp.c
+1-1sys/netinet/ip_output.c
+1-1sys/netinet/in_mcast.c
+7-224 files

FreeBSD/ports 9c3d150devel/wasi-compiler-rt22 Makefile, devel/wasi-libcxx22 Makefile

devel/wasi-{compiler-rt,libcxx}22: sync to 22.1.8
DeltaFile
+1-1devel/wasi-libcxx22/Makefile
+1-1devel/wasi-compiler-rt22/Makefile
+2-22 files

LLVM/project 9a1be34clang/lib/Basic/Targets AMDGPU.cpp, llvm/include/llvm/TargetParser AMDGPUTargetParser.h

AMDGPU: Handle more TargetParser queries in tablegen

Previously we had various enum switches. Start generated tables
indexed by enums. Avoid some special cases by defining the dummy
"generic" and "generic-hsa" targets as real processors.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+62-82llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+87-30llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+7-4llvm/lib/Target/AMDGPU/GCNProcessors.td
+2-5clang/lib/Basic/Targets/AMDGPU.cpp
+2-4llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+4-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+164-1253 files not shown
+168-1269 files

LLVM/project 4f927dcllvm/include/llvm/TargetParser AMDGPUTargetParser.def, llvm/lib/Target/AMDGPU AMDGPUTargetParser.td GCNProcessors.td

AMDGPU: Generate TargetParser table from TableGen

Migrate .def file to tablegen. The initial TargetParser
AMDGPU backend only handled R600. Extend to modern targets.
Stub out some tablegen definitions which will be used in future
changes.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+255-191llvm/lib/Target/AMDGPU/GCNProcessors.td
+0-155llvm/include/llvm/TargetParser/AMDGPUTargetParser.def
+117-7llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+22-22llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+28-2llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+16-0llvm/test/TableGen/AMDGPUTargetDefErrors.td
+438-3774 files not shown
+453-38410 files