Source Code Instrumentaton via Clang/LLVM

Dear community,

I would like to start a conversation about Source-to-Source Instrumentation via LLVM/clang.

In the past, 2014 I think, I have worked with the Clang Ast to do a Source-Code Instrumentation via LLVM/clang and add Likwid directives to c/c++ source code. May I ask you how can I update my file to the latest version? Since it is many years ago I created this code and LLVM/clang is growing so fast, my question is, how to achieve my goals in the newest clang version?

My project is written in python and for the source-code instrumentation step I have created several cpp files based on what has to be instrumented. The user has to decide how to instrument, which part of the code has to be measured later, eg. the whole file, a function, a specific for loop.

Highly appreciate your guidance. Where should I start to work with the latest Clang Ast. Any thoughts about?

Best regards

Makefile (5.33 KB)

functionCPPviaClang.cpp (7.45 KB)

forCPPviaClangLoop.cpp (8.03 KB)

forCPPviaClang.cpp (8.15 KB)

forCPPallViaClang.cpp (7.97 KB)

selectedFunctionCPPviaClang.cpp (7.4 KB)