HomePhabricator

Divergence analysis for GPU programs

Description

Divergence analysis for GPU programs

Summary:
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.

Test Plan: test/Analysis/DivergenceAnalysis/NVPTX/diverge.ll

Reviewers: resistor, hfinkel, eliben, meheff, jholewinski

Subscribers: broune, bjarke.roune, madhur13490, tstellarAMD, dberlin, echristo, jholewinski, llvm-commits

Differential Revision: http://reviews.llvm.org/D8576

Details

Committed
jingyueApr 9 2015, 10:03 PM
Differential Revision
D8576: Divergence analysis for GPU programs
Parents
rL234566: [WinEHPrepare] Don't rely on the order of IR
Branches
Unknown
Tags
Unknown