[all-commits] [llvm/llvm-project] ae032c: [KeyInstr][Clang] Add ApplyAtomGroup

Orlando Cazalet-Hyams via All-commits all-commits at lists.llvm.org
Tue May 20 09:41:28 PDT 2025


  Branch: refs/heads/users/OCHyams/ki-clang-scoped-setter
  Home:   https://github.com/llvm/llvm-project
  Commit: ae032c5dd3537662508d77bbb447808f52481f5d
      https://github.com/llvm/llvm-project/commit/ae032c5dd3537662508d77bbb447808f52481f5d
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-20 (Tue, 20 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [KeyInstr][Clang] Add ApplyAtomGroup

This is a scoped helper similar to ApplyDebugLocation that creates a new source
atom group which instructions can be added to.

A source atom is a source construct that is "interesting" for debug stepping
purposes. We use an atom group number to track the instruction(s) that implement
the functionality for the atom, plus backup instructions/source locations.

---

This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.

The Key Instructions project is introduced, including a "quick summary" section
at the top which adds context for this PR, here:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668

The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.

The Clang-side work is demoed here:
https://github.com/llvm/llvm-project/pull/130943


  Commit: 69995e53f547279c887b498a6597043a1d4a8be5
      https://github.com/llvm/llvm-project/commit/69995e53f547279c887b498a6597043a1d4a8be5
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-20 (Tue, 20 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  fix rebase fallout (CGDebugInfo.h removed from this header)


  Commit: 8e7f643e9d6bef7a54f48c33c7938611fe86d497
      https://github.com/llvm/llvm-project/commit/8e7f643e9d6bef7a54f48c33c7938611fe86d497
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-20 (Tue, 20 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  replace the ret-override mechanisms with addInstToSpecificSourceAtom


Compare: https://github.com/llvm/llvm-project/compare/0544aed12dd7...8e7f643e9d6b

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