[all-commits] [llvm/llvm-project] 7aad22: [DA] conservatively mark the join of every diverge...

Sameer Sahasrabuddhe via All-commits all-commits at lists.llvm.org
Thu Jun 18 05:11:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7aad220795b50bee591cf34dfdbb030ca4d5bdc0
      https://github.com/llvm/llvm-project/commit/7aad220795b50bee591cf34dfdbb030ca4d5bdc0
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2020-06-18 (Thu, 18 Jun 2020)

  Changed paths:
    M llvm/lib/Analysis/DivergenceAnalysis.cpp
    A llvm/test/Analysis/DivergenceAnalysis/AMDGPU/join-at-loop-exit.ll
    A llvm/test/Analysis/DivergenceAnalysis/AMDGPU/trivial-join-at-loop-exit.ll

  Log Message:
  -----------
  [DA] conservatively mark the join of every divergent branch

For a loop, a join block is a block that is reachable along multiple
disjoint paths from the exiting block of a loop. If the exit condition
of the loop is divergent, then such join blocks must also be marked
divergent. This currently fails in some cases because not all join
blocks are identified correctly.

The workaround is to conservatively mark every join block of any
branch (not necessarily the exiting block of a loop) as divergent.

https://bugs.llvm.org/show_bug.cgi?id=46372

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D81806




More information about the All-commits mailing list