]>
Commit | Line | Data |
---|---|---|
81345200 A |
1 | /* |
2 | * Copyright (C) 2013 Apple Inc. All rights reserved. | |
3 | * | |
4 | * Redistribution and use in source and binary forms, with or without | |
5 | * modification, are permitted provided that the following conditions | |
6 | * are met: | |
7 | * 1. Redistributions of source code must retain the above copyright | |
8 | * notice, this list of conditions and the following disclaimer. | |
9 | * 2. Redistributions in binary form must reproduce the above copyright | |
10 | * notice, this list of conditions and the following disclaimer in the | |
11 | * documentation and/or other materials provided with the distribution. | |
12 | * | |
13 | * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY | |
14 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
15 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
16 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR | |
17 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
18 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
19 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
20 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | |
21 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
23 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
24 | */ | |
25 | ||
26 | #ifndef LLVMAPIFunctions_h | |
27 | #define LLVMAPIFunctions_h | |
28 | ||
29 | #include "LLVMHeaders.h" | |
30 | ||
31 | #define FOR_EACH_LLVM_API_FUNCTION(macro) \ | |
32 | macro(void, InitializeCore, (LLVMPassRegistryRef R)) \ | |
33 | macro(void, Shutdown, ()) \ | |
34 | macro(char *, CreateMessage, (const char *Message)) \ | |
35 | macro(void, DisposeMessage, (char *Message)) \ | |
36 | macro(void, InstallFatalErrorHandler, (LLVMFatalErrorHandler Handler)) \ | |
37 | macro(LLVMContextRef, ContextCreate, (void)) \ | |
38 | macro(LLVMContextRef, GetGlobalContext, (void)) \ | |
39 | macro(void, ContextDispose, (LLVMContextRef C)) \ | |
40 | macro(unsigned, GetMDKindIDInContext, (LLVMContextRef C, const char* Name, unsigned SLen)) \ | |
41 | macro(unsigned, GetMDKindID, (const char* Name, unsigned SLen)) \ | |
42 | macro(LLVMModuleRef, ModuleCreateWithName, (const char *ModuleID)) \ | |
43 | macro(LLVMModuleRef, ModuleCreateWithNameInContext, (const char *ModuleID, LLVMContextRef C)) \ | |
44 | macro(void, DisposeModule, (LLVMModuleRef M)) \ | |
45 | macro(const char *, GetDataLayout, (LLVMModuleRef M)) \ | |
46 | macro(void, SetDataLayout, (LLVMModuleRef M, const char *Triple)) \ | |
47 | macro(const char *, GetTarget, (LLVMModuleRef M)) \ | |
48 | macro(void, SetTarget, (LLVMModuleRef M, const char *Triple)) \ | |
49 | macro(void, DumpModule, (LLVMModuleRef M)) \ | |
50 | macro(LLVMBool, PrintModuleToFile, (LLVMModuleRef M, const char *Filename, char **ErrorMessage)) \ | |
51 | macro(void, SetModuleInlineAsm, (LLVMModuleRef M, const char *Asm)) \ | |
52 | macro(LLVMContextRef, GetModuleContext, (LLVMModuleRef M)) \ | |
53 | macro(LLVMTypeRef, GetTypeByName, (LLVMModuleRef M, const char *Name)) \ | |
54 | macro(unsigned, GetNamedMetadataNumOperands, (LLVMModuleRef M, const char* name)) \ | |
55 | macro(void, GetNamedMetadataOperands, (LLVMModuleRef M, const char* name, LLVMValueRef *Dest)) \ | |
56 | macro(void, AddNamedMetadataOperand, (LLVMModuleRef M, const char* name, LLVMValueRef Val)) \ | |
57 | macro(LLVMValueRef, AddFunction, (LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy)) \ | |
58 | macro(LLVMValueRef, GetNamedFunction, (LLVMModuleRef M, const char *Name)) \ | |
59 | macro(LLVMValueRef, GetFirstFunction, (LLVMModuleRef M)) \ | |
60 | macro(LLVMValueRef, GetLastFunction, (LLVMModuleRef M)) \ | |
61 | macro(LLVMValueRef, GetNextFunction, (LLVMValueRef Fn)) \ | |
62 | macro(LLVMValueRef, GetPreviousFunction, (LLVMValueRef Fn)) \ | |
63 | macro(LLVMTypeKind, GetTypeKind, (LLVMTypeRef Ty)) \ | |
64 | macro(LLVMBool, TypeIsSized, (LLVMTypeRef Ty)) \ | |
65 | macro(LLVMContextRef, GetTypeContext, (LLVMTypeRef Ty)) \ | |
66 | macro(LLVMTypeRef, Int1TypeInContext, (LLVMContextRef C)) \ | |
67 | macro(LLVMTypeRef, Int8TypeInContext, (LLVMContextRef C)) \ | |
68 | macro(LLVMTypeRef, Int16TypeInContext, (LLVMContextRef C)) \ | |
69 | macro(LLVMTypeRef, Int32TypeInContext, (LLVMContextRef C)) \ | |
70 | macro(LLVMTypeRef, Int64TypeInContext, (LLVMContextRef C)) \ | |
71 | macro(LLVMTypeRef, IntTypeInContext, (LLVMContextRef C, unsigned NumBits)) \ | |
72 | macro(LLVMTypeRef, Int1Type, (void)) \ | |
73 | macro(LLVMTypeRef, Int8Type, (void)) \ | |
74 | macro(LLVMTypeRef, Int16Type, (void)) \ | |
75 | macro(LLVMTypeRef, Int32Type, (void)) \ | |
76 | macro(LLVMTypeRef, Int64Type, (void)) \ | |
77 | macro(LLVMTypeRef, IntType, (unsigned NumBits)) \ | |
78 | macro(unsigned, GetIntTypeWidth, (LLVMTypeRef IntegerTy)) \ | |
79 | macro(LLVMTypeRef, HalfTypeInContext, (LLVMContextRef C)) \ | |
80 | macro(LLVMTypeRef, FloatTypeInContext, (LLVMContextRef C)) \ | |
81 | macro(LLVMTypeRef, DoubleTypeInContext, (LLVMContextRef C)) \ | |
82 | macro(LLVMTypeRef, X86FP80TypeInContext, (LLVMContextRef C)) \ | |
83 | macro(LLVMTypeRef, FP128TypeInContext, (LLVMContextRef C)) \ | |
84 | macro(LLVMTypeRef, PPCFP128TypeInContext, (LLVMContextRef C)) \ | |
85 | macro(LLVMTypeRef, HalfType, (void)) \ | |
86 | macro(LLVMTypeRef, FloatType, (void)) \ | |
87 | macro(LLVMTypeRef, DoubleType, (void)) \ | |
88 | macro(LLVMTypeRef, X86FP80Type, (void)) \ | |
89 | macro(LLVMTypeRef, FP128Type, (void)) \ | |
90 | macro(LLVMTypeRef, PPCFP128Type, (void)) \ | |
91 | macro(LLVMTypeRef, FunctionType, (LLVMTypeRef ReturnType, LLVMTypeRef *ParamTypes, unsigned ParamCount, LLVMBool IsVarArg)) \ | |
92 | macro(LLVMBool, IsFunctionVarArg, (LLVMTypeRef FunctionTy)) \ | |
93 | macro(LLVMTypeRef, GetReturnType, (LLVMTypeRef FunctionTy)) \ | |
94 | macro(unsigned, CountParamTypes, (LLVMTypeRef FunctionTy)) \ | |
95 | macro(void, GetParamTypes, (LLVMTypeRef FunctionTy, LLVMTypeRef *Dest)) \ | |
96 | macro(LLVMTypeRef, StructTypeInContext, (LLVMContextRef C, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)) \ | |
97 | macro(LLVMTypeRef, StructType, (LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)) \ | |
98 | macro(LLVMTypeRef, StructCreateNamed, (LLVMContextRef C, const char *Name)) \ | |
99 | macro(const char *, GetStructName, (LLVMTypeRef Ty)) \ | |
100 | macro(void, StructSetBody, (LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes, unsigned ElementCount, LLVMBool Packed)) \ | |
101 | macro(unsigned, CountStructElementTypes, (LLVMTypeRef StructTy)) \ | |
102 | macro(void, GetStructElementTypes, (LLVMTypeRef StructTy, LLVMTypeRef *Dest)) \ | |
103 | macro(LLVMBool, IsPackedStruct, (LLVMTypeRef StructTy)) \ | |
104 | macro(LLVMBool, IsOpaqueStruct, (LLVMTypeRef StructTy)) \ | |
105 | macro(LLVMTypeRef, GetElementType, (LLVMTypeRef Ty)) \ | |
106 | macro(LLVMTypeRef, ArrayType, (LLVMTypeRef ElementType, unsigned ElementCount)) \ | |
107 | macro(unsigned, GetArrayLength, (LLVMTypeRef ArrayTy)) \ | |
108 | macro(LLVMTypeRef, PointerType, (LLVMTypeRef ElementType, unsigned AddressSpace)) \ | |
109 | macro(unsigned, GetPointerAddressSpace, (LLVMTypeRef PointerTy)) \ | |
110 | macro(LLVMTypeRef, VectorType, (LLVMTypeRef ElementType, unsigned ElementCount)) \ | |
111 | macro(unsigned, GetVectorSize, (LLVMTypeRef VectorTy)) \ | |
112 | macro(LLVMTypeRef, VoidTypeInContext, (LLVMContextRef C)) \ | |
113 | macro(LLVMTypeRef, LabelTypeInContext, (LLVMContextRef C)) \ | |
114 | macro(LLVMTypeRef, X86MMXTypeInContext, (LLVMContextRef C)) \ | |
115 | macro(LLVMTypeRef, VoidType, (void)) \ | |
116 | macro(LLVMTypeRef, LabelType, (void)) \ | |
117 | macro(LLVMTypeRef, X86MMXType, (void)) \ | |
118 | macro(LLVMTypeRef, TypeOf, (LLVMValueRef Val)) \ | |
119 | macro(const char *, GetValueName, (LLVMValueRef Val)) \ | |
120 | macro(void, SetValueName, (LLVMValueRef Val, const char *Name)) \ | |
121 | macro(void, DumpValue, (LLVMValueRef Val)) \ | |
122 | macro(void, ReplaceAllUsesWith, (LLVMValueRef OldVal, LLVMValueRef NewVal)) \ | |
123 | macro(LLVMBool, IsConstant, (LLVMValueRef Val)) \ | |
124 | macro(LLVMBool, IsUndef, (LLVMValueRef Val)) \ | |
125 | macro(LLVMValueRef, IsAArgument, (LLVMValueRef Val)) \ | |
126 | macro(LLVMValueRef, IsABasicBlock, (LLVMValueRef Val)) \ | |
127 | macro(LLVMValueRef, IsAInlineAsm, (LLVMValueRef Val)) \ | |
128 | macro(LLVMValueRef, IsAMDNode, (LLVMValueRef Val)) \ | |
129 | macro(LLVMValueRef, IsAMDString, (LLVMValueRef Val)) \ | |
130 | macro(LLVMValueRef, IsAUser, (LLVMValueRef Val)) \ | |
131 | macro(LLVMValueRef, IsAConstant, (LLVMValueRef Val)) \ | |
132 | macro(LLVMValueRef, IsABlockAddress, (LLVMValueRef Val)) \ | |
133 | macro(LLVMValueRef, IsAConstantAggregateZero, (LLVMValueRef Val)) \ | |
134 | macro(LLVMValueRef, IsAConstantArray, (LLVMValueRef Val)) \ | |
135 | macro(LLVMValueRef, IsAConstantExpr, (LLVMValueRef Val)) \ | |
136 | macro(LLVMValueRef, IsAConstantFP, (LLVMValueRef Val)) \ | |
137 | macro(LLVMValueRef, IsAConstantInt, (LLVMValueRef Val)) \ | |
138 | macro(LLVMValueRef, IsAConstantPointerNull, (LLVMValueRef Val)) \ | |
139 | macro(LLVMValueRef, IsAConstantStruct, (LLVMValueRef Val)) \ | |
140 | macro(LLVMValueRef, IsAConstantVector, (LLVMValueRef Val)) \ | |
141 | macro(LLVMValueRef, IsAGlobalValue, (LLVMValueRef Val)) \ | |
142 | macro(LLVMValueRef, IsAFunction, (LLVMValueRef Val)) \ | |
143 | macro(LLVMValueRef, IsAGlobalAlias, (LLVMValueRef Val)) \ | |
144 | macro(LLVMValueRef, IsAGlobalVariable, (LLVMValueRef Val)) \ | |
145 | macro(LLVMValueRef, IsAUndefValue, (LLVMValueRef Val)) \ | |
146 | macro(LLVMValueRef, IsAInstruction, (LLVMValueRef Val)) \ | |
147 | macro(LLVMValueRef, IsABinaryOperator, (LLVMValueRef Val)) \ | |
148 | macro(LLVMValueRef, IsACallInst, (LLVMValueRef Val)) \ | |
149 | macro(LLVMValueRef, IsAIntrinsicInst, (LLVMValueRef Val)) \ | |
150 | macro(LLVMValueRef, IsADbgInfoIntrinsic, (LLVMValueRef Val)) \ | |
151 | macro(LLVMValueRef, IsADbgDeclareInst, (LLVMValueRef Val)) \ | |
152 | macro(LLVMValueRef, IsAMemIntrinsic, (LLVMValueRef Val)) \ | |
153 | macro(LLVMValueRef, IsAMemCpyInst, (LLVMValueRef Val)) \ | |
154 | macro(LLVMValueRef, IsAMemMoveInst, (LLVMValueRef Val)) \ | |
155 | macro(LLVMValueRef, IsAMemSetInst, (LLVMValueRef Val)) \ | |
156 | macro(LLVMValueRef, IsACmpInst, (LLVMValueRef Val)) \ | |
157 | macro(LLVMValueRef, IsAFCmpInst, (LLVMValueRef Val)) \ | |
158 | macro(LLVMValueRef, IsAICmpInst, (LLVMValueRef Val)) \ | |
159 | macro(LLVMValueRef, IsAExtractElementInst, (LLVMValueRef Val)) \ | |
160 | macro(LLVMValueRef, IsAGetElementPtrInst, (LLVMValueRef Val)) \ | |
161 | macro(LLVMValueRef, IsAInsertElementInst, (LLVMValueRef Val)) \ | |
162 | macro(LLVMValueRef, IsAInsertValueInst, (LLVMValueRef Val)) \ | |
163 | macro(LLVMValueRef, IsALandingPadInst, (LLVMValueRef Val)) \ | |
164 | macro(LLVMValueRef, IsAPHINode, (LLVMValueRef Val)) \ | |
165 | macro(LLVMValueRef, IsASelectInst, (LLVMValueRef Val)) \ | |
166 | macro(LLVMValueRef, IsAShuffleVectorInst, (LLVMValueRef Val)) \ | |
167 | macro(LLVMValueRef, IsAStoreInst, (LLVMValueRef Val)) \ | |
168 | macro(LLVMValueRef, IsATerminatorInst, (LLVMValueRef Val)) \ | |
169 | macro(LLVMValueRef, IsABranchInst, (LLVMValueRef Val)) \ | |
170 | macro(LLVMValueRef, IsAIndirectBrInst, (LLVMValueRef Val)) \ | |
171 | macro(LLVMValueRef, IsAInvokeInst, (LLVMValueRef Val)) \ | |
172 | macro(LLVMValueRef, IsAReturnInst, (LLVMValueRef Val)) \ | |
173 | macro(LLVMValueRef, IsASwitchInst, (LLVMValueRef Val)) \ | |
174 | macro(LLVMValueRef, IsAUnreachableInst, (LLVMValueRef Val)) \ | |
175 | macro(LLVMValueRef, IsAResumeInst, (LLVMValueRef Val)) \ | |
176 | macro(LLVMValueRef, IsAUnaryInstruction, (LLVMValueRef Val)) \ | |
177 | macro(LLVMValueRef, IsAAllocaInst, (LLVMValueRef Val)) \ | |
178 | macro(LLVMValueRef, IsACastInst, (LLVMValueRef Val)) \ | |
179 | macro(LLVMValueRef, IsABitCastInst, (LLVMValueRef Val)) \ | |
180 | macro(LLVMValueRef, IsAFPExtInst, (LLVMValueRef Val)) \ | |
181 | macro(LLVMValueRef, IsAFPToSIInst, (LLVMValueRef Val)) \ | |
182 | macro(LLVMValueRef, IsAFPToUIInst, (LLVMValueRef Val)) \ | |
183 | macro(LLVMValueRef, IsAFPTruncInst, (LLVMValueRef Val)) \ | |
184 | macro(LLVMValueRef, IsAIntToPtrInst, (LLVMValueRef Val)) \ | |
185 | macro(LLVMValueRef, IsAPtrToIntInst, (LLVMValueRef Val)) \ | |
186 | macro(LLVMValueRef, IsASExtInst, (LLVMValueRef Val)) \ | |
187 | macro(LLVMValueRef, IsASIToFPInst, (LLVMValueRef Val)) \ | |
188 | macro(LLVMValueRef, IsATruncInst, (LLVMValueRef Val)) \ | |
189 | macro(LLVMValueRef, IsAUIToFPInst, (LLVMValueRef Val)) \ | |
190 | macro(LLVMValueRef, IsAZExtInst, (LLVMValueRef Val)) \ | |
191 | macro(LLVMValueRef, IsAExtractValueInst, (LLVMValueRef Val)) \ | |
192 | macro(LLVMValueRef, IsALoadInst, (LLVMValueRef Val)) \ | |
193 | macro(LLVMValueRef, IsAVAArgInst, (LLVMValueRef Val)) \ | |
194 | macro(LLVMUseRef, GetFirstUse, (LLVMValueRef Val)) \ | |
195 | macro(LLVMUseRef, GetNextUse, (LLVMUseRef U)) \ | |
196 | macro(LLVMValueRef, GetUser, (LLVMUseRef U)) \ | |
197 | macro(LLVMValueRef, GetUsedValue, (LLVMUseRef U)) \ | |
198 | macro(LLVMValueRef, GetOperand, (LLVMValueRef Val, unsigned Index)) \ | |
199 | macro(void, SetOperand, (LLVMValueRef User, unsigned Index, LLVMValueRef Val)) \ | |
200 | macro(int, GetNumOperands, (LLVMValueRef Val)) \ | |
201 | macro(LLVMValueRef, ConstNull, (LLVMTypeRef Ty)) \ | |
202 | macro(LLVMValueRef, ConstAllOnes, (LLVMTypeRef Ty)) \ | |
203 | macro(LLVMValueRef, GetUndef, (LLVMTypeRef Ty)) \ | |
204 | macro(LLVMBool, IsNull, (LLVMValueRef Val)) \ | |
205 | macro(LLVMValueRef, ConstPointerNull, (LLVMTypeRef Ty)) \ | |
206 | macro(LLVMValueRef, ConstInt, (LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)) \ | |
207 | macro(LLVMValueRef, ConstIntOfArbitraryPrecision, (LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[])) \ | |
208 | macro(LLVMValueRef, ConstIntOfString, (LLVMTypeRef IntTy, const char *Text, uint8_t Radix)) \ | |
209 | macro(LLVMValueRef, ConstIntOfStringAndSize, (LLVMTypeRef IntTy, const char *Text, unsigned SLen, uint8_t Radix)) \ | |
210 | macro(LLVMValueRef, ConstReal, (LLVMTypeRef RealTy, double N)) \ | |
211 | macro(LLVMValueRef, ConstRealOfString, (LLVMTypeRef RealTy, const char *Text)) \ | |
212 | macro(LLVMValueRef, ConstRealOfStringAndSize, (LLVMTypeRef RealTy, const char *Text, unsigned SLen)) \ | |
213 | macro(unsigned long long, ConstIntGetZExtValue, (LLVMValueRef ConstantVal)) \ | |
214 | macro(long long, ConstIntGetSExtValue, (LLVMValueRef ConstantVal)) \ | |
215 | macro(LLVMValueRef, ConstStringInContext, (LLVMContextRef C, const char *Str, unsigned Length, LLVMBool DontNullTerminate)) \ | |
216 | macro(LLVMValueRef, ConstString, (const char *Str, unsigned Length, LLVMBool DontNullTerminate)) \ | |
217 | macro(LLVMValueRef, ConstStructInContext, (LLVMContextRef C, LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)) \ | |
218 | macro(LLVMValueRef, ConstStruct, (LLVMValueRef *ConstantVals, unsigned Count, LLVMBool Packed)) \ | |
219 | macro(LLVMValueRef, ConstArray, (LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals, unsigned Length)) \ | |
220 | macro(LLVMValueRef, ConstNamedStruct, (LLVMTypeRef StructTy, LLVMValueRef *ConstantVals, unsigned Count)) \ | |
221 | macro(LLVMValueRef, ConstVector, (LLVMValueRef *ScalarConstantVals, unsigned Size)) \ | |
222 | macro(LLVMOpcode, GetConstOpcode, (LLVMValueRef ConstantVal)) \ | |
223 | macro(LLVMValueRef, AlignOf, (LLVMTypeRef Ty)) \ | |
224 | macro(LLVMValueRef, SizeOf, (LLVMTypeRef Ty)) \ | |
225 | macro(LLVMValueRef, ConstNeg, (LLVMValueRef ConstantVal)) \ | |
226 | macro(LLVMValueRef, ConstNSWNeg, (LLVMValueRef ConstantVal)) \ | |
227 | macro(LLVMValueRef, ConstNUWNeg, (LLVMValueRef ConstantVal)) \ | |
228 | macro(LLVMValueRef, ConstFNeg, (LLVMValueRef ConstantVal)) \ | |
229 | macro(LLVMValueRef, ConstNot, (LLVMValueRef ConstantVal)) \ | |
230 | macro(LLVMValueRef, ConstAdd, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
231 | macro(LLVMValueRef, ConstNSWAdd, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
232 | macro(LLVMValueRef, ConstNUWAdd, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
233 | macro(LLVMValueRef, ConstFAdd, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
234 | macro(LLVMValueRef, ConstSub, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
235 | macro(LLVMValueRef, ConstNSWSub, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
236 | macro(LLVMValueRef, ConstNUWSub, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
237 | macro(LLVMValueRef, ConstFSub, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
238 | macro(LLVMValueRef, ConstMul, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
239 | macro(LLVMValueRef, ConstNSWMul, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
240 | macro(LLVMValueRef, ConstNUWMul, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
241 | macro(LLVMValueRef, ConstFMul, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
242 | macro(LLVMValueRef, ConstUDiv, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
243 | macro(LLVMValueRef, ConstSDiv, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
244 | macro(LLVMValueRef, ConstExactSDiv, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
245 | macro(LLVMValueRef, ConstFDiv, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
246 | macro(LLVMValueRef, ConstURem, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
247 | macro(LLVMValueRef, ConstSRem, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
248 | macro(LLVMValueRef, ConstFRem, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
249 | macro(LLVMValueRef, ConstAnd, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
250 | macro(LLVMValueRef, ConstOr, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
251 | macro(LLVMValueRef, ConstXor, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
252 | macro(LLVMValueRef, ConstICmp, (LLVMIntPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
253 | macro(LLVMValueRef, ConstFCmp, (LLVMRealPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
254 | macro(LLVMValueRef, ConstShl, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
255 | macro(LLVMValueRef, ConstLShr, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
256 | macro(LLVMValueRef, ConstAShr, (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)) \ | |
257 | macro(LLVMValueRef, ConstGEP, (LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)) \ | |
258 | macro(LLVMValueRef, ConstInBoundsGEP, (LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices, unsigned NumIndices)) \ | |
259 | macro(LLVMValueRef, ConstTrunc, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
260 | macro(LLVMValueRef, ConstSExt, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
261 | macro(LLVMValueRef, ConstZExt, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
262 | macro(LLVMValueRef, ConstFPTrunc, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
263 | macro(LLVMValueRef, ConstFPExt, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
264 | macro(LLVMValueRef, ConstUIToFP, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
265 | macro(LLVMValueRef, ConstSIToFP, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
266 | macro(LLVMValueRef, ConstFPToUI, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
267 | macro(LLVMValueRef, ConstFPToSI, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
268 | macro(LLVMValueRef, ConstPtrToInt, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
269 | macro(LLVMValueRef, ConstIntToPtr, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
270 | macro(LLVMValueRef, ConstBitCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
271 | macro(LLVMValueRef, ConstZExtOrBitCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
272 | macro(LLVMValueRef, ConstSExtOrBitCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
273 | macro(LLVMValueRef, ConstTruncOrBitCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
274 | macro(LLVMValueRef, ConstPointerCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
275 | macro(LLVMValueRef, ConstIntCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType, LLVMBool isSigned)) \ | |
276 | macro(LLVMValueRef, ConstFPCast, (LLVMValueRef ConstantVal, LLVMTypeRef ToType)) \ | |
277 | macro(LLVMValueRef, ConstSelect, (LLVMValueRef ConstantCondition, LLVMValueRef ConstantIfTrue, LLVMValueRef ConstantIfFalse)) \ | |
278 | macro(LLVMValueRef, ConstExtractElement, (LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)) \ | |
279 | macro(LLVMValueRef, ConstInsertElement, (LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)) \ | |
280 | macro(LLVMValueRef, ConstShuffleVector, (LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)) \ | |
281 | macro(LLVMValueRef, ConstExtractValue, (LLVMValueRef AggConstant, unsigned *IdxList, unsigned NumIdx)) \ | |
282 | macro(LLVMValueRef, ConstInsertValue, (LLVMValueRef AggConstant, LLVMValueRef ElementValueConstant, unsigned *IdxList, unsigned NumIdx)) \ | |
283 | macro(LLVMValueRef, ConstInlineAsm, (LLVMTypeRef Ty, const char *AsmString, const char *Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)) \ | |
284 | macro(LLVMValueRef, BlockAddress, (LLVMValueRef F, LLVMBasicBlockRef BB)) \ | |
285 | macro(LLVMModuleRef, GetGlobalParent, (LLVMValueRef Global)) \ | |
286 | macro(LLVMBool, IsDeclaration, (LLVMValueRef Global)) \ | |
287 | macro(LLVMLinkage, GetLinkage, (LLVMValueRef Global)) \ | |
288 | macro(void, SetLinkage, (LLVMValueRef Global, LLVMLinkage Linkage)) \ | |
289 | macro(const char *, GetSection, (LLVMValueRef Global)) \ | |
290 | macro(void, SetSection, (LLVMValueRef Global, const char *Section)) \ | |
291 | macro(LLVMVisibility, GetVisibility, (LLVMValueRef Global)) \ | |
292 | macro(void, SetVisibility, (LLVMValueRef Global, LLVMVisibility Viz)) \ | |
293 | macro(unsigned, GetAlignment, (LLVMValueRef Global)) \ | |
294 | macro(void, SetAlignment, (LLVMValueRef Global, unsigned Bytes)) \ | |
295 | macro(LLVMValueRef, AddGlobal, (LLVMModuleRef M, LLVMTypeRef Ty, const char *Name)) \ | |
296 | macro(LLVMValueRef, AddGlobalInAddressSpace, (LLVMModuleRef M, LLVMTypeRef Ty, const char *Name, unsigned AddressSpace)) \ | |
297 | macro(LLVMValueRef, GetNamedGlobal, (LLVMModuleRef M, const char *Name)) \ | |
298 | macro(LLVMValueRef, GetFirstGlobal, (LLVMModuleRef M)) \ | |
299 | macro(LLVMValueRef, GetLastGlobal, (LLVMModuleRef M)) \ | |
300 | macro(LLVMValueRef, GetNextGlobal, (LLVMValueRef GlobalVar)) \ | |
301 | macro(LLVMValueRef, GetPreviousGlobal, (LLVMValueRef GlobalVar)) \ | |
302 | macro(void, DeleteGlobal, (LLVMValueRef GlobalVar)) \ | |
303 | macro(LLVMValueRef, GetInitializer, (LLVMValueRef GlobalVar)) \ | |
304 | macro(void, SetInitializer, (LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)) \ | |
305 | macro(LLVMBool, IsThreadLocal, (LLVMValueRef GlobalVar)) \ | |
306 | macro(void, SetThreadLocal, (LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)) \ | |
307 | macro(LLVMBool, IsGlobalConstant, (LLVMValueRef GlobalVar)) \ | |
308 | macro(void, SetGlobalConstant, (LLVMValueRef GlobalVar, LLVMBool IsConstant)) \ | |
309 | macro(LLVMThreadLocalMode, GetThreadLocalMode, (LLVMValueRef GlobalVar)) \ | |
310 | macro(void, SetThreadLocalMode, (LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode)) \ | |
311 | macro(LLVMBool, IsExternallyInitialized, (LLVMValueRef GlobalVar)) \ | |
312 | macro(void, SetExternallyInitialized, (LLVMValueRef GlobalVar, LLVMBool IsExtInit)) \ | |
313 | macro(LLVMValueRef, AddAlias, (LLVMModuleRef M, LLVMTypeRef Ty, LLVMValueRef Aliasee, const char *Name)) \ | |
314 | macro(void, DeleteFunction, (LLVMValueRef Fn)) \ | |
315 | macro(unsigned, GetIntrinsicID, (LLVMValueRef Fn)) \ | |
316 | macro(unsigned, GetFunctionCallConv, (LLVMValueRef Fn)) \ | |
317 | macro(void, SetFunctionCallConv, (LLVMValueRef Fn, unsigned CC)) \ | |
318 | macro(const char *, GetGC, (LLVMValueRef Fn)) \ | |
319 | macro(void, SetGC, (LLVMValueRef Fn, const char *Name)) \ | |
320 | macro(void, AddFunctionAttr, (LLVMValueRef Fn, LLVMAttribute PA)) \ | |
321 | macro(void, AddTargetDependentFunctionAttr, (LLVMValueRef Fn, const char *A, const char *V)) \ | |
322 | macro(LLVMAttribute, GetFunctionAttr, (LLVMValueRef Fn)) \ | |
323 | macro(void, RemoveFunctionAttr, (LLVMValueRef Fn, LLVMAttribute PA)) \ | |
324 | macro(unsigned, CountParams, (LLVMValueRef Fn)) \ | |
325 | macro(void, GetParams, (LLVMValueRef Fn, LLVMValueRef *Params)) \ | |
326 | macro(LLVMValueRef, GetParam, (LLVMValueRef Fn, unsigned Index)) \ | |
327 | macro(LLVMValueRef, GetParamParent, (LLVMValueRef Inst)) \ | |
328 | macro(LLVMValueRef, GetFirstParam, (LLVMValueRef Fn)) \ | |
329 | macro(LLVMValueRef, GetLastParam, (LLVMValueRef Fn)) \ | |
330 | macro(LLVMValueRef, GetNextParam, (LLVMValueRef Arg)) \ | |
331 | macro(LLVMValueRef, GetPreviousParam, (LLVMValueRef Arg)) \ | |
332 | macro(void, AddAttribute, (LLVMValueRef Arg, LLVMAttribute PA)) \ | |
333 | macro(void, RemoveAttribute, (LLVMValueRef Arg, LLVMAttribute PA)) \ | |
334 | macro(LLVMAttribute, GetAttribute, (LLVMValueRef Arg)) \ | |
335 | macro(void, SetParamAlignment, (LLVMValueRef Arg, unsigned align)) \ | |
336 | macro(LLVMValueRef, MDStringInContext, (LLVMContextRef C, const char *Str, unsigned SLen)) \ | |
337 | macro(LLVMValueRef, MDString, (const char *Str, unsigned SLen)) \ | |
338 | macro(LLVMValueRef, MDNodeInContext, (LLVMContextRef C, LLVMValueRef *Vals, unsigned Count)) \ | |
339 | macro(LLVMValueRef, MDNode, (LLVMValueRef *Vals, unsigned Count)) \ | |
340 | macro(const char *, GetMDString, (LLVMValueRef V, unsigned* Len)) \ | |
341 | macro(unsigned, GetMDNodeNumOperands, (LLVMValueRef V)) \ | |
342 | macro(void, GetMDNodeOperands, (LLVMValueRef V, LLVMValueRef *Dest)) \ | |
343 | macro(LLVMValueRef, BasicBlockAsValue, (LLVMBasicBlockRef BB)) \ | |
344 | macro(LLVMBool, ValueIsBasicBlock, (LLVMValueRef Val)) \ | |
345 | macro(LLVMBasicBlockRef, ValueAsBasicBlock, (LLVMValueRef Val)) \ | |
346 | macro(LLVMValueRef, GetBasicBlockParent, (LLVMBasicBlockRef BB)) \ | |
347 | macro(LLVMValueRef, GetBasicBlockTerminator, (LLVMBasicBlockRef BB)) \ | |
348 | macro(unsigned, CountBasicBlocks, (LLVMValueRef Fn)) \ | |
349 | macro(void, GetBasicBlocks, (LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks)) \ | |
350 | macro(LLVMBasicBlockRef, GetFirstBasicBlock, (LLVMValueRef Fn)) \ | |
351 | macro(LLVMBasicBlockRef, GetLastBasicBlock, (LLVMValueRef Fn)) \ | |
352 | macro(LLVMBasicBlockRef, GetNextBasicBlock, (LLVMBasicBlockRef BB)) \ | |
353 | macro(LLVMBasicBlockRef, GetPreviousBasicBlock, (LLVMBasicBlockRef BB)) \ | |
354 | macro(LLVMBasicBlockRef, GetEntryBasicBlock, (LLVMValueRef Fn)) \ | |
355 | macro(LLVMBasicBlockRef, AppendBasicBlockInContext, (LLVMContextRef C, LLVMValueRef Fn, const char *Name)) \ | |
356 | macro(LLVMBasicBlockRef, AppendBasicBlock, (LLVMValueRef Fn, const char *Name)) \ | |
357 | macro(LLVMBasicBlockRef, InsertBasicBlockInContext, (LLVMContextRef C, LLVMBasicBlockRef BB, const char *Name)) \ | |
358 | macro(LLVMBasicBlockRef, InsertBasicBlock, (LLVMBasicBlockRef InsertBeforeBB, const char *Name)) \ | |
359 | macro(void, DeleteBasicBlock, (LLVMBasicBlockRef BB)) \ | |
360 | macro(void, RemoveBasicBlockFromParent, (LLVMBasicBlockRef BB)) \ | |
361 | macro(void, MoveBasicBlockBefore, (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)) \ | |
362 | macro(void, MoveBasicBlockAfter, (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)) \ | |
363 | macro(LLVMValueRef, GetFirstInstruction, (LLVMBasicBlockRef BB)) \ | |
364 | macro(LLVMValueRef, GetLastInstruction, (LLVMBasicBlockRef BB)) \ | |
365 | macro(int, HasMetadata, (LLVMValueRef Val)) \ | |
366 | macro(LLVMValueRef, GetMetadata, (LLVMValueRef Val, unsigned KindID)) \ | |
367 | macro(void, SetMetadata, (LLVMValueRef Val, unsigned KindID, LLVMValueRef Node)) \ | |
368 | macro(LLVMBasicBlockRef, GetInstructionParent, (LLVMValueRef Inst)) \ | |
369 | macro(LLVMValueRef, GetNextInstruction, (LLVMValueRef Inst)) \ | |
370 | macro(LLVMValueRef, GetPreviousInstruction, (LLVMValueRef Inst)) \ | |
371 | macro(void, InstructionEraseFromParent, (LLVMValueRef Inst)) \ | |
372 | macro(LLVMOpcode, GetInstructionOpcode, (LLVMValueRef Inst)) \ | |
373 | macro(LLVMIntPredicate, GetICmpPredicate, (LLVMValueRef Inst)) \ | |
374 | macro(void, SetInstructionCallConv, (LLVMValueRef Instr, unsigned CC)) \ | |
375 | macro(unsigned, GetInstructionCallConv, (LLVMValueRef Instr)) \ | |
376 | macro(void, AddInstrAttribute, (LLVMValueRef Instr, unsigned index, LLVMAttribute)) \ | |
377 | macro(void, RemoveInstrAttribute, (LLVMValueRef Instr, unsigned index, LLVMAttribute)) \ | |
378 | macro(void, SetInstrParamAlignment, (LLVMValueRef Instr, unsigned index, unsigned align)) \ | |
379 | macro(LLVMBool, IsTailCall, (LLVMValueRef CallInst)) \ | |
380 | macro(void, SetTailCall, (LLVMValueRef CallInst, LLVMBool IsTailCall)) \ | |
381 | macro(LLVMBasicBlockRef, GetSwitchDefaultDest, (LLVMValueRef SwitchInstr)) \ | |
382 | macro(void, AddIncoming, (LLVMValueRef PhiNode, LLVMValueRef *IncomingValues, LLVMBasicBlockRef *IncomingBlocks, unsigned Count)) \ | |
383 | macro(unsigned, CountIncoming, (LLVMValueRef PhiNode)) \ | |
384 | macro(LLVMValueRef, GetIncomingValue, (LLVMValueRef PhiNode, unsigned Index)) \ | |
385 | macro(LLVMBasicBlockRef, GetIncomingBlock, (LLVMValueRef PhiNode, unsigned Index)) \ | |
386 | macro(LLVMBuilderRef, CreateBuilderInContext, (LLVMContextRef C)) \ | |
387 | macro(LLVMBuilderRef, CreateBuilder, (void)) \ | |
388 | macro(void, PositionBuilder, (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)) \ | |
389 | macro(void, PositionBuilderBefore, (LLVMBuilderRef Builder, LLVMValueRef Instr)) \ | |
390 | macro(void, PositionBuilderAtEnd, (LLVMBuilderRef Builder, LLVMBasicBlockRef Block)) \ | |
391 | macro(LLVMBasicBlockRef, GetInsertBlock, (LLVMBuilderRef Builder)) \ | |
392 | macro(void, ClearInsertionPosition, (LLVMBuilderRef Builder)) \ | |
393 | macro(void, InsertIntoBuilder, (LLVMBuilderRef Builder, LLVMValueRef Instr)) \ | |
394 | macro(void, InsertIntoBuilderWithName, (LLVMBuilderRef Builder, LLVMValueRef Instr, const char *Name)) \ | |
395 | macro(void, DisposeBuilder, (LLVMBuilderRef Builder)) \ | |
396 | macro(void, SetCurrentDebugLocation, (LLVMBuilderRef Builder, LLVMValueRef L)) \ | |
397 | macro(LLVMValueRef, GetCurrentDebugLocation, (LLVMBuilderRef Builder)) \ | |
398 | macro(void, SetInstDebugLocation, (LLVMBuilderRef Builder, LLVMValueRef Inst)) \ | |
399 | macro(LLVMValueRef, BuildRetVoid, (LLVMBuilderRef)) \ | |
400 | macro(LLVMValueRef, BuildRet, (LLVMBuilderRef, LLVMValueRef V)) \ | |
401 | macro(LLVMValueRef, BuildAggregateRet, (LLVMBuilderRef, LLVMValueRef *RetVals, unsigned N)) \ | |
402 | macro(LLVMValueRef, BuildBr, (LLVMBuilderRef, LLVMBasicBlockRef Dest)) \ | |
403 | macro(LLVMValueRef, BuildCondBr, (LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)) \ | |
404 | macro(LLVMValueRef, BuildSwitch, (LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, unsigned NumCases)) \ | |
405 | macro(LLVMValueRef, BuildIndirectBr, (LLVMBuilderRef B, LLVMValueRef Addr, unsigned NumDests)) \ | |
406 | macro(LLVMValueRef, BuildInvoke, (LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char *Name)) \ | |
407 | macro(LLVMValueRef, BuildLandingPad, (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned NumClauses, const char *Name)) \ | |
408 | macro(LLVMValueRef, BuildResume, (LLVMBuilderRef B, LLVMValueRef Exn)) \ | |
409 | macro(LLVMValueRef, BuildUnreachable, (LLVMBuilderRef)) \ | |
410 | macro(void, AddCase, (LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)) \ | |
411 | macro(void, AddDestination, (LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)) \ | |
412 | macro(void, AddClause, (LLVMValueRef LandingPad, LLVMValueRef ClauseVal)) \ | |
413 | macro(void, SetCleanup, (LLVMValueRef LandingPad, LLVMBool Val)) \ | |
414 | macro(LLVMValueRef, BuildAdd, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
415 | macro(LLVMValueRef, BuildNSWAdd, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
416 | macro(LLVMValueRef, BuildNUWAdd, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
417 | macro(LLVMValueRef, BuildFAdd, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
418 | macro(LLVMValueRef, BuildSub, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
419 | macro(LLVMValueRef, BuildNSWSub, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
420 | macro(LLVMValueRef, BuildNUWSub, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
421 | macro(LLVMValueRef, BuildFSub, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
422 | macro(LLVMValueRef, BuildMul, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
423 | macro(LLVMValueRef, BuildNSWMul, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
424 | macro(LLVMValueRef, BuildNUWMul, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
425 | macro(LLVMValueRef, BuildFMul, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
426 | macro(LLVMValueRef, BuildUDiv, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
427 | macro(LLVMValueRef, BuildSDiv, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
428 | macro(LLVMValueRef, BuildExactSDiv, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
429 | macro(LLVMValueRef, BuildFDiv, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
430 | macro(LLVMValueRef, BuildURem, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
431 | macro(LLVMValueRef, BuildSRem, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
432 | macro(LLVMValueRef, BuildFRem, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
433 | macro(LLVMValueRef, BuildShl, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
434 | macro(LLVMValueRef, BuildLShr, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
435 | macro(LLVMValueRef, BuildAShr, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
436 | macro(LLVMValueRef, BuildAnd, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
437 | macro(LLVMValueRef, BuildOr, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
438 | macro(LLVMValueRef, BuildXor, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
439 | macro(LLVMValueRef, BuildBinOp, (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
440 | macro(LLVMValueRef, BuildNeg, (LLVMBuilderRef, LLVMValueRef V, const char *Name)) \ | |
441 | macro(LLVMValueRef, BuildNSWNeg, (LLVMBuilderRef B, LLVMValueRef V, const char *Name)) \ | |
442 | macro(LLVMValueRef, BuildNUWNeg, (LLVMBuilderRef B, LLVMValueRef V, const char *Name)) \ | |
443 | macro(LLVMValueRef, BuildFNeg, (LLVMBuilderRef, LLVMValueRef V, const char *Name)) \ | |
444 | macro(LLVMValueRef, BuildNot, (LLVMBuilderRef, LLVMValueRef V, const char *Name)) \ | |
445 | macro(LLVMValueRef, BuildMalloc, (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)) \ | |
446 | macro(LLVMValueRef, BuildArrayMalloc, (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)) \ | |
447 | macro(LLVMValueRef, BuildAlloca, (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)) \ | |
448 | macro(LLVMValueRef, BuildArrayAlloca, (LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const char *Name)) \ | |
449 | macro(LLVMValueRef, BuildFree, (LLVMBuilderRef, LLVMValueRef PointerVal)) \ | |
450 | macro(LLVMValueRef, BuildLoad, (LLVMBuilderRef, LLVMValueRef PointerVal, const char *Name)) \ | |
451 | macro(LLVMValueRef, BuildStore, (LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr)) \ | |
452 | macro(LLVMValueRef, BuildGEP, (LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)) \ | |
453 | macro(LLVMValueRef, BuildInBoundsGEP, (LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef *Indices, unsigned NumIndices, const char *Name)) \ | |
454 | macro(LLVMValueRef, BuildStructGEP, (LLVMBuilderRef B, LLVMValueRef Pointer, unsigned Idx, const char *Name)) \ | |
455 | macro(LLVMValueRef, BuildGlobalString, (LLVMBuilderRef B, const char *Str, const char *Name)) \ | |
456 | macro(LLVMValueRef, BuildGlobalStringPtr, (LLVMBuilderRef B, const char *Str, const char *Name)) \ | |
457 | macro(LLVMBool, GetVolatile, (LLVMValueRef MemoryAccessInst)) \ | |
458 | macro(void, SetVolatile, (LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)) \ | |
459 | macro(LLVMValueRef, BuildTrunc, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
460 | macro(LLVMValueRef, BuildZExt, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
461 | macro(LLVMValueRef, BuildSExt, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
462 | macro(LLVMValueRef, BuildFPToUI, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
463 | macro(LLVMValueRef, BuildFPToSI, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
464 | macro(LLVMValueRef, BuildUIToFP, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
465 | macro(LLVMValueRef, BuildSIToFP, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
466 | macro(LLVMValueRef, BuildFPTrunc, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
467 | macro(LLVMValueRef, BuildFPExt, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
468 | macro(LLVMValueRef, BuildPtrToInt, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
469 | macro(LLVMValueRef, BuildIntToPtr, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
470 | macro(LLVMValueRef, BuildBitCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
471 | macro(LLVMValueRef, BuildZExtOrBitCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
472 | macro(LLVMValueRef, BuildSExtOrBitCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
473 | macro(LLVMValueRef, BuildTruncOrBitCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
474 | macro(LLVMValueRef, BuildCast, (LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
475 | macro(LLVMValueRef, BuildPointerCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
476 | macro(LLVMValueRef, BuildIntCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
477 | macro(LLVMValueRef, BuildFPCast, (LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const char *Name)) \ | |
478 | macro(LLVMValueRef, BuildICmp, (LLVMBuilderRef, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
479 | macro(LLVMValueRef, BuildFCmp, (LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
480 | macro(LLVMValueRef, BuildPhi, (LLVMBuilderRef, LLVMTypeRef Ty, const char *Name)) \ | |
481 | macro(LLVMValueRef, BuildCall, (LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef *Args, unsigned NumArgs, const char *Name)) \ | |
482 | macro(LLVMValueRef, BuildSelect, (LLVMBuilderRef, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char *Name)) \ | |
483 | macro(LLVMValueRef, BuildVAArg, (LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty, const char *Name)) \ | |
484 | macro(LLVMValueRef, BuildExtractElement, (LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef Index, const char *Name)) \ | |
485 | macro(LLVMValueRef, BuildInsertElement, (LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char *Name)) \ | |
486 | macro(LLVMValueRef, BuildShuffleVector, (LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char *Name)) \ | |
487 | macro(LLVMValueRef, BuildExtractValue, (LLVMBuilderRef, LLVMValueRef AggVal, unsigned Index, const char *Name)) \ | |
488 | macro(LLVMValueRef, BuildInsertValue, (LLVMBuilderRef, LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned Index, const char *Name)) \ | |
489 | macro(LLVMValueRef, BuildIsNull, (LLVMBuilderRef, LLVMValueRef Val, const char *Name)) \ | |
490 | macro(LLVMValueRef, BuildIsNotNull, (LLVMBuilderRef, LLVMValueRef Val, const char *Name)) \ | |
491 | macro(LLVMValueRef, BuildPtrDiff, (LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const char *Name)) \ | |
492 | macro(LLVMValueRef, BuildFence, (LLVMBuilderRef B, LLVMAtomicOrdering Ordering, LLVMBool isSingleThread, const char *Name)) \ | |
493 | macro(LLVMValueRef, BuildAtomicRMW, (LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)) \ | |
494 | macro(LLVMModuleProviderRef, CreateModuleProviderForExistingModule, (LLVMModuleRef M)) \ | |
495 | macro(void, DisposeModuleProvider, (LLVMModuleProviderRef M)) \ | |
496 | macro(LLVMBool, CreateMemoryBufferWithContentsOfFile, (const char *Path, LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)) \ | |
497 | macro(LLVMBool, CreateMemoryBufferWithSTDIN, (LLVMMemoryBufferRef *OutMemBuf, char **OutMessage)) \ | |
498 | macro(LLVMMemoryBufferRef, CreateMemoryBufferWithMemoryRange, (const char *InputData, size_t InputDataLength, const char *BufferName, LLVMBool RequiresNullTerminator)) \ | |
499 | macro(LLVMMemoryBufferRef, CreateMemoryBufferWithMemoryRangeCopy, (const char *InputData, size_t InputDataLength, const char *BufferName)) \ | |
500 | macro(const char *, GetBufferStart, (LLVMMemoryBufferRef MemBuf)) \ | |
501 | macro(size_t, GetBufferSize, (LLVMMemoryBufferRef MemBuf)) \ | |
502 | macro(void, DisposeMemoryBuffer, (LLVMMemoryBufferRef MemBuf)) \ | |
503 | macro(LLVMPassRegistryRef, GetGlobalPassRegistry, (void)) \ | |
504 | macro(LLVMPassManagerRef, CreatePassManager, (void)) \ | |
505 | macro(LLVMPassManagerRef, CreateFunctionPassManagerForModule, (LLVMModuleRef M)) \ | |
506 | macro(LLVMPassManagerRef, CreateFunctionPassManager, (LLVMModuleProviderRef MP)) \ | |
507 | macro(LLVMBool, RunPassManager, (LLVMPassManagerRef PM, LLVMModuleRef M)) \ | |
508 | macro(LLVMBool, InitializeFunctionPassManager, (LLVMPassManagerRef FPM)) \ | |
509 | macro(LLVMBool, RunFunctionPassManager, (LLVMPassManagerRef FPM, LLVMValueRef F)) \ | |
510 | macro(LLVMBool, FinalizeFunctionPassManager, (LLVMPassManagerRef FPM)) \ | |
511 | macro(void, DisposePassManager, (LLVMPassManagerRef PM)) \ | |
512 | macro(LLVMBool, StartMultithreaded, ()) \ | |
513 | macro(void, StopMultithreaded, ()) \ | |
514 | macro(LLVMBool, IsMultithreaded, ()) \ | |
515 | macro(LLVMTargetDataRef, CreateTargetData, (const char *StringRep)) \ | |
516 | macro(void, AddTargetData, (LLVMTargetDataRef, LLVMPassManagerRef)) \ | |
517 | macro(void, AddTargetLibraryInfo, (LLVMTargetLibraryInfoRef, LLVMPassManagerRef)) \ | |
518 | macro(char *, CopyStringRepOfTargetData, (LLVMTargetDataRef)) \ | |
519 | macro(enum LLVMByteOrdering, ByteOrder, (LLVMTargetDataRef)) \ | |
520 | macro(unsigned, PointerSize, (LLVMTargetDataRef)) \ | |
521 | macro(LLVMTypeRef, IntPtrType, (LLVMTargetDataRef)) \ | |
522 | macro(unsigned long long, SizeOfTypeInBits, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
523 | macro(unsigned long long, StoreSizeOfType, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
524 | macro(unsigned long long, ABISizeOfType, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
525 | macro(unsigned, ABIAlignmentOfType, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
526 | macro(unsigned, CallFrameAlignmentOfType, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
527 | macro(unsigned, PreferredAlignmentOfType, (LLVMTargetDataRef, LLVMTypeRef)) \ | |
528 | macro(unsigned, PreferredAlignmentOfGlobal, (LLVMTargetDataRef, LLVMValueRef GlobalVar)) \ | |
529 | macro(unsigned, ElementAtOffset, (LLVMTargetDataRef, LLVMTypeRef StructTy, unsigned long long Offset)) \ | |
530 | macro(unsigned long long, OffsetOfElement, (LLVMTargetDataRef, LLVMTypeRef StructTy, unsigned Element)) \ | |
531 | macro(void, DisposeTargetData, (LLVMTargetDataRef)) \ | |
532 | macro(LLVMTargetRef, GetFirstTarget, ()) \ | |
533 | macro(LLVMTargetRef, GetNextTarget, (LLVMTargetRef T)) \ | |
534 | macro(const char *, GetTargetName, (LLVMTargetRef T)) \ | |
535 | macro(const char *, GetTargetDescription, (LLVMTargetRef T)) \ | |
536 | macro(LLVMBool, TargetHasJIT, (LLVMTargetRef T)) \ | |
537 | macro(LLVMBool, TargetHasTargetMachine, (LLVMTargetRef T)) \ | |
538 | macro(LLVMBool, TargetHasAsmBackend, (LLVMTargetRef T)) \ | |
539 | macro(void, DisposeTargetMachine, (LLVMTargetMachineRef T)) \ | |
540 | macro(LLVMTargetRef, GetTargetMachineTarget, (LLVMTargetMachineRef T)) \ | |
541 | macro(char *, GetTargetMachineTriple, (LLVMTargetMachineRef T)) \ | |
542 | macro(char *, GetTargetMachineCPU, (LLVMTargetMachineRef T)) \ | |
543 | macro(char *, GetTargetMachineFeatureString, (LLVMTargetMachineRef T)) \ | |
544 | macro(LLVMTargetDataRef, GetTargetMachineData, (LLVMTargetMachineRef T)) \ | |
545 | macro(LLVMBool, TargetMachineEmitToFile, (LLVMTargetMachineRef T, LLVMModuleRef M, char *Filename, LLVMCodeGenFileType codegen, char **ErrorMessage)) \ | |
81345200 | 546 | macro(void, LinkInMCJIT, (void)) \ |
81345200 A |
547 | macro(LLVMGenericValueRef, CreateGenericValueOfInt, (LLVMTypeRef Ty, unsigned long long N, LLVMBool IsSigned)) \ |
548 | macro(LLVMGenericValueRef, CreateGenericValueOfPointer, (void *P)) \ | |
549 | macro(LLVMGenericValueRef, CreateGenericValueOfFloat, (LLVMTypeRef Ty, double N)) \ | |
550 | macro(unsigned, GenericValueIntWidth, (LLVMGenericValueRef GenValRef)) \ | |
551 | macro(unsigned long long, GenericValueToInt, (LLVMGenericValueRef GenVal, LLVMBool IsSigned)) \ | |
552 | macro(void *, GenericValueToPointer, (LLVMGenericValueRef GenVal)) \ | |
553 | macro(double, GenericValueToFloat, (LLVMTypeRef TyRef, LLVMGenericValueRef GenVal)) \ | |
554 | macro(void, DisposeGenericValue, (LLVMGenericValueRef GenVal)) \ | |
555 | macro(LLVMBool, CreateExecutionEngineForModule, (LLVMExecutionEngineRef *OutEE, LLVMModuleRef M, char **OutError)) \ | |
556 | macro(LLVMBool, CreateInterpreterForModule, (LLVMExecutionEngineRef *OutInterp, LLVMModuleRef M, char **OutError)) \ | |
557 | macro(LLVMBool, CreateJITCompilerForModule, (LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M, unsigned OptLevel, char **OutError)) \ | |
558 | macro(void, InitializeMCJITCompilerOptions, (struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions)) \ | |
559 | macro(LLVMBool, CreateMCJITCompilerForModule, (LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M, struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions, char **OutError)) \ | |
560 | macro(LLVMBool, CreateExecutionEngine, (LLVMExecutionEngineRef *OutEE, LLVMModuleProviderRef MP, char **OutError)) \ | |
561 | macro(LLVMBool, CreateInterpreter, (LLVMExecutionEngineRef *OutInterp, LLVMModuleProviderRef MP, char **OutError)) \ | |
562 | macro(LLVMBool, CreateJITCompiler, (LLVMExecutionEngineRef *OutJIT, LLVMModuleProviderRef MP, unsigned OptLevel, char **OutError)) \ | |
563 | macro(void, DisposeExecutionEngine, (LLVMExecutionEngineRef EE)) \ | |
564 | macro(void, RunStaticConstructors, (LLVMExecutionEngineRef EE)) \ | |
565 | macro(void, RunStaticDestructors, (LLVMExecutionEngineRef EE)) \ | |
566 | macro(int, RunFunctionAsMain, (LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned ArgC, const char * const *ArgV, const char * const *EnvP)) \ | |
567 | macro(LLVMGenericValueRef, RunFunction, (LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned NumArgs, LLVMGenericValueRef *Args)) \ | |
568 | macro(void, FreeMachineCodeForFunction, (LLVMExecutionEngineRef EE, LLVMValueRef F)) \ | |
569 | macro(void, AddModule, (LLVMExecutionEngineRef EE, LLVMModuleRef M)) \ | |
570 | macro(void, AddModuleProvider, (LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP)) \ | |
571 | macro(LLVMBool, RemoveModule, (LLVMExecutionEngineRef EE, LLVMModuleRef M, LLVMModuleRef *OutMod, char **OutError)) \ | |
572 | macro(LLVMBool, RemoveModuleProvider, (LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP, LLVMModuleRef *OutMod, char **OutError)) \ | |
573 | macro(LLVMBool, FindFunction, (LLVMExecutionEngineRef EE, const char *Name, LLVMValueRef *OutFn)) \ | |
574 | macro(void *, RecompileAndRelinkFunction, (LLVMExecutionEngineRef EE, LLVMValueRef Fn)) \ | |
575 | macro(LLVMTargetDataRef, GetExecutionEngineTargetData, (LLVMExecutionEngineRef EE)) \ | |
576 | macro(void, AddGlobalMapping, (LLVMExecutionEngineRef EE, LLVMValueRef Global, void* Addr)) \ | |
577 | macro(void *, GetPointerToGlobal, (LLVMExecutionEngineRef EE, LLVMValueRef Global)) \ | |
578 | macro(LLVMMCJITMemoryManagerRef, CreateSimpleMCJITMemoryManager, (void *Opaque, LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection, LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destory)) \ | |
579 | macro(void, DisposeMCJITMemoryManager, (LLVMMCJITMemoryManagerRef MM)) \ | |
580 | macro(LLVMBool, VerifyModule, (LLVMModuleRef M, LLVMVerifierFailureAction Action, char **OutMessage)) \ | |
581 | macro(LLVMBool, VerifyFunction, (LLVMValueRef Fn, LLVMVerifierFailureAction Action)) \ | |
582 | macro(void, ViewFunctionCFG, (LLVMValueRef Fn)) \ | |
583 | macro(void, ViewFunctionCFGOnly, (LLVMValueRef Fn)) \ | |
584 | macro(LLVMDisasmContextRef, CreateDisasm, (const char *TripleName, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)) \ | |
585 | macro(LLVMDisasmContextRef, CreateDisasmCPU, (const char *Triple, const char *CPU, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)) \ | |
586 | macro(int, SetDisasmOptions, (LLVMDisasmContextRef DC, uint64_t Options)) \ | |
587 | macro(void, DisasmDispose, (LLVMDisasmContextRef DC)) \ | |
588 | macro(size_t, DisasmInstruction, (LLVMDisasmContextRef DC, uint8_t *Bytes, uint64_t BytesSize, uint64_t PC, char *OutString, size_t OutStringSize)) \ | |
589 | macro(unsigned, PointerSizeForAS, (LLVMTargetDataRef, unsigned AS)) \ | |
590 | macro(LLVMTypeRef, IntPtrTypeForAS, (LLVMTargetDataRef, unsigned AS)) \ | |
591 | macro(LLVMPassManagerBuilderRef, PassManagerBuilderCreate, (void)) \ | |
592 | macro(void, PassManagerBuilderDispose, (LLVMPassManagerBuilderRef PMB)) \ | |
593 | macro(void, PassManagerBuilderSetOptLevel, (LLVMPassManagerBuilderRef PMB, unsigned OptLevel)) \ | |
594 | macro(void, PassManagerBuilderSetSizeLevel, (LLVMPassManagerBuilderRef PMB, unsigned SizeLevel)) \ | |
595 | macro(void, PassManagerBuilderSetDisableUnitAtATime, (LLVMPassManagerBuilderRef PMB, LLVMBool Value)) \ | |
596 | macro(void, PassManagerBuilderSetDisableUnrollLoops, (LLVMPassManagerBuilderRef PMB, LLVMBool Value)) \ | |
597 | macro(void, PassManagerBuilderSetDisableSimplifyLibCalls, (LLVMPassManagerBuilderRef PMB, LLVMBool Value)) \ | |
598 | macro(void, PassManagerBuilderUseInlinerWithThreshold, (LLVMPassManagerBuilderRef PMB, unsigned Threshold)) \ | |
599 | macro(void, PassManagerBuilderPopulateFunctionPassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)) \ | |
600 | macro(void, PassManagerBuilderPopulateModulePassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)) \ | |
601 | macro(void, PassManagerBuilderPopulateLTOPassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM, LLVMBool Internalize, LLVMBool RunInliner)) \ | |
602 | macro(void, AddAggressiveDCEPass, (LLVMPassManagerRef PM)) \ | |
603 | macro(void, AddCFGSimplificationPass, (LLVMPassManagerRef PM)) \ | |
604 | macro(void, AddDeadStoreEliminationPass, (LLVMPassManagerRef PM)) \ | |
605 | macro(void, AddGVNPass, (LLVMPassManagerRef PM)) \ | |
606 | macro(void, AddIndVarSimplifyPass, (LLVMPassManagerRef PM)) \ | |
607 | macro(void, AddInstructionCombiningPass, (LLVMPassManagerRef PM)) \ | |
608 | macro(void, AddJumpThreadingPass, (LLVMPassManagerRef PM)) \ | |
609 | macro(void, AddLICMPass, (LLVMPassManagerRef PM)) \ | |
610 | macro(void, AddLoopDeletionPass, (LLVMPassManagerRef PM)) \ | |
611 | macro(void, AddLoopIdiomPass, (LLVMPassManagerRef PM)) \ | |
612 | macro(void, AddLoopRotatePass, (LLVMPassManagerRef PM)) \ | |
613 | macro(void, AddLoopUnrollPass, (LLVMPassManagerRef PM)) \ | |
614 | macro(void, AddLoopUnswitchPass, (LLVMPassManagerRef PM)) \ | |
615 | macro(void, AddMemCpyOptPass, (LLVMPassManagerRef PM)) \ | |
616 | macro(void, AddPartiallyInlineLibCallsPass, (LLVMPassManagerRef PM)) \ | |
617 | macro(void, AddPromoteMemoryToRegisterPass, (LLVMPassManagerRef PM)) \ | |
618 | macro(void, AddReassociatePass, (LLVMPassManagerRef PM)) \ | |
619 | macro(void, AddSCCPPass, (LLVMPassManagerRef PM)) \ | |
620 | macro(void, AddScalarReplAggregatesPass, (LLVMPassManagerRef PM)) \ | |
621 | macro(void, AddScalarReplAggregatesPassSSA, (LLVMPassManagerRef PM)) \ | |
622 | macro(void, AddScalarReplAggregatesPassWithThreshold, (LLVMPassManagerRef PM, int Threshold)) \ | |
623 | macro(void, AddSimplifyLibCallsPass, (LLVMPassManagerRef PM)) \ | |
624 | macro(void, AddTailCallEliminationPass, (LLVMPassManagerRef PM)) \ | |
625 | macro(void, AddConstantPropagationPass, (LLVMPassManagerRef PM)) \ | |
626 | macro(void, AddDemoteMemoryToRegisterPass, (LLVMPassManagerRef PM)) \ | |
627 | macro(void, AddVerifierPass, (LLVMPassManagerRef PM)) \ | |
628 | macro(void, AddCorrelatedValuePropagationPass, (LLVMPassManagerRef PM)) \ | |
629 | macro(void, AddEarlyCSEPass, (LLVMPassManagerRef PM)) \ | |
630 | macro(void, AddLowerExpectIntrinsicPass, (LLVMPassManagerRef PM)) \ | |
631 | macro(void, AddTypeBasedAliasAnalysisPass, (LLVMPassManagerRef PM)) \ | |
632 | macro(void, AddBasicAliasAnalysisPass, (LLVMPassManagerRef PM)) | |
633 | ||
634 | #endif // LLVMAPIFunctions_h | |
635 |