[all-commits] [llvm/llvm-project] 2920ce: [Instrumentor] Add Instrumentor pass

Kevin Sala Penades via All-commits all-commits at lists.llvm.org
Wed May 7 13:25:08 PDT 2025


  Branch: refs/heads/users/kevinsala/instrumentor-base-pr
  Home:   https://github.com/llvm/llvm-project
  Commit: 2920ce7b7fc61dab42611e557a0b6c45e7e39299
      https://github.com/llvm/llvm-project/commit/2920ce7b7fc61dab42611e557a0b6c45e7e39299
  Author: Kevin Sala <salapenades1 at llnl.gov>
  Date:   2025-05-07 (Wed, 07 May 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    A llvm/include/llvm/Transforms/IPO/Instrumentor.h
    A llvm/include/llvm/Transforms/IPO/InstrumentorConfigFile.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/CMakeLists.txt
    A llvm/lib/Transforms/IPO/Instrumentor.cpp
    A llvm/lib/Transforms/IPO/InstrumentorConfigFile.cpp
    A llvm/test/Instrumentation/Instrumentor/counters.ll
    A llvm/test/Instrumentation/Instrumentor/counters_config.json
    A llvm/test/Instrumentation/Instrumentor/custom_config.json
    A llvm/test/Instrumentation/Instrumentor/default_config.json
    A llvm/test/Instrumentation/Instrumentor/load_store.ll
    A llvm/test/Instrumentation/Instrumentor/load_store_args.ll
    A llvm/test/Instrumentation/Instrumentor/load_store_config.json
    A llvm/test/Instrumentation/Instrumentor/load_store_noreplace.ll
    A llvm/test/Instrumentation/Instrumentor/load_store_noreplace_config.json
    A llvm/test/Instrumentation/Instrumentor/read_config.ll
    A llvm/test/Instrumentation/Instrumentor/write_config.ll

  Log Message:
  -----------
  [Instrumentor] Add Instrumentor pass

This commit adds the basic infrastructure for the Instrumentor
pass, which allows instrumenting code in a simple and
customizable way. This commit adds support for instrumenting
load and store instructions. The Instrumentor can be configured
with a JSON file that describes what should be instrumented, or
can be used programmatically from another pass.

This is only a squash commit of several contributions to the
Instrumentor. The following are the authors and contributors of
this pass:

Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>
Co-authored-by: Kevin Sala <salapenades1 at llnl.gov>
Co-authored-by: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
Co-authored-by: Ethan Luis McDonough <ethanluismcdonough at gmail.com>



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