[all-commits] [llvm/llvm-project] 7d003d: [AMDGPU] Skip vector atomicrmw operands in AtomicO...

Mian Miftah via All-commits all-commits at lists.llvm.org
Tue Sep 15 09:15:07 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7d003d11953c0fee6bccf3e75bd9dedf45bbaf54
      https://github.com/llvm/llvm-project/commit/7d003d11953c0fee6bccf3e75bd9dedf45bbaf54
  Author: Mian Miftah <miftah.gungnir at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    A llvm/test/CodeGen/AMDGPU/atomic-optimizer-uniform-vector.ll

  Log Message:
  -----------
  [AMDGPU] Skip vector atomicrmw operands in AtomicOptimizer (#223309)

A uniform `<2 x i32>` `atomicrmw add` reaches a scalar-to-vector
lane-count cast and asserts in AMDGPUAtomicOptimizer. 
The divergent-value path rejects types in `isLegalCrossLaneType`, 
but the uniform-value path does not.

Returned vectors also enter scalar result construction.

Reject vector types in `visitAtomicRMWInst` and `visitIntrinsicInst`
before either value path. The regression covers unused 
global `add`, returned LDS `and`,
and a uniform scalar `i16` control that must still optimize, using DPP 
and iterative strategies on wave64 and wave32 subtargets.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list