[PATCH] D130746: RFC: Uniformity Analysis for Irreducible Control Flow

Sameer Sahasrabuddhe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 18 07:26:05 PST 2022


sameerds updated this revision to Diff 476468.
sameerds added a comment.

1. Rebased.
2. Added support for GMIR.
3. Added tests for GMIR and MIR.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130746/new/

https://reviews.llvm.org/D130746

Files:
  llvm/docs/ConvergenceAndUniformity.rst
  llvm/docs/CycleTerminology.rst
  llvm/docs/Reference.rst
  llvm/docs/convergence-both-diverged-nested.png
  llvm/docs/convergence-closed-path.png
  llvm/docs/convergence-divergent-inside.png
  llvm/docs/convergence-divergent-outside.png
  llvm/docs/convergence-natural-loop.png
  llvm/include/llvm/ADT/GenericCycleInfo.h
  llvm/include/llvm/ADT/GenericUniformityImpl.h
  llvm/include/llvm/ADT/GenericUniformityInfo.h
  llvm/include/llvm/ADT/Uniformity.h
  llvm/include/llvm/Analysis/UniformityAnalysis.h
  llvm/include/llvm/CodeGen/MachineCycleAnalysis.h
  llvm/include/llvm/CodeGen/MachinePassRegistry.def
  llvm/include/llvm/CodeGen/MachineSSAContext.h
  llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
  llvm/include/llvm/CodeGen/TargetInstrInfo.h
  llvm/include/llvm/IR/SSAContext.h
  llvm/include/llvm/InitializePasses.h
  llvm/lib/Analysis/CMakeLists.txt
  llvm/lib/Analysis/UniformityAnalysis.cpp
  llvm/lib/CodeGen/CMakeLists.txt
  llvm/lib/CodeGen/CodeGen.cpp
  llvm/lib/CodeGen/MachineCycleAnalysis.cpp
  llvm/lib/CodeGen/MachineSSAContext.cpp
  llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
  llvm/lib/IR/SSAContext.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Target/AMDGPU/SIDefines.h
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.h
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/always-uniform.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/atomics-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/atomics.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/hidden-diverge.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/irreducible/irreducible-1.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/loads-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/never-uniform.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/temporal-diverge-gmir.mir
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/always_uniform.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/atomics.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/b42473-r1-crash.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/control-flow-intrinsics.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/hidden_diverge.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/hidden_loopdiverge.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/inline-asm.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/interp_f16.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/intrinsics.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/branch-outside.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/diverged-entry-basic.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/diverged-entry-headers-nested.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/diverged-entry-headers.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/exit-divergence.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/irreducible-1.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/irreducible-2.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/irreducible/reducible-headers.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/join-at-loop-exit.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/join-at-loop-heart.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/kernel-args.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/llvm.amdgcn.buffer.atomic.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/llvm.amdgcn.image.atomic.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/no-return-blocks.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/phi-undef.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/propagate-loop-live-out.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/temporal_diverge.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/trivial-join-at-loop-exit.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/unreachable-loop-block.ll
  llvm/test/Analysis/DivergenceAnalysis/AMDGPU/workitem-intrinsics.ll
  llvm/test/Analysis/DivergenceAnalysis/NVPTX/daorder.ll
  llvm/test/Analysis/DivergenceAnalysis/NVPTX/diverge.ll
  llvm/test/Analysis/DivergenceAnalysis/NVPTX/hidden_diverge.ll
  llvm/test/Analysis/DivergenceAnalysis/NVPTX/irreducible.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130746.476468.patch
Type: text/x-patch
Size: 253066 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221118/6267efa1/attachment-0001.bin>


More information about the llvm-commits mailing list