LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
include
llvm
MC
MCDisassembler
MCRelocationInfo.h
Go to the documentation of this file.
1
//==-- llvm/MC/MCRelocationInfo.h --------------------------------*- 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
// This file declares the MCRelocationInfo class, which provides methods to
11
// create MCExprs from relocations, either found in an object::ObjectFile
12
// (object::RelocationRef), or provided through the C API.
13
//
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
17
#define LLVM_MC_MCDISASSEMBLER_MCRELOCATIONINFO_H
18
19
#include "
llvm/Support/Compiler.h
"
20
21
namespace
llvm {
22
23
namespace
object {
24
class
RelocationRef;
25
}
26
class
MCExpr;
27
class
MCContext;
28
29
/// \brief Create MCExprs from relocations found in an object file.
30
class
MCRelocationInfo
{
31
MCRelocationInfo
(
const
MCRelocationInfo
&) =
delete
;
32
void
operator=(
const
MCRelocationInfo
&) =
delete
;
33
34
protected
:
35
MCContext
&
Ctx
;
36
37
public
:
38
MCRelocationInfo
(
MCContext
&
Ctx
);
39
virtual
~MCRelocationInfo
();
40
41
/// \brief Create an MCExpr for the target-specific \p VariantKind.
42
/// The VariantKinds are defined in llvm-c/Disassembler.h.
43
/// Used by MCExternalSymbolizer.
44
/// \returns If possible, an MCExpr corresponding to VariantKind, else 0.
45
virtual
const
MCExpr
*
createExprForCAPIVariantKind
(
const
MCExpr
*SubExpr,
46
unsigned
VariantKind);
47
};
48
49
}
50
51
#endif
llvm::MCRelocationInfo::Ctx
MCContext & Ctx
Definition:
MCRelocationInfo.h:35
llvm::MCExpr
Base class for the full range of assembler expressions which are needed for parsing.
Definition:
MCExpr.h:34
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:51
llvm::MCRelocationInfo::~MCRelocationInfo
virtual ~MCRelocationInfo()
Definition:
MCRelocationInfo.cpp:20
Compiler.h
llvm::MCRelocationInfo
Create MCExprs from relocations found in an object file.
Definition:
MCRelocationInfo.h:30
llvm::MCRelocationInfo::createExprForCAPIVariantKind
virtual const MCExpr * createExprForCAPIVariantKind(const MCExpr *SubExpr, unsigned VariantKind)
Create an MCExpr for the target-specific VariantKind.
Definition:
MCRelocationInfo.cpp:24
Generated on Wed Mar 8 2017 17:16:06 for LLVM by
1.8.6