[PATCH] D146018: [AMDGPU] Use UniformityAnalysis in AtomicOptimizer

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 14 00:53:57 PDT 2023


Pierre-vh created this revision.
Pierre-vh added reviewers: sameerds, arsenm, gandhi21299, foad.
Herald added subscribers: kosarev, StephenFan, kerbowa, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl.
Herald added a project: All.
Pierre-vh requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146018

Files:
  llvm/include/llvm/ADT/GenericSSAContext.h
  llvm/include/llvm/ADT/GenericUniformityImpl.h
  llvm/include/llvm/ADT/GenericUniformityInfo.h
  llvm/include/llvm/CodeGen/MachineSSAContext.h
  llvm/include/llvm/IR/SSAContext.h
  llvm/lib/Analysis/UniformityAnalysis.cpp
  llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
  llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146018.504973.patch
Type: text/x-patch
Size: 10360 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230314/b0196d1a/attachment.bin>


More information about the llvm-commits mailing list