//===- bolt/Passes/Instrumentation.h ----------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This is an instrumentation pass that modifies the input binary to generate // a profile after execution finishes. It can modify branches and calls to // increment counters stored in the process memory. A runtime library is linked // into the final binary to handle writing these counters to an fdata file. See // runtime/instr.cpp // //===----------------------------------------------------------------------===// #ifndef BOLT_PASSES_INSTRUMENTATION_H #define BOLT_PASSES_INSTRUMENTATION_H #include "bolt/Passes/BinaryPasses.h" #include "bolt/Passes/InstrumentationSummary.h" #include "llvm/Support/RWMutex.h" namespace llvm { namespace bolt { class Instrumentation : public BinaryFunctionPass { … }; } // namespace bolt } // namespace llvm #endif