LLVM/project f8dcb54clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP target_map_nested_ptr_member_mapper_codegen.cpp

[OpenMP] Propagate PRESENT to pointee entries in mapper codegen

Extend map-type-modifier propagation in emitUserDefinedMapper to the PRESENT
modifier, but only for entries that have an attach ptr (the pointee data, whose
storage differs from the struct's own). A present modifier on the outer clause
must require that pointee to be present on the device.

This is gated on a new PropagatePresentToPointee argument, which Clang sets from
CGM.getLangOpts().OpenMP >= 60. Before 6.0 the present modifier is treated as
not applying to the pointee: the spec committee confirmed the divergence
between the present motion modifier (to/from) and the present map-type modifier
(map) was unintentional, to be fixed as an OpenMP 6.0 erratum. Only propagation
is gated; present written directly in a mapper's own clause applies at all
versions.

A TODO notes PRESENT should also propagate to the struct's own members, which
is blocked while pointer members use PTR_AND_OBJ.

Update the present-check tests to their final 6.0-gated behavior.

    [2 lines not shown]
DeltaFile
+36-11llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+14-13offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
+10-17offload/test/mapping/mapper_target_update_present_ptee.c
+13-4llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+12-3clang/lib/CodeGen/CGOpenMPRuntime.cpp
+6-9clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+91-576 files

LLVM/project ddc1f49clang/lib/CodeGen CGOpenMPRuntime.cpp, clang/test/OpenMP target_map_nested_ptr_member_mapper_codegen.cpp declare_mapper_codegen.cpp

[OpenMP][Clang] Enable ATTACH-style maps for mappers.

Track per-entry attach-ptr info (HasAttachPtr) through mapper codegen so that
emitUserDefinedMapper does not add a new outer MEMBER_OF to pointee/combined
entries (which occupy different storage than the struct) or to ATTACH entries.
Clang and the MLIR translator populate the per-entry array in parallel with the
other MapInfosTy arrays.

Address review:
  - Rename MapSkipMemberOfArrayTy to MapHasAttachPtrArrayTy to match the
    HasAttachPtr field it backs.
  - Restructure the emitUserDefinedMapper comment into a bulleted (*)/(**)/(***)
    list keyed to the example entries.
  - Reword the Clang comments: HasAttachPtr marks pointee entries that have a
    base attach-ptr; a combined entry has a base attach-ptr if its constituents
    do; cross-reference emitUserDefinedMapper for the MEMBER_OF rationale.
  - Update the moved present-check tests to their now-correct behavior (the
    attach-style maps make the inbounds present checks pass and remove the
    "explicit extension" errors).

    [2 lines not shown]
DeltaFile
+196-160clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+68-60clang/test/OpenMP/declare_mapper_codegen.cpp
+56-15llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+65-5clang/lib/CodeGen/CGOpenMPRuntime.cpp
+18-24offload/test/mapping/mapper_enter_data_always_present_ptee.c
+18-22offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
+421-2869 files not shown
+487-35915 files

LLVM/project abbf6edclang/test/OpenMP target_map_nested_ptr_member_mapper_codegen.cpp target_map_array_of_structs_with_nested_mapper_codegen.cpp, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

[OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries

When a map clause uses a user-defined mapper, the map-type-modifying bits
(ALWAYS, DELETE, CLOSE) on the outer clause must apply to each map the mapper
inserts (OpenMP 6.0:281:34). Propagate them in emitUserDefinedMapper by OR-ing
the imported modifier bits into each pushed component, except ATTACH entries
(ATTACH|ALWAYS is reserved for attach(always) and the other bits are
meaningless for ATTACH).

PRESENT is intentionally not propagated here yet (a TODO notes it is handled in
a follow-on, since it requires distinguishing pointee entries from the struct's
own storage).

Update offload mapper_map_always_from.c to its now-correct behavior: ALWAYS
forces a member copy-back that the ref count would otherwise suppress, so s.y
reads back as 111 (it was 0 before this change).

Co-Authored-By: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+152-136clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+87-77clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
+87-77clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
+38-2llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+27-9clang/test/OpenMP/declare_mapper_codegen.cpp
+8-15offload/test/mapping/mapper_map_always_from.c
+399-3164 files not shown
+420-33710 files

LLVM/project 96e9d81clang/test/OpenMP target_map_nested_ptr_member_mapper_codegen.cpp, offload/test/mapping mapper_map_present_ptee.c mapper_map_mbr_then_present_mbr_ptee.c

[OpenMP][test] Address review: restructure present-check mapper tests

Move the present-check pointee tests into this PR (PR1) with RUN lines and
FIXME/EXPECTED comments matching the current pre-feature behavior, per review:
  - mapper_map_present_ptee.c
  - mapper_map_mbr_ptee_then_present_mbr_ptee.c
  - mapper_map_mbr_then_present_mbr_ptee.c
Later PRs update these checks as the behavior becomes correct. Also add
mapper_map_always_from.c showing the current (pre-propagation) ALWAYS behavior
(s.y = 0), which the ALWAYS/DELETE/CLOSE propagation PR flips to s.y = 111.

Also:
  - mapper_map_ptee_then_present_absent_mbr.c: reword the FIXME to just say
    PRESENT should be propagated to the s.x member entry (drop the PTR_AND_OBJ
    wording, which belongs in the propagation PR).
  - mapper_target_update_present_ptee.c: add OOB CHECK/EXPECTED lines and a
    subset-transfer FIXME; use fprintf consistently.
  - target_map_nested_ptr_member_mapper_codegen.cpp: add the OpenMP 6.0 RUN
    line now (CHECK-60 currently identical to CHECK, with a FIXME) so the

    [3 lines not shown]
DeltaFile
+181-0clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
+65-0offload/test/mapping/mapper_map_present_ptee.c
+62-0offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
+58-0offload/test/mapping/mapper_map_mbr_ptee_then_present_mbr_ptee.c
+46-0offload/test/mapping/mapper_map_always_from.c
+25-7offload/test/mapping/mapper_target_update_present_ptee.c
+437-71 files not shown
+441-167 files

LLVM/project 002deaaclang/lib/StaticAnalyzer/Checkers DanglingPtrDeref.cpp LifetimeModeling.cpp, clang/test/Analysis dangling-ptr-deref.cpp

[analyzer] Match dangling subobjects by their base region in DanglingPtrDeref (#211552)

Currently the `DanglingPtrDeref` checker only records the whole object's
region as deallocated. However, dangling pointers often refer to
subobjects (e.g., a struct field or an element of an array). With the
change in this PR, `isDeallocated` now checks whether a region's base
region is in the `DeallocatedSourceSet`.
DeltaFile
+159-0clang/test/Analysis/dangling-ptr-deref.cpp
+11-4clang/lib/StaticAnalyzer/Checkers/DanglingPtrDeref.cpp
+1-1clang/lib/StaticAnalyzer/Checkers/LifetimeModeling.cpp
+171-53 files

LLVM/project a891a5cclang/lib/Sema SemaStmt.cpp, clang/test/SemaCXX cxx2c-expansion-stmts.cpp

[Clang] [Sema] Use getCurFunctionDecl() to get the current function (#211938)

In `BuildReturnStmt()`, use `getCurFunctionDecl()` to get the current
function rather than attempting to cast `CurContext` to a
`FunctionDecl`, which breaks inside an expansion statement because the
current `DeclContext` will be that of the expansion statement, not the
function. `getCurFunctionDecl()` knows how to handle this case and we
already call it earlier in that function, so just reuse the result of
that call.

Fixes #211917.
DeltaFile
+17-0clang/test/SemaCXX/cxx2c-expansion-stmts.cpp
+3-4clang/lib/Sema/SemaStmt.cpp
+20-42 files

LLVM/project 921f7calibc/src/__support/CPP string.h, libc/test/src/__support/CPP string_test.cpp

[libc][cpp::string] Do not count null terminator in capacity() (#211918)

Currently, `capacity()` includes the null terminator of the backing
buffer, which does not align with C++20's `std::string`. That is,
`s.reserve(s.capacity())` should be a no-op. While there's no
requirement these be in-sync, it is less surprising to align its
behavior.

Also, this fixes the case where `reserve()` is called on an empty
string, where previously the null terminator was not set.
DeltaFile
+28-10libc/src/__support/CPP/string.h
+21-3libc/test/src/__support/CPP/string_test.cpp
+49-132 files

LLVM/project edfbc87clang/test/SemaHIP amdgpu-feature-builtins-return-type-deduction.hip builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip

clang/AMDGPU: Migrate cc1 tests to subarch triples (8)

Rewrite SemaHIP cc1 test RUN lines to the new subarch triple form,
dropping the redundant -target-cpu.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+2-2clang/test/SemaHIP/amdgpu-feature-builtins-return-type-deduction.hip
+2-2clang/test/SemaHIP/builtins-amdgcn-gfx1250-cooperative-atomics-templated.hip
+2-2clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
+2-2clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
+1-1clang/test/SemaHIP/amdgpu-flat-atomic-fmin-err.hip
+1-1clang/test/SemaHIP/amdgpu-gfx950-load-to-lds.hip
+10-1015 files not shown
+25-2521 files

LLVM/project 3776f0eclang/test/SemaOpenCL builtins-amdgcn-error-gfx12.cl builtins-amdgcn-global-load-store-target-error.cl

clang/AMDGPU: Migrate cc1 tests to subarch triples (9)

Rewrite SemaOpenCL cc1 test RUN lines to the new subarch triple form,
dropping the redundant -target-cpu.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+8-8clang/test/SemaOpenCL/builtins-amdgcn-error-gfx12.cl
+6-6clang/test/SemaOpenCL/builtins-amdgcn-global-load-store-target-error.cl
+5-5clang/test/SemaOpenCL/builtins-amdgcn-error-gfx10.cl
+5-5clang/test/SemaOpenCL/builtins-amdgcn-cmp-deprecated.cl
+5-5clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
+4-4clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
+33-3342 files not shown
+93-9148 files

LLVM/project 6039035clang/test/CodeGenOpenCL builtins-amdgcn-s-buffer-load.cl builtins-amdgcn-gfx1250-load-monitor.cl

clang/AMDGPU: Migrate cc1 tests to subarch triples (11)

Rewrite the second half of CodeGenOpenCL cc1 test RUN lines to the new
subarch triple form, dropping the redundant -target-cpu.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+97-97clang/test/CodeGenOpenCL/builtins-amdgcn-s-buffer-load.cl
+9-15clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
+9-8clang/test/CodeGenOpenCL/amdgpu-features-default-delta.cl
+5-5clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-store.cl
+5-5clang/test/CodeGenOpenCL/amdgpu-xnack-any-only.cl
+4-4clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
+129-13444 files not shown
+205-21050 files

LLVM/project 7a9bf7cclang/test/CodeGenOpenCL amdgpu-enqueue-kernel.cl builtins-amdgcn-gfx11.cl

clang/AMDGPU: Migrate cc1 tests to subarch triples (10)

Rewrite the first half of CodeGenOpenCL cc1 test RUN lines to the new
subarch triple form, dropping the redundant -target-cpu.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+20-12clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
+12-12clang/test/CodeGenOpenCL/builtins-amdgcn-gfx11.cl
+8-8clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
+6-6clang/test/CodeGenOpenCL/amdgpu-features-illegal.cl
+4-4clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
+4-4clang/test/CodeGenOpenCL/builtins-amdgcn-vi.cl
+54-4644 files not shown
+122-11450 files

LLVM/project 89ee858llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU BUILD.gn

[gn build] Port f0be938ce6df (#211951)
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
+1-01 files

FreeBSD/ports a907ef5devel/py-grpcio-tools distinfo Makefile

devel/py-grpcio-tools: update to 1.83.0.
DeltaFile
+3-3devel/py-grpcio-tools/distinfo
+1-1devel/py-grpcio-tools/Makefile
+4-42 files

FreeBSD/ports 6d79ef9devel/php-grpc distinfo Makefile

devel/php-grpc: update to 1.83.0.
DeltaFile
+3-3devel/php-grpc/distinfo
+1-1devel/php-grpc/Makefile
+4-42 files

FreeBSD/ports e00a49cdevel/py-grpcio distinfo Makefile

devel/py-grpcio: update to 1.83.0.
DeltaFile
+3-3devel/py-grpcio/distinfo
+1-1devel/py-grpcio/Makefile
+4-42 files

LLVM/project fc3c702llvm/lib/Target/X86 X86.td

X86: Use ProcessorAlias for duplicated processor names

Many X86 processors were defined multiple times under different names,
emitting an identical ProcessorModel for each spelling and duplicating
the feature masks, tune features, and scheduling model index in the subtype
table.

Define each processor once under its canonical name and express the
alternate spellings with ProcessorAlias, using the tablegen alias
mechanism. This deduplicates the redundant subtype table entries and saves
about 4.6k with the new alias table.

Co-Authored-By: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+116-131llvm/lib/Target/X86/X86.td
+116-1311 files

LLVM/project 7e13f6dllvm/include/llvm/MC MCSubtargetInfo.h, llvm/lib/CodeGen TargetSubtargetInfo.cpp

TableGen: Use a compact table for CPU aliases

Previously each ProcessorAlias was emitted as a full SubtargetSubTypeKV
entry in the processor subtype table, duplicating the canonical
processor's feature masks and scheduling model index. At 104 bytes per
entry: AArch64's 18 aliases added ~1.8KB, and X86 will add more as aliases
are introduced.

Emit aliases into a separate SubtargetSubTypeAliasKV table instead. Each
alias is just a name string offset plus the index of the canonical
processor it resolves to.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+88-46llvm/utils/TableGen/SubtargetEmitter.cpp
+29-6llvm/include/llvm/MC/MCSubtargetInfo.h
+21-9llvm/lib/MC/MCSubtargetInfo.cpp
+18-11llvm/test/TableGen/ProcessorAlias.td
+6-6llvm/lib/CodeGen/TargetSubtargetInfo.cpp
+3-3llvm/unittests/CodeGen/MFCommon.inc
+165-814 files not shown
+172-8710 files

LLVM/project a312dfbllvm/lib/Target/AMDGPU GCNProcessors.td

AMDGPU: Use ProcessorAlias for legacy arch names

Older targets have aliasing names which were previously implemented
by defining a second copy of the processor, identical except for the name
Use the recently improved tablegen mechanism for defining name-only aliases.
This dedupliates some redundant table entries, like the sched model.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+18-60llvm/lib/Target/AMDGPU/GCNProcessors.td
+18-601 files

LLVM/project 356313dllvm/include/llvm/MC MCSubtargetInfo.h, llvm/include/llvm/Target Target.td

TableGen: Add first class support for processor aliases

Previously isCPUStringValid was virtual so TableGen could emit an
AArch64 specific hack for recognizing cpu aliases. Teach tablegen
about aliases, and insert each alias into the CPU subtype table as its
own entry (sorted by name, carrying the canonical processor's features
and scheduling model).

There is further opportunity for code sharing improvements. AArch64's
aliases are consumed by ARMTargetDefEmitter to emit a custom inc file
in TargetParser which should be universalized.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+44-43llvm/utils/TableGen/SubtargetEmitter.cpp
+34-0llvm/test/TableGen/ProcessorAliasErrors.td
+24-0llvm/test/TableGen/ProcessorAlias.td
+7-0llvm/include/llvm/Target/Target.td
+0-6llvm/lib/Target/AArch64/AArch64Processors.td
+1-1llvm/include/llvm/MC/MCSubtargetInfo.h
+110-506 files

LLVM/project b63514cflang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][cuda] Add more support for data transfer with constant (#211944)

Extent support where rhs has some constant variables in an expression.
This match what is accepted in the legacy compiler.
DeltaFile
+21-1flang/lib/Evaluate/tools.cpp
+16-3flang/lib/Lower/Bridge.cpp
+18-0flang/test/Lower/CUDA/cuda-data-transfer.cuf
+2-1flang/lib/Semantics/check-cuda.cpp
+3-0flang/include/flang/Evaluate/tools.h
+60-55 files

LLVM/project 3f69551clang/test/CodeGenCXX amdgpu-float16.cpp sret_cast_with_nonzero_alloca_as.cpp, clang/test/Misc amdgcn.languageOptsOpenCL.cl

clang/AMDGPU: Migrate cc1 tests to subarch triples (7) (#211869)

Rewrite the remaining small test directories (CodeGenCXX, Misc, Sema,
SemaCUDA, SemaCXX) cc1 RUN lines to the new subarch triple form,
dropping the redundant -target-cpu.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+4-4clang/test/CodeGenCXX/amdgpu-float16.cpp
+2-2clang/test/SemaCUDA/openmp-target.cu
+2-2clang/test/Sema/sizeof-struct-non-zero-as-member.cl
+1-1clang/test/SemaCUDA/cluster_dims.cu
+1-1clang/test/CodeGenCXX/sret_cast_with_nonzero_alloca_as.cpp
+1-1clang/test/Misc/amdgcn.languageOptsOpenCL.cl
+11-115 files not shown
+16-1611 files

LLVM/project b6f5847clang/test/CIR/CodeGenHIP builtins-amdgcn-vi-f16.hip attr-target-amdgpu.hip

clang/AMDGPU: Migrate cc1 tests to subarch triples (6) (#211868)

Rewrite CIR/CodeGenHIP cc1 test RUN lines to the new subarch triple
form, dropping the redundant -target-cpu, and regenerate autogenerated 
CHECK lines.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+24-24clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
+23-22clang/test/CIR/CodeGenHIP/attr-target-amdgpu.hip
+15-14clang/test/CIR/CodeGenHIP/target-features.hip
+6-6clang/test/CIR/CodeGenHIP/builtins-amdgcn-image.hip
+6-6clang/test/CIR/CodeGenHIP/builtins-amdgcn-logb-scalbn.hip
+6-6clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
+80-786 files not shown
+106-10412 files

FreeBSD/ports 085302caudio/pipewire-spa-oss-ng distinfo Makefile

audio/pipewire-spa-oss-ng: Update to 0.9.11

Harden live FreeBSD OSS behavior: reconnect devd monitors, improve
busy-owner diagnostics, probe exclusive rates without consuming PCM
channels, keep capture nonblocking, correct mixer state, release streams
on Suspend, and guard setup-phase streams from a live queue-sampling
assertion that could abort the data thread.

Expand OSS format support, cache companded silence fills, stabilize
adaptive scheduling, and adopt libc's typed FreeBSD ioctl helpers.
DeltaFile
+21-19audio/pipewire-spa-oss-ng/distinfo
+10-10audio/pipewire-spa-oss-ng/Makefile
+31-292 files

FreeBSD/src a594783sys/compat/linuxkpi/common/src linux_firmware.c

linux_firmware: reformat error print-out

This makes it easier to grep for the error message to better understand
the call stack when loading firmware modules fails.

Fix a cosmetic-only style(9) bug while here in the same function related
to another logging message.

MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D58380
DeltaFile
+4-3sys/compat/linuxkpi/common/src/linux_firmware.c
+4-31 files

LLVM/project 10dc57allvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

Do not allow vm_vsrc simplifications if outstanding asyncmarks

Change-Id: Ib55e86ba1c13fc54a64bc8b424dfc50d9c899062
DeltaFile
+1-1llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+1-11 files

LLVM/project bd47223clang/lib/Analysis ThreadSafety.cpp, clang/test/SemaCXX warn-thread-safety-analysis.cpp

[ThreadSafety] Add two-state semantics for handleCall in beta mode (#210219)

Previous contributions added alias analysis and strengthened soundness
by invalidating out-parameters in beta mode. The latter feature
introduced a distinction between the contexts before and after a
function call, because the invalidation assumes that an argument passed
by pointer or reference may be changed by the function.

This requires two-state semantics for handling function attributes.
Specifically, AcquireCapability and AssertCapability, which both ensure
that some locks are held after the call, should be associated with the
post-state. Other function attributes, like RequireCapability or
ReleaseCapability, are associated with the pre-state.

This commit implements these semantics. This change only affects beta
mode.

A previous discussion about these semantics:
https://github.com/llvm/llvm-project/pull/190154

rdar://171209196
DeltaFile
+115-19clang/lib/Analysis/ThreadSafety.cpp
+106-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+221-192 files

LLVM/project f34bcc9clang/docs UsersManual.md, flang/lib/Lower ConvertExpr.cpp

Rebase, cleanups

Created using spr 1.3.7
DeltaFile
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+5,575-5,393llvm/test/CodeGen/AMDGPU/maximumnum.ll
+5,454-5,259llvm/test/CodeGen/AMDGPU/minimumnum.ll
+0-7,750flang/lib/Lower/ConvertExpr.cpp
+5,000-0libcxx/test/std/input.output/iostream.objects/many-ints.dat
+2,162-2,303clang/docs/UsersManual.md
+31,259-20,7054,505 files not shown
+124,519-117,0184,511 files

LLVM/project 1f80e93llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp, llvm/test/CodeGen/AMDGPU vsrc-simplify-asynccnt.mir

track asyncmarks for vm_vsrc simplifications

Change-Id: I2d274814df14d5844e05e801facea39d0aa14b4b
DeltaFile
+91-0llvm/test/CodeGen/AMDGPU/vsrc-simplify-asynccnt.mir
+2-0llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+93-02 files

LLVM/project 57d9f3aclang/test/SemaCXX expansion-statements-local-extern-decls.cpp

[Sema][NFC] Add additional tests for declarations in expansion statements

I came up with these additional tests for declarations in expansion statements
that previously failed but now correctly diagnose the errors.
DeltaFile
+26-0clang/test/SemaCXX/expansion-statements-local-extern-decls.cpp
+26-01 files

LLVM/project 7354df8flang/lib/Optimizer/Transforms/CUDA CUFDeviceGlobal.cpp, flang/test/Fir/CUDA cuda-device-global-cycle.fir

[flang][cuda] Keep cycle-broken device globals defined (#211897)

Breaking cyclic global initializers by removing an initializer produced
an
external declaration, which could leave references unresolved during
device
linking.

Replace selected cyclic initializers with zero initializers instead.
This
breaks the NVPTX dependency cycle while preserving device symbol
definitions.
DeltaFile
+21-14flang/lib/Optimizer/Transforms/CUDA/CUFDeviceGlobal.cpp
+8-6flang/test/Fir/CUDA/cuda-device-global-cycle.fir
+29-202 files