19 #ifndef LLVM_C_TARGET_H
20 #define LLVM_C_TARGET_H
23 #include "llvm/Config/llvm-config.h"
25 #if defined(_MSC_VER) && !defined(inline)
26 #define inline __inline
46 #define LLVM_TARGET(TargetName) \
47 void LLVMInitialize##TargetName##TargetInfo(void);
48 #include "llvm/Config/Targets.def"
51 #define LLVM_TARGET(TargetName) void LLVMInitialize##TargetName##Target(void);
52 #include "llvm/Config/Targets.def"
55 #define LLVM_TARGET(TargetName) \
56 void LLVMInitialize##TargetName##TargetMC(void);
57 #include "llvm/Config/Targets.def"
61 #define LLVM_ASM_PRINTER(TargetName) \
62 void LLVMInitialize##TargetName##AsmPrinter(void);
63 #include "llvm/Config/AsmPrinters.def"
64 #undef LLVM_ASM_PRINTER
67 #define LLVM_ASM_PARSER(TargetName) \
68 void LLVMInitialize##TargetName##AsmParser(void);
69 #include "llvm/Config/AsmParsers.def"
70 #undef LLVM_ASM_PARSER
73 #define LLVM_DISASSEMBLER(TargetName) \
74 void LLVMInitialize##TargetName##Disassembler(void);
75 #include "llvm/Config/Disassemblers.def"
76 #undef LLVM_DISASSEMBLER
82 #define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetInfo();
83 #include "llvm/Config/Targets.def"
91 #define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
92 #include "llvm/Config/Targets.def"
100 #define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##TargetMC();
101 #include "llvm/Config/Targets.def"
109 #define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();
110 #include "llvm/Config/AsmPrinters.def"
111 #undef LLVM_ASM_PRINTER
118 #define LLVM_ASM_PARSER(TargetName) LLVMInitialize##TargetName##AsmParser();
119 #include "llvm/Config/AsmParsers.def"
120 #undef LLVM_ASM_PARSER
127 #define LLVM_DISASSEMBLER(TargetName) \
128 LLVMInitialize##TargetName##Disassembler();
129 #include "llvm/Config/Disassemblers.def"
130 #undef LLVM_DISASSEMBLER
138 #ifdef LLVM_NATIVE_TARGET
139 LLVM_NATIVE_TARGETINFO();
140 LLVM_NATIVE_TARGET();
141 LLVM_NATIVE_TARGETMC();
152 #ifdef LLVM_NATIVE_ASMPARSER
153 LLVM_NATIVE_ASMPARSER();
164 #ifdef LLVM_NATIVE_ASMPRINTER
165 LLVM_NATIVE_ASMPRINTER();
176 #ifdef LLVM_NATIVE_DISASSEMBLER
177 LLVM_NATIVE_DISASSEMBLER();
271 unsigned long long Offset);
enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD)
struct LLVMOpaqueType * LLVMTypeRef
unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)
static void LLVMInitializeAllTargets(void)
struct LLVMOpaqueTargetData * LLVMTargetDataRef
static void LLVMInitializeAllAsmParsers(void)
LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD)
unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
static LLVMBool LLVMInitializeNativeAsmParser(void)
static void LLVMInitializeAllAsmPrinters(void)
static LLVMBool LLVMInitializeNativeAsmPrinter(void)
static void LLVMInitializeAllDisassemblers(void)
unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned Element)
unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)
unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty)
static void LLVMInitializeAllTargetMCs(void)
unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS)
LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD, unsigned AS)
void LLVMDisposeTargetData(LLVMTargetDataRef TD)
struct LLVMOpaqueContext * LLVMContextRef
unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
struct LLVMOpaqueValue * LLVMValueRef
char * LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD)
unsigned LLVMPointerSize(LLVMTargetDataRef TD)
static LLVMBool LLVMInitializeNativeTarget(void)
struct LLVMOpaqueTargetLibraryInfotData * LLVMTargetLibraryInfoRef
LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep)
unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
struct LLVMOpaquePassManager * LLVMPassManagerRef
LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS)
static void LLVMInitializeAllTargetInfos(void)
static LLVMBool LLVMInitializeNativeDisassembler(void)
void LLVMAddTargetData(LLVMTargetDataRef TD, LLVMPassManagerRef PM)
void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)
unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty)
LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD)
INITIALIZE_PASS(GlobalMerge,"global-merge","Global Merge", false, false) bool GlobalMerge const DataLayout * TD