19#ifndef LLVM_C_TARGET_H
20#define LLVM_C_TARGET_H
41#define LLVM_TARGET(TargetName) \
42 void LLVMInitialize##TargetName##TargetInfo(void);
43#include "llvm/Config/Targets.def"
46#define LLVM_TARGET(TargetName) void LLVMInitialize##TargetName##Target(void);
47#include "llvm/Config/Targets.def"
50#define LLVM_TARGET(TargetName) \
51 void LLVMInitialize##TargetName##TargetMC(void);
52#include "llvm/Config/Targets.def"
56#define LLVM_ASM_PRINTER(TargetName) \
57 void LLVMInitialize##TargetName##AsmPrinter(void);
58#include "llvm/Config/AsmPrinters.def"
59#undef LLVM_ASM_PRINTER
62#define LLVM_ASM_PARSER(TargetName) \
63 void LLVMInitialize##TargetName##AsmParser(void);
64#include "llvm/Config/AsmParsers.def"
68#define LLVM_DISASSEMBLER(TargetName) \
69 void LLVMInitialize##TargetName##Disassembler(void);
70#include "llvm/Config/Disassemblers.def"
71#undef LLVM_DISASSEMBLER
76static inline void LLVMInitializeAllTargetInfos(
void) {
77#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();
78#include "llvm/Config/Targets.def"
85static inline void LLVMInitializeAllTargets(
void) {
86#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
87#include "llvm/Config/Targets.def"
94static inline void LLVMInitializeAllTargetMCs(
void) {
95#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetMC();
96#include "llvm/Config/Targets.def"
103static inline void LLVMInitializeAllAsmPrinters(
void) {
104#define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();
105#include "llvm/Config/AsmPrinters.def"
106#undef LLVM_ASM_PRINTER
112static inline void LLVMInitializeAllAsmParsers(
void) {
113#define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();
114#include "llvm/Config/AsmParsers.def"
115#undef LLVM_ASM_PARSER
121static inline void LLVMInitializeAllDisassemblers(
void) {
122#define LLVM_DISASSEMBLER(TargetName) \
123 LLVMInitialize##TargetName##Disassembler();
124#include "llvm/Config/Disassemblers.def"
125#undef LLVM_DISASSEMBLER
131static inline LLVMBool LLVMInitializeNativeTarget(
void) {
133#ifdef LLVM_NATIVE_TARGET
146static inline LLVMBool LLVMInitializeNativeAsmParser(
void) {
147#ifdef LLVM_NATIVE_ASMPARSER
158static inline LLVMBool LLVMInitializeNativeAsmPrinter(
void) {
159#ifdef LLVM_NATIVE_ASMPRINTER
170static inline LLVMBool LLVMInitializeNativeDisassembler(
void) {
171#ifdef LLVM_NATIVE_DISASSEMBLER
279 unsigned long long Offset);
#define LLVM_C_EXTERN_C_BEGIN
#define LLVM_C_EXTERN_C_END
struct LLVMOpaqueValue * LLVMValueRef
struct LLVMOpaquePassManager * LLVMPassManagerRef
struct LLVMOpaqueContext * LLVMContextRef
struct LLVMOpaqueType * LLVMTypeRef
struct LLVMOpaqueModule * LLVMModuleRef
void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL)
LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M)
unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
void LLVMDisposeTargetData(LLVMTargetDataRef TD)
char * LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD)
LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD)
unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD)
LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD)
unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS)
unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty)
void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef
unsigned LLVMPointerSize(LLVMTargetDataRef TD)
LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS)
unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep)
struct LLVMOpaqueTargetData * LLVMTargetDataRef
LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
#define LLVM_NATIVE_ASMPARSER
#define LLVM_NATIVE_TARGETMC
#define LLVM_NATIVE_TARGET
#define LLVM_NATIVE_TARGETINFO
#define LLVM_NATIVE_DISASSEMBLER
#define LLVM_NATIVE_ASMPRINTER