[all-commits] [llvm/llvm-project] 6c8488: [LoopSimplify] don't separate nested loops with co...

Sameer Sahasrabuddhe via All-commits all-commits at lists.llvm.org
Mon May 18 21:43:37 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c8488436644af41b3e29564ff85dc5eaa240347
      https://github.com/llvm/llvm-project/commit/6c8488436644af41b3e29564ff85dc5eaa240347
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2020-05-19 (Tue, 19 May 2020)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopSimplify.cpp
    A llvm/test/Transforms/LoopSimplify/convergent.ll

  Log Message:
  -----------
  [LoopSimplify] don't separate nested loops with convergent calls

Summary:
When a loop has multiple backedges, loop simplification attempts to
separate them out into nested loops. This results in incorrect control
flow in the presence of some functions like a GPU barrier. This change
skips the transformation when such "convergent" function calls are
present in the loop body.

Reviewed By: nhaehnle

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




More information about the All-commits mailing list