[all-commits] [llvm/llvm-project] b2fe5d: [SimplifyCFG] Hoist common code when succ is unrea...

Kunqiu Chen via All-commits all-commits at lists.llvm.org
Wed Oct 29 11:45:48 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b2fe5d1482ebab36d75922c41e73b64ab157c98b
      https://github.com/llvm/llvm-project/commit/b2fe5d1482ebab36d75922c41e73b64ab157c98b
  Author: Kunqiu Chen <camsyn at foxmail.com>
  Date:   2025-10-30 (Thu, 30 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Hoist common code when succ is unreachable block (#165570)

Previously, `hoistCommonCodeFromSuccessors` returned early if one of the
succ of BB has >1 predecessors.

However, if the succ is an unreachable BB, we can relax the condition to
perform `hoistCommonCodeFromSuccessors` based on the assumption of not
reaching UB.

See discussion https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2989
for details.

Alive2 proof: https://alive2.llvm.org/ce/z/OJOw0s
Promising optimization impact:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2995



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