[all-commits] [llvm/llvm-project] 66a1e8: [LICM] Relax Hoistable Branch if all of the incomi...

aokblast via All-commits all-commits at lists.llvm.org
Tue Sep 22 22:45:12 PDT 2026


  Branch: refs/heads/users/aokblast/licm/relax_hoistable_branch
  Home:   https://github.com/llvm/llvm-project
  Commit: 66a1e86f83315155b2cef94243a21e31c309a3d5
      https://github.com/llvm/llvm-project/commit/66a1e86f83315155b2cef94243a21e31c309a3d5
  Author: ShengYi Hung <aokblast at FreeBSD.org>
  Date:   2026-09-23 (Wed, 23 Sep 2026)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/hoist-phi.ll

  Log Message:
  -----------
  [LICM] Relax Hoistable Branch if all of the incoming node are hoistable

Like PhiNode, a branch is possibly hoistable if all of the parents are
possible to hoist. The only difference is that we cannot hoisting to
PreHeader as it might erase itself in getOrCreateHoistedBlock. This is
why we have IsReplicatedBy check in hasExactlyReplicatedControlFlow.

In phi, it is not a matter as we only change the incoming node from a
phi node without overwrite its dominator.

Also, we fix a bug while we have nested hoisted node. In that case, we
have to find the LCA of the dominators of all users.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list