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

Kevin Sala Penades via All-commits all-commits at lists.llvm.org
Wed May 7 12:31:05 PDT 2025


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

  Changed paths:
    M llvm/include/llvm/Analysis/MemoryBuiltins.h
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    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/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    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