[all-commits] [llvm/llvm-project] abc067: [BOLT][AArch64] Handle irreversible branches in co...

Alexandros Lamprineas via All-commits all-commits at lists.llvm.org
Fri Mar 27 06:42:19 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: abc0674f839ab4b932f5cc6e15da04566897b600
      https://github.com/llvm/llvm-project/commit/abc0674f839ab4b932f5cc6e15da04566897b600
  Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/test/AArch64/compare-and-branch-reorder-blocks.S

  Log Message:
  -----------
  [BOLT][AArch64] Handle irreversible branches in compact-code-model (#186850)

When the compact-code-model is used, LongJmpPass::relaxLocalBranches
attempts to reverseBranchCondition without calling isReversibleBranch
resulting in runtime error. With this patch I am adding an additional
trampoline to handle irreversible FEAT_CMPBR branches.

In the future the plan is to use liveness analysis and replace the
irreversible branch with compare followed by branch (see #185731) as
long as the condition flags are dead, or emit the additional trampoline
otherwise.



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