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
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 - ...