LLVM
8.0.1
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
z
+
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
+
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Related Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
y
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
v
+
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
+
Enumerator
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
+
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
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