[all-commits] [llvm/llvm-project] 2f910f: [CopyProf] Add CopyProf instrumentation passes. (#...

newgre via All-commits all-commits at lists.llvm.org
Wed Jul 29 06:11:42 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2f910f66e7e181c8c1b6ed97d44e6f4bceb6c557
      https://github.com/llvm/llvm-project/commit/2f910f66e7e181c8c1b6ed97d44e6f4bceb6c557
  Author: newgre <jannewger at gmail.com>
  Date:   2026-07-29 (Wed, 29 Jul 2026)

  Changed paths:
    A llvm/include/llvm/Transforms/Instrumentation/CopyProf.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/CopyProf.cpp
    A llvm/test/Instrumentation/CopyProf/function-instrumentation.ll
    A llvm/test/Instrumentation/CopyProf/no-instrumentation.ll
    A llvm/test/Instrumentation/CopyProf/store-instrumentation.ll

  Log Message:
  -----------
  [CopyProf] Add CopyProf instrumentation passes. (#207385)

This patch introduces the instrumentation passes and corresponding tests
for CopyProf, a profiling tool designed to identify unnecessary object
copies in C++ applications.
RFC at

https://discourse.llvm.org/t/rfc-copysanitizer-csan-detecting-unneccessary-object-copies-at-runtime/91038.

Three passes are added:
- CopyProfPass inserts enter/exit callback around special member
functions.
- CopyPRofStoresPass instruments store instructions to track memory
modifications.
- ModuleCopyProfPass inserts a module constructor to initialize the
CopyProf runtime at program startup (will be added later).



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