[all-commits] [llvm/llvm-project] 8ba341: [BranchFolding] Kill common hoisted debug instruct...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Mon Jul 21 06:19:56 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8ba341eec3929dd26679092196cd45dfdd1e60c6
      https://github.com/llvm/llvm-project/commit/8ba341eec3929dd26679092196cd45dfdd1e60c6
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-07-21 (Mon, 21 Jul 2025)

  Changed paths:
    M llvm/lib/CodeGen/BranchFolding.cpp
    M llvm/test/DebugInfo/X86/branch-folder-dbg.mir

  Log Message:
  -----------
  [BranchFolding] Kill common hoisted debug instructions (#140091)

branch-folder hoists common instructions from TBB and FBB into their
pred. Without this patch it achieves this by splicing the instructions from TBB
and deleting the common ones in FBB. That moves the debug locations and debug
instructions from TBB into the pred without modification, which is not
ideal. Debug locations are handled in pull request 140063.

This patch handles debug instructions - in the simplest way possible, which is
to just kill (undef) them. We kill and hoist the ones in FBB as well as TBB
because otherwise the fact there's an assignment on the code path is deleted
(which might lead to a prior location extending further than it should).

We might be able to do something smarter to preserve some variable locations in
some cases, but this is the easiest not-incorrect thing to do.



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