[all-commits] [llvm/llvm-project] a2a0ac: [SimpleLoopBoundSplit] Split Bound of Loop which h...

JinGu Kang via All-commits all-commits at lists.llvm.org
Mon Jun 7 02:56:45 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a2a0ac42abcb57bd982a94534c219ac983572ac3
      https://github.com/llvm/llvm-project/commit/a2a0ac42abcb57bd982a94534c219ac983572ac3
  Author: Jingu Kang <jingu.kang at arm.com>
  Date:   2021-06-07 (Mon, 07 Jun 2021)

  Changed paths:
    A llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/CMakeLists.txt
    A llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
    A llvm/test/Transforms/LoopBoundSplit/loop-bound-split.ll
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn

  Log Message:
  -----------
  [SimpleLoopBoundSplit] Split Bound of Loop which has conditional branch with IV

This pass transforms loops that contain a conditional branch with induction
variable. For example, it transforms left code to right code:

                             newbound = min(n, c)
 while (iv < n) {            while(iv < newbound) {
   A                           A
   if (iv < c)                 B
     B                         C
   C                         }
 }                           if (iv != n) {
                               while (iv < n) {
                                 A
                                 C
                               }
                             }

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




More information about the All-commits mailing list