[PATCH] D81806: [DivergenceAnalysis] mark join of divergent loop exits

Simon Moll via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 16 00:31:02 PDT 2020


simoll added a comment.

I am a bit surprised this is necessary. Actually, join divergence in `bb3` should come about as a result of `propagateLoopDivergence` for the `[bb1, bb2]` loop and not immediately because it is a divergent exit.
Also, a divergent loop exit does not automatically become join divergent, eg:

  bb1: 
     %m.uni = <uni>
     %n.uni = <uni>
     br <uni>, %bb2, %bb3
  
  bb2: [..]
     br <div>, %bb2, %bb3
  
  bb3:
     %x.uni = phi [%m.uni, %bb2], [%n.uni %bb1]  <-- divergent loop exit that is not join divergent


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81806





More information about the llvm-commits mailing list