LLVM: include/llvm-c/DisassemblerTypes.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10#ifndef LLVM_C_DISASSEMBLERTYPES_H

11#define LLVM_C_DISASSEMBLERTYPES_H

12

14#ifdef __cplusplus

15#include

16#else

17#include <stddef.h>

18#endif

19

20

21

22

23

24

25

26

27

28

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

50 int TagType, void *TagBuf);

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

74 const char *Name;

76};

77

83};

84

85

86

87

88#define LLVMDisassembler_VariantKind_None 0

89

90

91

92

93#define LLVMDisassembler_VariantKind_ARM_HI16 1

94#define LLVMDisassembler_VariantKind_ARM_LO16 2

95

96

97

98

99#define LLVMDisassembler_VariantKind_ARM64_PAGE 1

100#define LLVMDisassembler_VariantKind_ARM64_PAGEOFF 2

101#define LLVMDisassembler_VariantKind_ARM64_GOTPAGE 3

102#define LLVMDisassembler_VariantKind_ARM64_GOTPAGEOFF 4

103#define LLVMDisassembler_VariantKind_ARM64_TLVP 5

104#define LLVMDisassembler_VariantKind_ARM64_TLVOFF 6

105

106

107

108

109

110

111

112

113

114

115

116

117

118typedef const char *(*LLVMSymbolLookupCallback)(void *DisInfo,

122 const char **ReferenceName);

123

124

125

126

127#define LLVMDisassembler_ReferenceType_InOut_None 0

128

129

130#define LLVMDisassembler_ReferenceType_In_Branch 1

131

132#define LLVMDisassembler_ReferenceType_In_PCrel_Load 2

133

134

135#define LLVMDisassembler_ReferenceType_In_ARM64_ADRP 0x100000001

136

137#define LLVMDisassembler_ReferenceType_In_ARM64_ADDXri 0x100000002

138

139#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXui 0x100000003

140

141#define LLVMDisassembler_ReferenceType_In_ARM64_LDRXl 0x100000004

142

143#define LLVMDisassembler_ReferenceType_In_ARM64_ADR 0x100000005

144

145

146#define LLVMDisassembler_ReferenceType_Out_SymbolStub 1

147

148#define LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr 2

149

150#define LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr 3

151

152

153#define LLVMDisassembler_ReferenceType_Out_Objc_CFString_Ref 4

154

155#define LLVMDisassembler_ReferenceType_Out_Objc_Message 5

156

157#define LLVMDisassembler_ReferenceType_Out_Objc_Message_Ref 6

158

159#define LLVMDisassembler_ReferenceType_Out_Objc_Selector_Ref 7

160

161#define LLVMDisassembler_ReferenceType_Out_Objc_Class_Ref 8

162

163

164#define LLVMDisassembler_ReferenceType_DeMangled_Name 9

165

166

167

168

169

170#endif

int(* LLVMOpInfoCallback)(void *DisInfo, uint64_t PC, uint64_t Offset, uint64_t OpSize, uint64_t InstSize, int TagType, void *TagBuf)

The type for the operand information call back function.

void * LLVMDisasmContextRef

An opaque reference to a disassembler context.

struct LLVMOpInfoSymbol1 SubtractSymbol

struct LLVMOpInfoSymbol1 AddSymbol

The initial support in LLVM MC for the most general form of a relocatable expression is "AddSymbol - ...