[all-commits] [llvm/llvm-project] affed5: [DFAJumpThreading] Add MaxOuterUseBlocks threshold...

Hongyu Chen via All-commits all-commits at lists.llvm.org
Wed Oct 29 09:35:10 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: affed57d3611b114ade0f703d48e5217c8cbf248
      https://github.com/llvm/llvm-project/commit/affed57d3611b114ade0f703d48e5217c8cbf248
  Author: Hongyu Chen <xxs_chy at outlook.com>
  Date:   2025-10-30 (Thu, 30 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    A llvm/test/Transforms/DFAJumpThreading/max-outer-uses.ll

  Log Message:
  -----------
  [DFAJumpThreading] Add MaxOuterUseBlocks threshold (#163428)

For every threadable path `B1 -> B2 -> ... -> Bn`, we need to insert phi
nodes into every unduplicated successor of `Bi` if there are outer uses
of duplicated definitions in `B_i`. To prevent the booming of phi nodes,
this patch adds a threshold for the maximum number of unduplicated
successors that may contain outer uses. This threshold makes sense
especially when multi-target branches like switch/indirectbr/callbr are
duplicated.

Note that the O3 statistics in llvm-test-suite are not influenced.



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