LLVM
8.0.1
include
llvm
Transforms
Utils
EntryExitInstrumenter.h
Go to the documentation of this file.
1
//===- EntryExitInstrumenter.h - Function Entry/Exit Instrumentation ------===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// EntryExitInstrumenter pass - Instrument function entry/exit with calls to
11
// mcount(), @__cyg_profile_func_{enter,exit} and the like. There are two
12
// variants, intended to run pre- and post-inlining, respectively.
13
//
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_TRANSFORMS_UTILS_ENTRYEXITINSTRUMENTER_H
17
#define LLVM_TRANSFORMS_UTILS_ENTRYEXITINSTRUMENTER_H
18
19
#include "
llvm/IR/PassManager.h
"
20
21
namespace
llvm
{
22
23
class
Function
;
24
25
struct
EntryExitInstrumenterPass
26
:
public
PassInfoMixin
<EntryExitInstrumenterPass> {
27
EntryExitInstrumenterPass
(
bool
PostInlining
) : PostInlining(PostInlining) {}
28
29
PreservedAnalyses
run
(
Function
&
F
,
FunctionAnalysisManager
&AM);
30
31
bool
PostInlining
;
32
};
33
34
}
// namespace llvm
35
36
#endif // LLVM_TRANSFORMS_UTILS_ENTRYEXITINSTRUMENTER_H
llvm
This class represents lattice values for constants.
Definition:
AllocatorList.h:24
llvm::codeview::PublicSymFlags::Function
F
F(f)
llvm::Function
Definition:
Function.h:60
llvm::PassInfoMixin
A CRTP mix-in to automatically provide informational APIs needed for passes.
Definition:
PassManager.h:366
llvm::PreservedAnalyses
A set of analyses that are preserved following a run of a transformation pass.
Definition:
PassManager.h:154
llvm::EntryExitInstrumenterPass::run
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
Definition:
EntryExitInstrumenter.cpp:167
llvm::EntryExitInstrumenterPass
Definition:
EntryExitInstrumenter.h:25
llvm::AnalysisManager
A container for analyses that lazily runs them and caches their results.
Definition:
InstructionSimplify.h:41
PassManager.h
This header defines various interfaces for pass management in LLVM.
llvm::EntryExitInstrumenterPass::EntryExitInstrumenterPass
EntryExitInstrumenterPass(bool PostInlining)
Definition:
EntryExitInstrumenter.h:27
llvm::EntryExitInstrumenterPass::PostInlining
bool PostInlining
Definition:
EntryExitInstrumenter.h:31
Generated on Sun Dec 20 2020 13:53:39 for LLVM by
1.8.13