LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
include
llvm
MC
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_MCRELOCATIONINFO_H
17
#define LLVM_MC_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 relocation \p Rel.
42
/// \returns If possible, an MCExpr corresponding to Rel, else 0.
43
virtual
const
MCExpr
*
createExprForRelocation
(
object::RelocationRef
Rel);
44
45
/// \brief Create an MCExpr for the target-specific \p VariantKind.
46
/// The VariantKinds are defined in llvm-c/Disassembler.h.
47
/// Used by MCExternalSymbolizer.
48
/// \returns If possible, an MCExpr corresponding to VariantKind, else 0.
49
virtual
const
MCExpr
*
createExprForCAPIVariantKind
(
const
MCExpr
*SubExpr,
50
unsigned
VariantKind);
51
};
52
53
}
54
55
#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:33
llvm::object::RelocationRef
This is a value type class that represents a single relocation in the list of relocations in the obje...
Definition:
ObjectFile.h:40
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:48
llvm::MCRelocationInfo::~MCRelocationInfo
virtual ~MCRelocationInfo()
Definition:
MCRelocationInfo.cpp:21
Compiler.h
llvm::MCRelocationInfo
Create MCExprs from relocations found in an object file.
Definition:
MCRelocationInfo.h:30
llvm::MCRelocationInfo::createExprForRelocation
virtual const MCExpr * createExprForRelocation(object::RelocationRef Rel)
Create an MCExpr for the relocation Rel.
Definition:
MCRelocationInfo.cpp:25
llvm::MCRelocationInfo::createExprForCAPIVariantKind
virtual const MCExpr * createExprForCAPIVariantKind(const MCExpr *SubExpr, unsigned VariantKind)
Create an MCExpr for the target-specific VariantKind.
Definition:
MCRelocationInfo.cpp:30
Generated on Mon Aug 31 2015 11:04:12 for LLVM by
1.8.6