LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
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,
const
MCSubtargetInfo &STI);
32
33
class
X86AsmInstrumentation
{
34
public
:
35
virtual
~X86AsmInstrumentation
();
36
37
// Sets frame register corresponding to a current frame.
38
void
SetInitialFrameRegister
(
unsigned
RegNo) {
39
InitialFrameReg
= RegNo;
40
}
41
42
// Tries to instrument and emit instruction.
43
virtual
void
InstrumentAndEmitInstruction
(
44
const
MCInst
&Inst,
45
SmallVectorImpl
<std::unique_ptr<MCParsedAsmOperand> > &
Operands
,
46
MCContext
&Ctx,
const
MCInstrInfo
&MII,
MCStreamer
&Out);
47
48
protected
:
49
friend
X86AsmInstrumentation
*
50
CreateX86AsmInstrumentation
(
const
MCTargetOptions
&MCOptions,
51
const
MCContext
&Ctx,
const
MCSubtargetInfo
&
STI
);
52
53
X86AsmInstrumentation
(
const
MCSubtargetInfo
&
STI
);
54
55
unsigned
GetFrameRegGeneric
(
const
MCContext
&Ctx,
MCStreamer
&Out);
56
57
void
EmitInstruction
(
MCStreamer
&Out,
const
MCInst
&Inst);
58
59
const
MCSubtargetInfo
&
STI
;
60
61
unsigned
InitialFrameReg
;
62
};
63
64
}
// End llvm namespace
65
66
#endif
llvm::CreateX86AsmInstrumentation
X86AsmInstrumentation * CreateX86AsmInstrumentation(const MCTargetOptions &MCOptions, const MCContext &Ctx, const MCSubtargetInfo &STI)
Definition:
X86AsmInstrumentation.cpp:1069
llvm::X86AsmInstrumentation::X86AsmInstrumentation
X86AsmInstrumentation(const MCSubtargetInfo &STI)
Definition:
X86AsmInstrumentation.cpp:1033
llvm::X86AsmInstrumentation::STI
const MCSubtargetInfo & STI
Definition:
X86AsmInstrumentation.h:59
llvm::X86AsmInstrumentation::CreateX86AsmInstrumentation
friend X86AsmInstrumentation * CreateX86AsmInstrumentation(const MCTargetOptions &MCOptions, const MCContext &Ctx, const MCSubtargetInfo &STI)
Definition:
X86AsmInstrumentation.cpp:1069
llvm::X86AsmInstrumentation::GetFrameRegGeneric
unsigned GetFrameRegGeneric(const MCContext &Ctx, MCStreamer &Out)
Definition:
X86AsmInstrumentation.cpp:1049
llvm::SmallVectorImpl
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition:
APInt.h:33
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:48
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:1038
llvm::X86AsmInstrumentation::EmitInstruction
void EmitInstruction(MCStreamer &Out, const MCInst &Inst)
Definition:
X86AsmInstrumentation.cpp:1044
llvm::MCStreamer
Streaming machine code generation interface.
Definition:
MCStreamer.h:157
llvm::MCInstrInfo
Interface to description of machine instruction set.
Definition:
MCInstrInfo.h:24
Operands
SI Fold Operands
Definition:
SIFoldOperands.cpp:81
llvm::X86AsmInstrumentation::InitialFrameReg
unsigned InitialFrameReg
Definition:
X86AsmInstrumentation.h:61
llvm::MCSubtargetInfo
MCSubtargetInfo - Generic base class for all target subtargets.
Definition:
MCSubtargetInfo.h:29
llvm::X86AsmInstrumentation::~X86AsmInstrumentation
virtual ~X86AsmInstrumentation()
Definition:
X86AsmInstrumentation.cpp:1036
SmallVector.h
llvm::X86AsmInstrumentation
Definition:
X86AsmInstrumentation.h:33
llvm::MCTargetOptions
Definition:
MCTargetOptions.h:19
llvm::X86AsmInstrumentation::SetInitialFrameRegister
void SetInitialFrameRegister(unsigned RegNo)
Definition:
X86AsmInstrumentation.h:38
Generated on Mon Aug 31 2015 11:11:45 for LLVM by
1.8.6