LLVM: include/llvm-c/Target.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19#ifndef LLVM_C_TARGET_H
20#define LLVM_C_TARGET_H
21
26#include "llvm/Config/llvm-config.h"
27
29
30
31
32
33
34
35
36
38
41
42
43#define LLVM_TARGET(TargetName) \
44 LLVM_C_ABI void LLVMInitialize##TargetName##TargetInfo(void);
45#include "llvm/Config/Targets.def"
46#undef LLVM_TARGET
47
48#define LLVM_TARGET(TargetName) \
49 LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);
50#include "llvm/Config/Targets.def"
51#undef LLVM_TARGET
52
53#define LLVM_TARGET(TargetName) \
54 LLVM_C_ABI void LLVMInitialize##TargetName##TargetMC(void);
55#include "llvm/Config/Targets.def"
56#undef LLVM_TARGET
57
58
59#define LLVM_ASM_PRINTER(TargetName) \
60 LLVM_C_ABI void LLVMInitialize##TargetName##AsmPrinter(void);
61#include "llvm/Config/AsmPrinters.def"
62#undef LLVM_ASM_PRINTER
63
64
65#define LLVM_ASM_PARSER(TargetName) \
66 LLVM_C_ABI void LLVMInitialize##TargetName##AsmParser(void);
67#include "llvm/Config/AsmParsers.def"
68#undef LLVM_ASM_PARSER
69
70
71#define LLVM_DISASSEMBLER(TargetName) \
72 LLVM_C_ABI void LLVMInitialize##TargetName##Disassembler(void);
73#include "llvm/Config/Disassemblers.def"
74#undef LLVM_DISASSEMBLER
75
76
77
78
80#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();
81#include "llvm/Config/Targets.def"
82#undef LLVM_TARGET
83}
84
85
86
87
89#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
90#include "llvm/Config/Targets.def"
91#undef LLVM_TARGET
92}
93
94
95
96
98#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetMC();
99#include "llvm/Config/Targets.def"
100#undef LLVM_TARGET
101}
102
103
104
105
107#define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();
108#include "llvm/Config/AsmPrinters.def"
109#undef LLVM_ASM_PRINTER
110}
111
112
113
114
116#define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();
117#include "llvm/Config/AsmParsers.def"
118#undef LLVM_ASM_PARSER
119}
120
121
122
123
125#define LLVM_DISASSEMBLER(TargetName) \
126 LLVMInitialize##TargetName##Disassembler();
127#include "llvm/Config/Disassemblers.def"
128#undef LLVM_DISASSEMBLER
129}
130
131
132
133
135
136#ifdef LLVM_NATIVE_TARGET
137 LLVM_NATIVE_TARGETINFO();
138 LLVM_NATIVE_TARGET();
139 LLVM_NATIVE_TARGETMC();
140 return 0;
141#else
142 return 1;
143#endif
144}
145
146
147
148
150#ifdef LLVM_NATIVE_ASMPARSER
151 LLVM_NATIVE_ASMPARSER();
152 return 0;
153#else
154 return 1;
155#endif
156}
157
158
159
160
162#ifdef LLVM_NATIVE_ASMPRINTER
163 LLVM_NATIVE_ASMPRINTER();
164 return 0;
165#else
166 return 1;
167#endif
168}
169
170
171
172
174#ifdef LLVM_NATIVE_DISASSEMBLER
175 LLVM_NATIVE_DISASSEMBLER();
176 return 0;
177#else
178 return 1;
179#endif
180}
181
182
183
184
185
186
187
188
190
191
192
193
194
195
197
198
199
201
202
203
205
206
207
208
211
212
213
214
216
217
218
219
221
222
223
225
226
227
228
230
231
232
235 "Use of the global context is deprecated, use "
236 "LLVMIntPtrTypeInContext instead");
237
238
239
240
243 "Use of the global context is deprecated, use LLVMIntPtrTypeForASInContext "
244 "instead");
245
246
247
250
251
252
253
256 unsigned AS);
257
258
259
262
263
264
267
268
269
272
273
274
277
278
279
282
283
284
287
288
289
292
293
294
297 unsigned long long Offset);
298
299
300
303 unsigned Element);
304
305
306
307
308
310
311#endif
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
#define LLVM_ATTRIBUTE_C_DEPRECATED(decl, message)
#define LLVM_C_EXTERN_C_BEGIN
#define LLVM_C_EXTERN_C_END
LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD)
LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS)
#define LLVM_C_ABI
LLVM_C_ABI is the export/visibility macro used to mark symbols declared in llvm-c as exported when bu...
struct LLVMOpaqueValue * LLVMValueRef
Represents an individual value in LLVM IR.
struct LLVMOpaquePassManager * LLVMPassManagerRef
struct LLVMOpaqueContext * LLVMContextRef
The top-level container for all LLVM global data.
struct LLVMOpaqueType * LLVMTypeRef
Each value in the LLVM IR has a type, an LLVMTypeRef.
struct LLVMOpaqueModule * LLVMModuleRef
The top-level container for all other LLVM Intermediate Representation (IR) objects.
static LLVMBool LLVMInitializeNativeAsmParser(void)
LLVMInitializeNativeTargetAsmParser - The main program should call this function to initialize the pa...
Definition Target.h:149
LLVM_C_ABI LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M)
Obtain the data layout for a module.
LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep)
Creates target data from a target layout string.
LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the preferred alignment of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the call frame alignment of a type in bytes for a target.
LLVM_C_ABI unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
Computes the byte offset of the indexed struct element for a target.
LLVM_C_ABI void LLVMDisposeTargetData(LLVMTargetDataRef TD)
Deallocates a TargetData.
LLVM_C_ABI void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
Adds target library information to a pass manager.
LLVM_C_ABI enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD)
Returns the byte order of a target, either LLVMBigEndian or LLVMLittleEndian.
LLVM_C_ABI unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
Computes the preferred alignment of a global variable in bytes for a target.
LLVM_C_ABI unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the storage size of a type in bytes for a target.
static void LLVMInitializeAllTargetInfos(void)
LLVMInitializeAllTargetInfos - The main program should call this function if it wants access to all a...
Definition Target.h:79
LLVMByteOrdering
Definition Target.h:37
LLVM_C_ABI unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the ABI size of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS)
Returns the pointer size in bytes for a target for a specified address space.
LLVM_C_ABI unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the ABI alignment of a type in bytes for a target.
LLVM_C_ABI unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
Computes the structure element that contains the byte offset for a target.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD)
Returns the integer type that is the same size as a pointer on a target.
static LLVMBool LLVMInitializeNativeAsmPrinter(void)
LLVMInitializeNativeTargetAsmPrinter - The main program should call this function to initialize the p...
Definition Target.h:161
static LLVMBool LLVMInitializeNativeDisassembler(void)
LLVMInitializeNativeTargetDisassembler - The main program should call this function to initialize the...
Definition Target.h:173
static void LLVMInitializeAllTargetMCs(void)
LLVMInitializeAllTargetMCs - The main program should call this function if it wants access to all ava...
Definition Target.h:97
LLVM_C_ABI char * LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD)
Converts target data to a target layout string.
LLVM_C_ABI unsigned LLVMPointerSize(LLVMTargetDataRef TD)
Returns the pointer size in bytes for a target.
LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
Returns the integer type that is the same size as a pointer on a target.
struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef
Definition Target.h:40
static void LLVMInitializeAllAsmParsers(void)
LLVMInitializeAllAsmParsers - The main program should call this function if it wants all asm parsers ...
Definition Target.h:115
LLVM_C_ABI void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL)
Set the data layout for a module.
static LLVMBool LLVMInitializeNativeTarget(void)
LLVMInitializeNativeTarget - The main program should call this function to initialize the native targ...
Definition Target.h:134
LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty)
Computes the size of a type in bits for a target.
static void LLVMInitializeAllTargets(void)
LLVMInitializeAllTargets - The main program should call this function if it wants to link in all avai...
Definition Target.h:88
struct LLVMOpaqueTargetData * LLVMTargetDataRef
Definition Target.h:39
static void LLVMInitializeAllAsmPrinters(void)
LLVMInitializeAllAsmPrinters - The main program should call this function if it wants all asm printer...
Definition Target.h:106
static void LLVMInitializeAllDisassemblers(void)
LLVMInitializeAllDisassemblers - The main program should call this function if it wants all disassemb...
Definition Target.h:124
@ LLVMBigEndian
Definition Target.h:37
@ LLVMLittleEndian
Definition Target.h:37