LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
lib
Target
X86
AsmParser
X86AsmInstrumentation.h
Go to the documentation of this file.
1
//===- X86AsmInstrumentation.h - Instrument X86 inline assembly *- C++ -*-===//
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
#ifndef LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMINSTRUMENTATION_H
11
#define LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMINSTRUMENTATION_H
12
13
#include "
llvm/ADT/SmallVector.h
"
14
15
#include <memory>
16
17
namespace
llvm {
18
19
class
MCContext;
20
class
MCInst;
21
class
MCInstrInfo;
22
class
MCParsedAsmOperand;
23
class
MCStreamer;
24
class
MCSubtargetInfo;
25
class
MCTargetOptions;
26
27
class
X86AsmInstrumentation;
28
29
X86AsmInstrumentation *
30
CreateX86AsmInstrumentation
(
const
MCTargetOptions &MCOptions,
31
const
MCContext &Ctx,
32
const
MCSubtargetInfo *&STI);
33
34
class
X86AsmInstrumentation
{
35
public
:
36
virtual
~X86AsmInstrumentation
();
37
38
// Sets frame register corresponding to a current frame.
39
void
SetInitialFrameRegister
(
unsigned
RegNo) {
40
InitialFrameReg
= RegNo;
41
}
42
43
// Tries to instrument and emit instruction.
44
virtual
void
InstrumentAndEmitInstruction
(
45
const
MCInst
&Inst,
46
SmallVectorImpl
<std::unique_ptr<MCParsedAsmOperand> > &Operands,
47
MCContext
&Ctx,
const
MCInstrInfo
&MII,
MCStreamer
&Out);
48
49
protected
:
50
friend
X86AsmInstrumentation
*
51
CreateX86AsmInstrumentation
(
const
MCTargetOptions
&MCOptions,
52
const
MCContext
&Ctx,
53
const
MCSubtargetInfo
*&
STI
);
54
55
X86AsmInstrumentation
(
const
MCSubtargetInfo
*&
STI
);
56
57
unsigned
GetFrameRegGeneric
(
const
MCContext
&Ctx,
MCStreamer
&Out);
58
59
void
EmitInstruction
(
MCStreamer
&Out,
const
MCInst
&Inst);
60
61
const
MCSubtargetInfo
*&
STI
;
62
63
unsigned
InitialFrameReg
;
64
};
65
66
}
// End llvm namespace
67
68
#endif
llvm::X86AsmInstrumentation::GetFrameRegGeneric
unsigned GetFrameRegGeneric(const MCContext &Ctx, MCStreamer &Out)
Definition:
X86AsmInstrumentation.cpp:1043
llvm::SmallVectorImpl
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition:
APFloat.h:32
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:51
llvm::MCInst
Instances of this class represent a single low-level machine instruction.
Definition:
MCInst.h:150
llvm::X86AsmInstrumentation::InstrumentAndEmitInstruction
virtual void InstrumentAndEmitInstruction(const MCInst &Inst, SmallVectorImpl< std::unique_ptr< MCParsedAsmOperand > > &Operands, MCContext &Ctx, const MCInstrInfo &MII, MCStreamer &Out)
Definition:
X86AsmInstrumentation.cpp:1032
llvm::X86AsmInstrumentation::EmitInstruction
void EmitInstruction(MCStreamer &Out, const MCInst &Inst)
Definition:
X86AsmInstrumentation.cpp:1038
llvm::MCStreamer
Streaming machine code generation interface.
Definition:
MCStreamer.h:161
llvm::X86AsmInstrumentation::X86AsmInstrumentation
X86AsmInstrumentation(const MCSubtargetInfo *&STI)
Definition:
X86AsmInstrumentation.cpp:1027
llvm::MCInstrInfo
Interface to description of machine instruction set.
Definition:
MCInstrInfo.h:24
llvm::CreateX86AsmInstrumentation
X86AsmInstrumentation * CreateX86AsmInstrumentation(const MCTargetOptions &MCOptions, const MCContext &Ctx, const MCSubtargetInfo *&STI)
Definition:
X86AsmInstrumentation.cpp:1063
llvm::X86AsmInstrumentation::CreateX86AsmInstrumentation
friend X86AsmInstrumentation * CreateX86AsmInstrumentation(const MCTargetOptions &MCOptions, const MCContext &Ctx, const MCSubtargetInfo *&STI)
Definition:
X86AsmInstrumentation.cpp:1063
llvm::X86AsmInstrumentation::InitialFrameReg
unsigned InitialFrameReg
Definition:
X86AsmInstrumentation.h:63
llvm::MCSubtargetInfo
MCSubtargetInfo - Generic base class for all target subtargets.
Definition:
MCSubtargetInfo.h:30
llvm::X86AsmInstrumentation::~X86AsmInstrumentation
virtual ~X86AsmInstrumentation()
Definition:
X86AsmInstrumentation.cpp:1030
llvm::X86AsmInstrumentation::STI
const MCSubtargetInfo *& STI
Definition:
X86AsmInstrumentation.h:61
SmallVector.h
llvm::X86AsmInstrumentation
Definition:
X86AsmInstrumentation.h:34
llvm::MCTargetOptions
Definition:
MCTargetOptions.h:28
llvm::X86AsmInstrumentation::SetInitialFrameRegister
void SetInitialFrameRegister(unsigned RegNo)
Definition:
X86AsmInstrumentation.h:39
Generated on Wed Mar 8 2017 17:31:23 for LLVM by
1.8.6