[all-commits] [llvm/llvm-project] 34a5c2: [BasicBlockUtils] Allow critical edge splitting wi...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Jul 8 00:23:23 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 34a5c2bcf266bb5511791803d66304cc58418bdc
      https://github.com/llvm/llvm-project/commit/34a5c2bcf266bb5511791803d66304cc58418bdc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-07-08 (Fri, 08 Jul 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/test/Transforms/GVN/callbr-loadpre-critedge.ll
    M llvm/test/Transforms/GVN/callbr-scalarpre-critedge.ll
    M llvm/test/Transforms/LoopStrengthReduce/callbr-critical-edge-splitting.ll

  Log Message:
  -----------
  [BasicBlockUtils] Allow critical edge splitting with callbr terminators

After D129205, we support SplitBlockPredecessors() for predecessors
with callbr terminators. This means that it is now also safe to
invoke critical edge splitting for an edge coming from a callbr
terminator. Remove checks in various passes that were protecting
against that.

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




More information about the All-commits mailing list