LLVM: include/llvm/MC/MCFixup.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9#ifndef LLVM_MC_MCFIXUP_H
10#define LLVM_MC_MCFIXUP_H
11
15#include
16
17namespace llvm {
18class MCExpr;
19
20
44
46
47
48
49
51
52
53
55};
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
72
73
74
76
77
79
80
81
83
84
86public:
92 FI.Offset = Offset;
93 FI.Kind = Kind;
94 FI.Loc = Loc;
95 return FI;
96 }
97
99
101
104
106
107
108
110 switch (Size) {
112 case 1:
114 case 2:
116 case 4:
118 case 8:
120 }
121 }
122
124};
125
126}
127
128#endif
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Base class for the full range of assembler expressions which are needed for parsing.
Encode information on a single operation to perform on a byte sequence (e.g., an encoded instruction)...
static MCFixupKind getKindForSize(unsigned Size, bool IsPCRel)
Return the generic fixup kind for a value with the given size.
const MCExpr * getValue() const
uint32_t getOffset() const
static MCFixup create(uint32_t Offset, const MCExpr *Value, MCFixupKind Kind, SMLoc Loc=SMLoc())
unsigned getTargetKind() const
void setOffset(uint32_t Value)
MCFixupKind getKind() const
Represents a location in source code.
LLVM Value Representation.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
MCFixupKind
Extensible enumeration to represent the type of a fixup.
@ FK_PCRel_4
A four-byte pc relative fixup.
@ FK_PCRel_2
A two-byte pc relative fixup.
@ FK_SecRel_2
A two-byte section relative fixup.
@ FirstLiteralRelocationKind
The range [FirstLiteralRelocationKind, MaxTargetFixupKind) is used for relocations coming from ....
@ FK_Data_8
A eight-byte fixup.
@ FK_Data_1
A one-byte fixup.
@ FK_GPRel_8
A eight-byte gp relative fixup.
@ MaxFixupKind
Set limit to accommodate the highest reloc type in use for all Targets, currently R_AARCH64_IRELATIVE...
@ FK_Data_4
A four-byte fixup.
@ FK_DTPRel_4
A four-byte dtp relative fixup.
@ FK_DTPRel_8
A eight-byte dtp relative fixup.
@ FK_SecRel_8
A eight-byte section relative fixup.
@ FK_PCRel_8
A eight-byte pc relative fixup.
@ FK_SecRel_4
A four-byte section relative fixup.
@ FK_GPRel_1
A one-byte gp relative fixup.
@ FK_TPRel_4
A four-byte tp relative fixup.
@ FK_GPRel_4
A four-byte gp relative fixup.
@ FK_PCRel_1
A one-byte pc relative fixup.
@ FK_TPRel_8
A eight-byte tp relative fixup.
@ FK_SecRel_1
A one-byte section relative fixup.
@ FK_Data_leb128
A leb128 fixup.
@ FK_GPRel_2
A two-byte gp relative fixup.
@ FK_Data_2
A two-byte fixup.