LLVM 23.0.0git
InstrumentorStubPrinter.h
Go to the documentation of this file.
1//===- Transforms/IPO/InstrumentorStubPrinter.h ---------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// A generator of Instrumentor's runtime stubs.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_TRANSFORMS_IPO_INSTRUMENTOR_STUB_PRINTER_H
14#define LLVM_TRANSFORMS_IPO_INSTRUMENTOR_STUB_PRINTER_H
15
16#include "llvm/ADT/StringRef.h"
17#include "llvm/IR/Module.h"
19
20namespace llvm {
21namespace instrumentor {
22
23/// Print a runtime stub file with the implementation of the instrumentation
24/// runtime functions corresponding to the instrumentation opportunities
25/// enabled.
27 StringRef StubRuntimeName, LLVMContext &Ctx);
28
29/// Print the runtime header file that provides helper structures and functions
30/// for reading data generated by the Instrumentor pass.
32 StringRef HeaderFileName, LLVMContext &Ctx);
33
34} // end namespace instrumentor
35} // end namespace llvm
36
37#endif // LLVM_TRANSFORMS_IPO_INSTRUMENTOR_STUB_PRINTER_H
Module.h This file contains the declarations for the Module class.
void printRuntimeHeader(const InstrumentationConfig &IConf, StringRef HeaderFileName, LLVMContext &Ctx)
Print the runtime header file that provides helper structures and functions for reading data generate...
void printRuntimeStub(const InstrumentationConfig &IConf, StringRef StubRuntimeName, LLVMContext &Ctx)
Print a runtime stub file with the implementation of the instrumentation runtime functions correspond...
This is an optimization pass for GlobalISel generic memory operations.
The class that contains the configuration for the instrumentor.