[all-commits] [llvm/llvm-project] 7b4175: [Instrumentor] Add Instrumentor pass (#138958)
Kevin Sala Penades via All-commits
all-commits at lists.llvm.org
Wed May 6 06:06:36 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7b4175c17f16f6597e5c80a017ea2f8aa1b09fcb
https://github.com/llvm/llvm-project/commit/7b4175c17f16f6597e5c80a017ea2f8aa1b09fcb
Author: Kevin Sala Penades <salapenades1 at llnl.gov>
Date: 2026-05-06 (Wed, 06 May 2026)
Changed paths:
A llvm/include/llvm/Transforms/IPO/Instrumentor.h
A llvm/include/llvm/Transforms/IPO/InstrumentorConfigFile.h
A llvm/include/llvm/Transforms/IPO/InstrumentorUtils.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 (#138958)
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.
The default JSON config file can be found in:
`llvm/test/Instrumentation/Instrumentor/default_config.json`. More
information about Instrumentor in the
[RFC](https://discourse.llvm.org/t/rfc-introducing-instrumentor-easily-customizable-code-instrumentation/86020).
This is only a squash commit of several contributions to the
Instrumentor. The authors and contributors of this pass are:
- Johannes Doerfert @jdoerfert
- Kevin Sala @kevinsala
- Ivan Radanov Ivanov @ivanradanov
- Ethan Luis McDonough @EthanLuisMcDonough
---------
Co-authored-by: Johannes Doerfert <johannes at jdoerfert.de>
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