[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