[PATCH] D40546: StructurizeCFG: Test for branch divergence correctly

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 28 04:23:25 PST 2017


nhaehnle created this revision.
Herald added subscribers: tpr, wdng.

This fixes cases like the new test @nonuniform. In that test, %cc itself
is a uniform value; however, when reading it after the end of the loop in
basic block %if, its value is effectively non-uniform.

This problem was encountered in
https://bugs.freedesktop.org/show_bug.cgi?id=103743; however, this change
in itself is not sufficient to fix that bug, as there is another issue
in the AMDGPU backend.

Change-Id: I32bbffece4a32f686fab54964dae1a5dd72949d4


https://reviews.llvm.org/D40546

Files:
  include/llvm/Analysis/DivergenceAnalysis.h
  lib/Transforms/Scalar/StructurizeCFG.cpp
  test/CodeGen/AMDGPU/control-flow-optnone.ll
  test/Transforms/StructurizeCFG/uniform-regions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40546.124542.patch
Type: text/x-patch
Size: 3847 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171128/27bda64a/attachment-0001.bin>


More information about the llvm-commits mailing list