[PATCH] Divergence analysis for GPU programs

Jingyue Wu jingyue at google.com
Mon Mar 23 22:14:45 PDT 2015


Hi resistor, hfinkel, eliben, meheff,

Some optimizations such as jump threading and loop unswitching can negatively
affect performance when applied to divergent branches. The divergence analysis
added in this patch conservatively estimates which branches in a GPU program
can diverge. This information can then help LLVM to run certain optimizations
selectively.

http://reviews.llvm.org/D8576

Files:
  include/llvm/Analysis/Passes.h
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  include/llvm/CodeGen/BasicTTIImpl.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  lib/Analysis/Analysis.cpp
  lib/Analysis/CMakeLists.txt
  lib/Analysis/DivergenceAnalysis.cpp
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
  lib/Target/NVPTX/NVPTXTargetTransformInfo.h
  test/Analysis/DivergenceAnalysis/NVPTX/diverge.ll
  test/Analysis/DivergenceAnalysis/NVPTX/lit.local.cfg

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8576.22540.patch
Type: text/x-patch
Size: 22207 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150324/76d53bf4/attachment.bin>


More information about the llvm-commits mailing list