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

28 FK_PCRel_1,

29 FK_PCRel_2,

30 FK_PCRel_4,

31 FK_PCRel_8,

32 FK_GPRel_1,

33 FK_GPRel_2,

34 FK_GPRel_4,

35 FK_GPRel_8,

37 FK_DTPRel_8,

38 FK_TPRel_4,

39 FK_TPRel_8,

40 FK_SecRel_1,

41 FK_SecRel_2,

42 FK_SecRel_4,

43 FK_SecRel_8,

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.