[all-commits] [llvm/llvm-project] f90849: [AMDGPU] Use UniformityAnalysis in AtomicOptimizer
Pierre van Houtryve via All-commits
all-commits at lists.llvm.org
Wed Mar 15 01:40:09 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f90849dfa3edc77f5e3088787e6e11ec201a7ea9
https://github.com/llvm/llvm-project/commit/f90849dfa3edc77f5e3088787e6e11ec201a7ea9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2023-03-15 (Wed, 15 Mar 2023)
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/include/llvm/CodeGen/MachineSSAContext.h
M llvm/include/llvm/IR/SSAContext.h
M llvm/lib/Analysis/UniformityAnalysis.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/divergence-at-use.ll
Log Message:
-----------
[AMDGPU] Use UniformityAnalysis in AtomicOptimizer
Adds & uses a new `isDivergentUse` API in UA.
UniformityAnalysis now requires CycleInfo as well as the new temporal divergence API can query it.
-----
Original patch that adds `isDivergentUse` by @sameerds
The user of a temporally divergent value is marked as divergent in the
uniformity analysis. But the same user may also have been marked divergent for
other reasons, thus losing this information about temporal divergence. But some
clients need to specificly check for temporal divergence. This change restores
such an API, that already existed in DivergenceAnalysis.
Reviewed By: sameerds, foad
Differential Revision: https://reviews.llvm.org/D146018
More information about the All-commits
mailing list