[all-commits] [llvm/llvm-project] f8de16: [KeyInstr][SimplifyCFG] Remap atoms when folding b...

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Tue May 6 07:03:42 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8de1618cc3349829ed5ab699413dcb84451e0c7
      https://github.com/llvm/llvm-project/commit/f8de1618cc3349829ed5ab699413dcb84451e0c7
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-06 (Tue, 06 May 2025)

  Changed paths:
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/DebugInfo/KeyInstructions/Generic/simplifycfg-branch-fold.ll

  Log Message:
  -----------
  [KeyInstr][SimplifyCFG] Remap atoms when folding br to common succ into pred (#133482)

SimplifyCFG folds `d` into preds `b` and `c`.

              +---------------+
              |               |
         +--> b --+           |
         |        v           v
     --> a        d --> e --> f -->
         |        ^           ^
         +--> c --+           |
              |               |
              +---------------+
    
Remap source atoms so that the duplicated instructions are analysed
independently to determine is_stmt positions.

The pull request contains a discussion covering various edge cases here:
https://github.com/llvm/llvm-project/pull/133482/files#r2039519348

The summary of the discussion is that we could avoid remapping when there's a
single pred, but we decided that it's still a trade off, and not worth the
additional complexity right now.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668



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