[all-commits] [llvm/llvm-project] f8416c: [UniformityAnalysis] Replace DivergentValues with ...

Pankaj Dwivedi via All-commits all-commits at lists.llvm.org
Fri Mar 27 00:27:39 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8416c8643534677ed89d0510bb5fd1b2a4e1abd
      https://github.com/llvm/llvm-project/commit/f8416c8643534677ed89d0510bb5fd1b2a4e1abd
  Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M llvm/include/llvm/ADT/GenericSSAContext.h
    M llvm/include/llvm/ADT/GenericUniformityImpl.h
    M llvm/include/llvm/ADT/GenericUniformityInfo.h
    M llvm/lib/Analysis/UniformityAnalysis.cpp
    M llvm/lib/CodeGen/MachineSSAContext.cpp
    M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
    M llvm/lib/IR/SSAContext.cpp
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
    M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform.mir
    M llvm/unittests/Target/AMDGPU/CMakeLists.txt
    A llvm/unittests/Target/AMDGPU/UniformityAnalysisTest.cpp

  Log Message:
  -----------
  [UniformityAnalysis] Replace DivergentValues with UniformValues for conservative divergence queries (#180509)

This patch replaces DivergentValues with UniformValues as the single
source of truth for tracking divergence in UniformityInfo.

Old model: DivergentValues starts empty; values are added as divergence
is propagated. isDivergent(V) returns DivergentValues.count(V).

New model: UniformValues starts fully populated (all
instructions/arguments for IR, all register defs for MIR) during
initialize(). Values are removed as divergence is propagated.
isDivergent(V) returns !UniformValues.contains(V), so any value not
present in the set (e.g., a newly created instruction that was not
present during analysis) is conservatively treated as divergent. This
avoids silent miscompilations when transformation passes introduce new
values and query their uniformity.

---------

Co-authored-by: padivedi <padivedi at amd.com>



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