1 2 module llvm.c.functions; 3 4 private 5 { 6 import llvm.util.templates; 7 8 import llvm.c.versions; 9 import llvm.c.types; 10 } 11 12 extern(System) 13 { 14 mixin(MixinMap(LLVMC_Functions, delegate string(string symbol, string[] signature) { 15 if(matchVersionQualifiers(signature[1 .. $])) 16 { 17 return "alias nothrow " ~ signature[0] ~ " da_" ~ symbol ~ ";"; 18 } 19 return ""; 20 })); 21 } 22 23 //TODO: make sure to update these! 24 static if(LLVM_Version >= LLVMDVersion(3, 3, 0)) 25 { 26 private enum string[][string] LLVMC_TargetCapabilities = 27 [ 28 "AArch64" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 29 "ARM" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 30 "CppBackend" : ["TargetInfo", "Target", "TargetMC"], 31 "Hexagon" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 32 "MBlaze" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 33 "Mips" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 34 "MSP430" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 35 "NVPTX" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 36 "PowerPC" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 37 "Sparc" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 38 "X86" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 39 "XCore" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter", "Disassembler"], 40 ]; 41 } 42 else static if(LLVM_Version >= 3.2) 43 { 44 private enum string[][string] LLVMC_TargetCapabilities = 45 [ 46 "ARM" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 47 "CellSPU" : ["TargetInfo", "Target", "TargetMC"], 48 "CppBackend" : ["TargetInfo", "Target", "TargetMC"], 49 "Hexagon" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 50 "MBlaze" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 51 "Mips" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 52 "MSP430" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 53 "NVPTX" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 54 "PowerPC" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 55 "PTX" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 56 "Sparc" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 57 "X86" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 58 "XCore" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter", "Disassembler"], 59 ]; 60 61 } 62 else 63 { 64 private enum string[][string] LLVMC_TargetCapabilities = 65 [ 66 "ARM" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 67 "CellSPU" : ["TargetInfo", "Target", "TargetMC"], 68 "CppBackend" : ["TargetInfo", "Target", "TargetMC"], 69 "Hexagon" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 70 "MBlaze" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 71 "Mips" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 72 "MSP430" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 73 "PTX" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 74 "PowerPC" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 75 "Sparc" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter"], 76 "X86" : ["TargetInfo", "Target", "TargetMC", "AsmParser", "AsmPrinter", "Disassembler"], 77 "XCore" : ["TargetInfo", "Target", "TargetMC", "AsmPrinter", "Disassembler"], 78 ]; 79 } 80 81 __gshared 82 { 83 mixin(MixinMap( 84 LLVMC_Functions, 85 delegate string(string symbol, string[] signature) 86 { 87 if(matchVersionQualifiers(signature[1 .. $])) 88 { 89 return "da_" ~ symbol ~ " " ~ symbol ~ ";"; 90 } 91 return ""; 92 } 93 )); 94 95 mixin(MixinMap([ 96 "TargetInfo", 97 "Target", 98 "TargetMC", 99 "AsmPrinter", 100 "AsmParser", 101 "Disassembler"], 102 delegate string(size_t i, string capability) 103 { 104 string genOnlyTargetsWithCapability() 105 { 106 auto capabilities = LLVMC_TargetCapabilities; 107 string code = ""; 108 109 foreach(string target; capabilities.keys) 110 { 111 foreach(string targetCapability; capabilities[target]) 112 { 113 if(capability == targetCapability) 114 { 115 code ~= "if(LLVMInitialize" 116 ~ target ~ capability 117 ~ " !is null) { LLVMInitialize" 118 ~ target ~ capability 119 ~ "(); } "; 120 break; 121 } 122 } 123 } 124 125 return code; 126 } 127 128 return "nothrow void LLVMInitializeAll" ~ capability ~ "s() { " 129 ~ genOnlyTargetsWithCapability() 130 ~ " }"; 131 })); 132 133 nothrow LLVMBool LLVMInitializeNativeTarget() 134 { 135 mixin(MixinMap(["ARM64" : "AArch64", 136 "ARM" : "ARM", 137 "X86" : "X86", 138 "X86_64" : "X86", 139 "MIPS" : "Mips", 140 "PPC" : "PowerPC", 141 "PPC64" : "PowerPC", 142 "SPARC" : "Sparc", 143 "SPARC64" : "SPARC64"], 144 delegate string(string arch, string target) 145 { 146 return "version(" ~ arch ~ ") {" 147 ~ " if((LLVMInitialize" ~ target ~ "TargetInfo !is null)" 148 ~ " && (LLVMInitialize" ~ target ~ "Target !is null)" 149 ~ " && (LLVMInitialize" ~ target ~ "TargetMC !is null)) {" 150 ~ " LLVMInitialize" ~ target ~ "TargetInfo();" 151 ~ " LLVMInitialize" ~ target ~ "Target();" 152 ~ " LLVMInitialize" ~ target ~ "TargetMC();" 153 ~ " return 0; }}"; 154 } 155 )); 156 157 return 1; 158 } 159 160 static if(LLVM_Version >= 3.4) 161 { 162 nothrow LLVMBool LLVMInitializeNativeAsmParser() 163 { 164 mixin(MixinMap(["ARM64" : "AArch64", 165 "ARM" : "ARM", 166 "X86" : "X86", 167 "X86_64" : "X86", 168 "MIPS" : "Mips"], 169 delegate string(string arch, string target) 170 { 171 return "version(" ~ arch ~ ") {" 172 ~ " if(LLVMInitialize" ~ target ~ "AsmParser !is null) {" 173 ~ " LLVMInitialize" ~ target ~ "AsmParser();" 174 ~ " return 0; }}"; 175 } 176 )); 177 178 return 1; 179 } 180 181 nothrow LLVMBool LLVMInitializeNativeAsmPrinter() 182 { 183 mixin(MixinMap(["ARM64" : "AArch64", 184 "ARM" : "ARM", 185 "X86" : "X86", 186 "X86_64" : "X86", 187 "MIPS" : "Mips", 188 "PPC" : "PowerPC", 189 "PPC64" : "PowerPC", 190 "SPARC" : "Sparc", 191 "SPARC64" : "SPARC64"], 192 delegate string(string arch, string target) 193 { 194 return "version(" ~ arch ~ ") {" 195 ~ " if(LLVMInitialize" ~ target ~ "AsmPrinter !is null) {" 196 ~ " LLVMInitialize" ~ target ~ "AsmPrinter();" 197 ~ " return 0; }}"; 198 } 199 )); 200 201 return 1; 202 } 203 204 nothrow LLVMBool LLVMInitializeNativeDisassembler() 205 { 206 mixin(MixinMap(["ARM64" : "AArch64", 207 "ARM" : "ARM", 208 "X86" : "X86", 209 "X86_64" : "X86", 210 "MIPS" : "Mips"], 211 delegate string(string arch, string target) 212 { 213 return "version(" ~ arch ~ ") {" 214 ~ " if(LLVMInitialize" ~ target ~ "Disassembler !is null) {" 215 ~ " LLVMInitialize" ~ target ~ "Disassembler();" 216 ~ " return 0; }}"; 217 } 218 )); 219 220 return 1; 221 } 222 } 223 } 224 225 package enum string[][string] LLVMC_Functions = [ 226 227 /+ Analysis +/ 228 229 "LLVMVerifyModule" : ["LLVMBool function(LLVMModuleRef M, LLVMVerifierFailureAction Action, char** OutMessage)"], 230 "LLVMVerifyFunction" : ["LLVMBool function(LLVMValueRef Fn, LLVMVerifierFailureAction Action)"], 231 "LLVMViewFunctionCFG" : ["void function(LLVMValueRef Fn)"], 232 "LLVMViewFunctionCFGOnly" : ["void function(LLVMValueRef Fn)"], 233 234 /+ Bit Reader +/ 235 236 "LLVMParseBitcode" : ["LLVMBool function(LLVMMemoryBufferRef MemBuf, LLVMModuleRef* OutModule, char** OutMessage)"], 237 "LLVMParseBitcodeInContext" : ["LLVMBool function(LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef* OutModule, char** OutMessage)"], 238 "LLVMGetBitcodeModuleInContext" : ["LLVMBool function(LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef* OutM, char** OutMessage)"], 239 "LLVMGetBitcodeModule" : ["LLVMBool function(LLVMMemoryBufferRef MemBuf, LLVMModuleRef* OutM, char** OutMessage)"], 240 "LLVMGetBitcodeModuleProviderInContext" : ["LLVMBool function(LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleProviderRef* OutMP, char** OutMessage)"], 241 "LLVMGetBitcodeModuleProvider" : ["LLVMBool function(LLVMMemoryBufferRef MemBuf, LLVMModuleProviderRef* OutMP, char** OutMessage)"], 242 243 /+ Bit Writer +/ 244 245 "LLVMWriteBitcodeToFile" : ["int function(LLVMModuleRef M, const(char)* Path)"], 246 "LLVMWriteBitcodeToFD" : ["int function(LLVMModuleRef M, int FD, int ShouldClose, int Unbuffered)"], 247 "LLVMWriteBitcodeToFileHandle" : ["int function(LLVMModuleRef M, int Handle)"], 248 "LLLVMWriteBitcodeToMemoryBuffer" : ["LLVMMemoryBufferRef function(LLVMModuleRef M)", 249 "+", "3", "6", "0"], 250 251 /+ Transforms +/ 252 253 /++ Interprocedural transformations ++/ 254 255 "LLVMAddArgumentPromotionPass" : ["void function(LLVMPassManagerRef PM)"], 256 "LLVMAddConstantMergePass" : ["void function(LLVMPassManagerRef PM)"], 257 "LLVMAddDeadArgEliminationPass" : ["void function(LLVMPassManagerRef PM)"], 258 "LLVMAddFunctionAttrsPass" : ["void function(LLVMPassManagerRef PM)"], 259 "LLVMAddFunctionInliningPass" : ["void function(LLVMPassManagerRef PM)"], 260 "LLVMAddAlwaysInlinerPass" : ["void function(LLVMPassManagerRef PM)"], 261 "LLVMAddGlobalDCEPass" : ["void function(LLVMPassManagerRef PM)"], 262 "LLVMAddGlobalOptimizerPass" : ["void function(LLVMPassManagerRef PM)"], 263 "LLVMAddIPConstantPropagationPass" : ["void function(LLVMPassManagerRef PM)"], 264 "LLVMAddPruneEHPass" : ["void function(LLVMPassManagerRef PM)"], 265 "LLVMAddIPSCCPPass" : ["void function(LLVMPassManagerRef PM)"], 266 "LLVMAddInternalizePass" : ["void function(LLVMPassManagerRef, uint AllButMain)"], 267 "LLVMAddStripDeadPrototypesPass" : ["void function(LLVMPassManagerRef PM)"], 268 "LLVMAddStripSymbolsPass" : ["void function(LLVMPassManagerRef PM)"], 269 270 /++ Pass manager builder ++/ 271 272 "LLVMPassManagerBuilderCreate" : ["LLVMPassManagerBuilderRef function()"], 273 "LLVMPassManagerBuilderDispose" : ["void function(LLVMPassManagerBuilderRef PMB)"], 274 "LLVMPassManagerBuilderSetOptLevel" : ["void function(LLVMPassManagerBuilderRef PMB, uint OptLevel)"], 275 "LLVMPassManagerBuilderSetSizeLevel" : ["void function(LLVMPassManagerBuilderRef PMB, uint SizeLevel)"], 276 "LLVMPassManagerBuilderSetDisableUnitAtATime" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMBool Value)"], 277 "LLVMPassManagerBuilderSetDisableUnrollLoops" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMBool Value)"], 278 "LLVMPassManagerBuilderSetDisableSimplifyLibCalls" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMBool Value)"], 279 "LLVMPassManagerBuilderUseInlinerWithThreshold" : ["void function(LLVMPassManagerBuilderRef PMB, uint Threshold)"], 280 "LLVMPassManagerBuilderPopulateFunctionPassManager" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)"], 281 "LLVMPassManagerBuilderPopulateModulePassManager" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)"], 282 "LLVMPassManagerBuilderPopulateLTOPassManager" : ["void function(LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM, LLVMBool Internalize, LLVMBool RunInliner)"], 283 284 /++ Scalar transformations ++/ 285 286 "LLVMAddAggressiveDCEPass" : ["void function(LLVMPassManagerRef PM)"], 287 "LLVMAddBitTrackingDCEPass" : ["void function(LLVMPassManagerRef PM)", 288 "+", "3", "7", "0"], 289 "LLVMAddAlignmentFromAssumptionsPass" : ["void function(LLVMPassManagerRef PM)", 290 "+", "3", "6", "0"], 291 "LLVMAddCFGSimplificationPass" : ["void function(LLVMPassManagerRef PM)"], 292 "LLVMAddDeadStoreEliminationPass" : ["void function(LLVMPassManagerRef PM)"], 293 "LLVMAddScalarizerPass" : ["void function(LLVMPassManagerRef PM)", 294 "+", "3", "5", "0"], 295 "LLVMAddMergedLoadStoreMotionPass" : ["void function(LLVMPassManagerRef PM)", 296 "+", "3", "5", "0"], 297 "LLVMAddGVNPass" : ["void function(LLVMPassManagerRef PM)"], 298 "LLVMAddIndVarSimplifyPass" : ["void function(LLVMPassManagerRef PM)"], 299 "LLVMAddInstructionCombiningPass" : ["void function(LLVMPassManagerRef PM)"], 300 "LLVMAddJumpThreadingPass" : ["void function(LLVMPassManagerRef PM)"], 301 "LLVMAddLICMPass" : ["void function(LLVMPassManagerRef PM)"], 302 "LLVMAddLoopDeletionPass" : ["void function(LLVMPassManagerRef PM)"], 303 "LLVMAddLoopIdiomPass" : ["void function(LLVMPassManagerRef PM)"], 304 "LLVMAddLoopRotatePass" : ["void function(LLVMPassManagerRef PM)"], 305 "LLVMAddLoopRerollPass" : ["void function(LLVMPassManagerRef PM)", 306 "+", "3", "4", "0"], 307 "LLVMAddLoopUnrollPass" : ["void function(LLVMPassManagerRef PM)"], 308 "LLVMAddLoopUnswitchPass" : ["void function(LLVMPassManagerRef PM)"], 309 "LLVMAddMemCpyOptPass" : ["void function(LLVMPassManagerRef PM)"], 310 "LLVMAddPartiallyInlineLibCallsPass" : ["void function(LLVMPassManagerRef PM)", 311 "+", "3", "4", "0"], 312 "LLVMAddLowerSwitchPass" : ["void function(LLVMPassManagerRef PM)", 313 "+", "3", "6", "0"], 314 "LLVMAddPromoteMemoryToRegisterPass" : ["void function(LLVMPassManagerRef PM)"], 315 "LLVMAddReassociatePass" : ["void function(LLVMPassManagerRef PM)"], 316 "LLVMAddSCCPPass" : ["void function(LLVMPassManagerRef PM)"], 317 "LLVMAddScalarReplAggregatesPass" : ["void function(LLVMPassManagerRef PM)"], 318 "LLVMAddScalarReplAggregatesPassSSA" : ["void function(LLVMPassManagerRef PM)"], 319 "LLVMAddScalarReplAggregatesPassWithThreshold" : ["void function(LLVMPassManagerRef PM, int Threshold)"], 320 "LLVMAddSimplifyLibCallsPass" : ["void function(LLVMPassManagerRef PM)"], 321 "LLVMAddTailCallEliminationPass" : ["void function(LLVMPassManagerRef PM)"], 322 "LLVMAddConstantPropagationPass" : ["void function(LLVMPassManagerRef PM)"], 323 "LLVMAddDemoteMemoryToRegisterPass" : ["void function(LLVMPassManagerRef PM)"], 324 "LLVMAddVerifierPass" : ["void function(LLVMPassManagerRef PM)"], 325 "LLVMAddCorrelatedValuePropagationPass" : ["void function(LLVMPassManagerRef PM)"], 326 "LLVMAddEarlyCSEPass" : ["void function(LLVMPassManagerRef PM)"], 327 "LLVMAddLowerExpectIntrinsicPass" : ["void function(LLVMPassManagerRef PM)"], 328 "LLVMAddTypeBasedAliasAnalysisPass" : ["void function(LLVMPassManagerRef PM)"], 329 "LLVMAddScopedNoAliasAAPass" : ["void function(LLVMPassManagerRef PM)", 330 "+", "3", "6", "0"], 331 "LLVMAddBasicAliasAnalysisPass" : ["void function(LLVMPassManagerRef PM)"], 332 333 /++ Vectorization transformations ++/ 334 335 "LLVMAddBBVectorizePass" : ["void function(LLVMPassManagerRef PM)"], 336 "LLVMAddLoopVectorizePass" : ["void function(LLVMPassManagerRef PM)", 337 "+", "3", "2", "0"], 338 339 /+ Core +/ 340 341 "LLVMShutdown" : ["void function()", 342 "+", "3", "3", "0"], 343 "LLVMCreateMessage" : ["char* function(const(char)* Message)", 344 "+", "3", "4", "0"], 345 "LLVMDisposeMessage" : ["void function(char* Message)"], 346 "LLVMInstallFatalErrorHandler" : ["void function(LLVMFatalErrorHandler Handler)", 347 "+", "3", "4", "0"], 348 "LLVMResetFatalErrorHandler" : ["void function()", 349 "+", "3", "4", "0"], 350 "LLVMEnablePrettyStackTrace" : ["void function()", 351 "+", "3", "4", "0"], 352 353 /++ Contexts ++/ 354 355 "LLVMContextCreate" : ["LLVMContextRef function()"], 356 "LLVMGetGlobalContext" : ["LLVMContextRef function()"], 357 "LLVMContextDispose" : ["void function(LLVMContextRef C)"], 358 "LLVMGetMDKindIDInContext" : ["uint function(LLVMContextRef C, const(char)* Name, uint SLen)"], 359 "LLVMGetMDKindID" : ["uint function(const(char)* Name, uint SLen)"], 360 "LLVMContextSetDiagnosticHandler" : ["void function (LLVMContextRef C, LLVMDiagnosticHandler Handler, void *DiagnosticContext)", 361 "+", "3", "5", "0"], 362 363 "LLVMGetDiagInfoDescription" : ["char* function(LLVMDiagnosticInfoRef DI)", 364 "+", "3", "5", "0"], 365 366 "LLVMGetDiagInfoSeverity" : ["LLVMDiagnosticSeverity function(LLVMDiagnosticInfoRef DI)", 367 "+", "3", "5", "0"], 368 "LLVMContextSetYieldCallback" : ["void function(LLVMContextRef C, LLVMYieldCallback Callback, void *OpaqueHandle)", 369 "+", "3", "5", "0"], 370 371 /++ Modules ++/ 372 373 "LLVMModuleCreateWithName" : ["LLVMModuleRef function(const(char)* ModuleID)"], 374 "LLVMModuleCreateWithNameInContext" : ["LLVMModuleRef function(const(char)* ModuleID, LLVMContextRef C)"], 375 "LLLVMCloneModule" : ["LLVMModuleRef function(LLVMModuleRef M)", 376 "+", "3", "6", "0"], 377 "LLVMDisposeModule" : ["void function(LLVMModuleRef M)"], 378 "LLVMGetDataLayout" : ["const(char)* function(LLVMModuleRef M)"], 379 "LLVMSetDataLayout" : ["void function(LLVMModuleRef M, const(char)* Triple)"], 380 "LLVMGetTarget" : ["const(char)* function(LLVMModuleRef M)"], 381 "LLVMSetTarget" : ["void function(LLVMModuleRef M, const(char)* Triple)"], 382 "LLVMDumpModule" : ["void function(LLVMModuleRef M)"], 383 "LLVMPrintModuleToFile" : ["LLVMBool function(LLVMModuleRef M, const(char)* Filename, char** ErrorMessage)", 384 "+", "3", "2", "0"], 385 "LLVMPrintModuleToString" : ["char* function(LLVMModuleRef M)", 386 "+", "3", "4", "0"], 387 "LLVMSetModuleInlineAsm" : ["void function(LLVMModuleRef M, const(char)* Asm)"], 388 "LLVMGetModuleContext" : ["LLVMContextRef function(LLVMModuleRef M)"], 389 "LLVMGetTypeByName" : ["LLVMTypeRef function(LLVMModuleRef M, const(char)* Name)"], 390 "LLVMGetNamedMetadataNumOperands" : ["uint function(LLVMModuleRef M, const(char)* name)"], 391 "LLVMGetNamedMetadataOperands" : ["void function(LLVMModuleRef M, const(char)* name, LLVMValueRef *Dest)"], 392 "LLVMAddNamedMetadataOperand" : ["void function(LLVMModuleRef M, const(char)* name, LLVMValueRef Val)"], 393 "LLVMAddFunction" : ["LLVMValueRef function(LLVMModuleRef M, const(char)* Name, LLVMTypeRef FunctionTy)"], 394 "LLVMGetNamedFunction" : ["LLVMValueRef function(LLVMModuleRef M, const(char)* Name)"], 395 "LLVMGetFirstFunction" : ["LLVMValueRef function(LLVMModuleRef M)"], 396 "LLVMGetLastFunction" : ["LLVMValueRef function(LLVMModuleRef M)"], 397 "LLVMGetNextFunction" : ["LLVMValueRef function(LLVMValueRef Fn)"], 398 "LLVMGetPreviousFunction" : ["LLVMValueRef function(LLVMValueRef Fn)"], 399 400 /++ Types ++/ 401 402 "LLVMGetTypeKind" : ["LLVMTypeKind function(LLVMTypeRef Ty)"], 403 "LLVMTypeIsSized" : ["LLVMBool function(LLVMTypeRef Ty)"], 404 "LLVMGetTypeContext" : ["LLVMContextRef function(LLVMTypeRef Ty)"], 405 "LLVMDumpType" : ["void function(LLVMTypeRef Val)", 406 "+", "3", "4", "0"], 407 "LLVMPrintTypeToString" : ["char* function(LLVMTypeRef Val)", 408 "+", "3", "4", "0"], 409 410 /+++ Integer Types +++/ 411 412 "LLVMInt1TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 413 "LLVMInt8TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 414 "LLVMInt16TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 415 "LLVMInt32TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 416 "LLVMInt64TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 417 "LLVMIntTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C, uint NumBits)"], 418 "LLVMInt1Type" : ["LLVMTypeRef function()"], 419 "LLVMInt8Type" : ["LLVMTypeRef function()"], 420 "LLVMInt16Type" : ["LLVMTypeRef function()"], 421 "LLVMInt32Type" : ["LLVMTypeRef function()"], 422 "LLVMInt64Type" : ["LLVMTypeRef function()"], 423 "LLVMIntType" : ["LLVMTypeRef function(uint NumBits)"], 424 "LLVMGetIntTypeWidth" : ["uint function(LLVMTypeRef IntegerTy)"], 425 426 /+++ Floating Point Types +++/ 427 428 "LLVMHalfTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 429 "LLVMFloatTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 430 "LLVMDoubleTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 431 "LLVMX86FP80TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 432 "LLVMFP128TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 433 "LLVMPPCFP128TypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 434 "LLVMHalfType" : ["LLVMTypeRef function()"], 435 "LLVMFloatType" : ["LLVMTypeRef function()"], 436 "LLVMDoubleType" : ["LLVMTypeRef function()"], 437 "LLVMX86FP80Type" : ["LLVMTypeRef function()"], 438 "LLVMFP128Type" : ["LLVMTypeRef function()"], 439 "LLVMPPCFP128Type" : ["LLVMTypeRef function()"], 440 441 /+++ Function Types +++/ 442 443 "LLVMFunctionType" : ["LLVMTypeRef function(LLVMTypeRef ReturnType, LLVMTypeRef* ParamTypes, uint ParamCount, LLVMBool IsVarArg)"], 444 "LLVMIsFunctionVarArg" : ["LLVMBool function(LLVMTypeRef FunctionTy)"], 445 "LLVMGetReturnType" : ["LLVMTypeRef function(LLVMTypeRef FunctionTy)"], 446 "LLVMCountParamTypes" : ["uint function(LLVMTypeRef FunctionTy)"], 447 "LLVMGetParamTypes" : ["void function(LLVMTypeRef FunctionTy, LLVMTypeRef* Dest)"], 448 449 /+++ Structure Types +++/ 450 451 "LLVMStructTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C, LLVMTypeRef* ElementTypes, uint ElementCount, LLVMBool Packed)"], 452 "LLVMStructType" : ["LLVMTypeRef function(LLVMTypeRef* ElementTypes, uint ElementCount, LLVMBool Packed)"], 453 "LLVMStructCreateNamed" : ["LLVMTypeRef function(LLVMContextRef C, const(char)* Name)"], 454 "LLVMGetStructName" : ["const(char)* function(LLVMTypeRef Ty)"], 455 "LLVMStructSetBody" : ["void function(LLVMTypeRef StructTy, LLVMTypeRef* ElementTypes, uint ElementCount, LLVMBool Packed)"], 456 "LLVMCountStructElementTypes" : ["uint function(LLVMTypeRef StructTy)"], 457 "LLVMGetStructElementTypes" : ["void function(LLVMTypeRef StructTy, LLVMTypeRef* Dest)"], 458 "LLVMStructGetTypeAtIndex" : ["LLVMTypeRef function(LLVMTypeRef StructTy, uint i)", 459 "+", "3", "7", "0"], 460 "LLVMIsPackedStruct" : ["LLVMBool function(LLVMTypeRef StructTy)"], 461 "LLVMIsOpaqueStruct" : ["LLVMBool function(LLVMTypeRef StructTy)"], 462 463 /+++ Sequential Types +++/ 464 465 "LLVMGetElementType" : ["LLVMTypeRef function(LLVMTypeRef Ty)"], 466 "LLVMArrayType" : ["LLVMTypeRef function(LLVMTypeRef ElementType, uint ElementCount)"], 467 "LLVMGetArrayLength" : ["uint function(LLVMTypeRef ArrayTy)"], 468 "LLVMPointerType" : ["LLVMTypeRef function(LLVMTypeRef ElementType, uint AddressSpace)"], 469 "LLVMGetPointerAddressSpace" : ["uint function(LLVMTypeRef PointerTy)"], 470 "LLVMVectorType" : ["LLVMTypeRef function(LLVMTypeRef ElementType, uint ElementCount)"], 471 "LLVMGetVectorSize" : ["uint function(LLVMTypeRef VectorTy)"], 472 473 /+++ Other Types +++/ 474 475 "LLVMVoidTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 476 "LLVMLabelTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 477 "LLVMX86MMXTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C)"], 478 "LLVMVoidType" : ["LLVMTypeRef function()"], 479 "LLVMLabelType" : ["LLVMTypeRef function()"], 480 "LLVMX86MMXType" : ["LLVMTypeRef function()"], 481 482 /++ Values ++/ 483 484 /+++ General APIs +++/ 485 486 "LLVMTypeOf" : ["LLVMTypeRef function(LLVMValueRef Val)"], 487 "LLVMGetValueName" : ["const(char)* function(LLVMValueRef Val)"], 488 "LLVMSetValueName" : ["void function(LLVMValueRef Val, const(char )*Name)"], 489 "LLVMDumpValue" : ["void function(LLVMValueRef Val)"], 490 "LLVMPrintValueToString" : ["char* function(LLVMValueRef Val)", 491 "+", "3", "4", "0"], 492 "LLVMReplaceAllUsesWith" : ["void function(LLVMValueRef OldVal, LLVMValueRef NewVal)"], 493 "LLVMIsConstant" : ["LLVMBool function(LLVMValueRef Val)"], 494 "LLVMIsUndef" : ["LLVMBool function(LLVMValueRef Val)"], 495 496 "LLVMIsAAllocaInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 497 "LLVMIsAArgument" : ["LLVMValueRef function(LLVMValueRef Val)"], 498 "LLVMIsABasicBlock" : ["LLVMValueRef function(LLVMValueRef Val)"], 499 "LLVMIsABinaryOperator" : ["LLVMValueRef function(LLVMValueRef Val)"], 500 "LLVMIsABitCastInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 501 "LLVMIsABlockAddress" : ["LLVMValueRef function(LLVMValueRef Val)"], 502 "LLVMIsABranchInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 503 "LLVMIsACallInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 504 "LLVMIsACastInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 505 "LLVMIsAAddrSpaceCastInst" : ["LLVMValueRef function(LLVMValueRef Val)", 506 "+", "3", "4", "0"], 507 "LLVMIsACmpInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 508 "LLVMIsAConstantAggregateZero" : ["LLVMValueRef function(LLVMValueRef Val)"], 509 "LLVMIsAConstantArray" : ["LLVMValueRef function(LLVMValueRef Val)"], 510 "LLVMIsAConstantDataSequential" : ["LLVMValueRef function(LLVMValueRef Val)", 511 "+", "3", "4", "0"], 512 "LLVMIsAConstantDataArray" : ["LLVMValueRef function(LLVMValueRef Val)", 513 "+", "3", "4", "0"], 514 "LLVMIsAConstantDataVector" : ["LLVMValueRef function(LLVMValueRef Val)", 515 "+", "3", "4", "0"], 516 517 "LLVMIsAConstantExpr" : ["LLVMValueRef function(LLVMValueRef Val)"], 518 "LLVMIsAConstantFP" : ["LLVMValueRef function(LLVMValueRef Val)"], 519 "LLVMIsAConstantInt" : ["LLVMValueRef function(LLVMValueRef Val)"], 520 "LLVMIsAConstant" : ["LLVMValueRef function(LLVMValueRef Val)"], 521 "LLVMIsAConstantPointerNull" : ["LLVMValueRef function(LLVMValueRef Val)"], 522 "LLVMIsAConstantStruct" : ["LLVMValueRef function(LLVMValueRef Val)"], 523 "LLVMIsAConstantVector" : ["LLVMValueRef function(LLVMValueRef Val)"], 524 "LLVMIsADbgDeclareInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 525 "LLVMIsADbgInfoIntrinsic" : ["LLVMValueRef function(LLVMValueRef Val)"], 526 "LLVMIsAExtractElementInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 527 "LLVMIsAExtractValueInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 528 "LLVMIsAFCmpInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 529 "LLVMIsAFPExtInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 530 "LLVMIsAFPToSIInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 531 "LLVMIsAFPToUIInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 532 "LLVMIsAFPTruncInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 533 "LLVMIsAGetElementPtrInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 534 "LLVMIsAGlobalValue" : ["LLVMValueRef function(LLVMValueRef Val)"], 535 "LLVMIsAGlobalAlias" : ["LLVMValueRef function(LLVMValueRef Val)"], 536 "LLVMIsAGlobalObject" : ["LLVMValueRef function(LLVMValueRef Val)"], 537 "LLVMIsAFunction" : ["LLVMValueRef function(LLVMValueRef Val)"], 538 "LLVMIsAGlobalVariable" : ["LLVMValueRef function(LLVMValueRef Val)"], 539 "LLVMIsAICmpInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 540 "LLVMIsAIndirectBrInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 541 "LLVMIsAInlineAsm" : ["LLVMValueRef function(LLVMValueRef Val)"], 542 "LLVMIsAInsertElementInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 543 "LLVMIsAInsertValueInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 544 "LLVMIsAInstruction" : ["LLVMValueRef function(LLVMValueRef Val)"], 545 "LLVMIsAIntrinsicInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 546 "LLVMIsAIntToPtrInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 547 "LLVMIsAInvokeInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 548 "LLVMIsALandingPadInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 549 "LLVMIsALoadInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 550 "LLVMIsAMDNode" : ["LLVMValueRef function(LLVMValueRef Val)"], 551 "LLVMIsAMDString" : ["LLVMValueRef function(LLVMValueRef Val)"], 552 "LLVMIsAMemCpyInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 553 "LLVMIsAMemIntrinsic" : ["LLVMValueRef function(LLVMValueRef Val)"], 554 "LLVMIsAMemMoveInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 555 "LLVMIsAMemSetInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 556 "LLVMIsAPHINode" : ["LLVMValueRef function(LLVMValueRef Val)"], 557 "LLVMIsAPtrToIntInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 558 "LLVMIsAResumeInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 559 "LLVMIsAReturnInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 560 "LLVMIsASelectInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 561 "LLVMIsASExtInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 562 "LLVMIsAShuffleVectorInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 563 "LLVMIsASIToFPInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 564 "LLVMIsAStoreInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 565 "LLVMIsASwitchInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 566 "LLVMIsATerminatorInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 567 "LLVMIsATruncInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 568 "LLVMIsAUIToFPInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 569 "LLVMIsAUnaryInstruction" : ["LLVMValueRef function(LLVMValueRef Val)"], 570 "LLVMIsAUndefValue" : ["LLVMValueRef function(LLVMValueRef Val)"], 571 "LLVMIsAUnreachableInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 572 "LLVMIsAUser" : ["LLVMValueRef function(LLVMValueRef Val)"], 573 "LLVMIsAVAArgInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 574 "LLVMIsAZExtInst" : ["LLVMValueRef function(LLVMValueRef Val)"], 575 576 /+++ Usage +++/ 577 578 "LLVMGetFirstUse" : ["LLVMUseRef function(LLVMValueRef Val)"], 579 "LLVMGetNextUse" : ["LLVMUseRef function(LLVMUseRef U)"], 580 "LLVMGetUser" : ["LLVMValueRef function(LLVMUseRef U)"], 581 "LLVMGetUsedValue" : ["LLVMValueRef function(LLVMUseRef U)"], 582 583 /+++ User value +++/ 584 585 "LLVMGetOperand" : ["LLVMValueRef function(LLVMValueRef Val, uint Index)"], 586 "LLVMGetOperandUse" : ["LLVMUseRef function(LLVMValueRef Val, uint Index)", 587 "+", "3", "6", "0"], 588 "LLVMSetOperand" : ["void function(LLVMValueRef User, uint Index, LLVMValueRef Val)"], 589 "LLVMGetNumOperands" : ["int function(LLVMValueRef Val)"], 590 591 /+++ Constants +++/ 592 593 "LLVMConstNull" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 594 "LLVMConstAllOnes" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 595 "LLVMGetUndef" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 596 "LLVMIsNull" : ["LLVMBool function(LLVMValueRef Val)"], 597 "LLVMConstPointerNull" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 598 599 /++++ Scalar constants ++++/ 600 601 "LLVMConstInt" : ["LLVMValueRef function(LLVMTypeRef IntTy, ulong N, LLVMBool SignExtend)"], 602 "LLVMConstIntOfArbitraryPrecision" : ["LLVMValueRef function(LLVMTypeRef IntTy, uint NumWords, const(ulong)* Words)"], 603 "LLVMConstIntOfString" : ["LLVMValueRef function(LLVMTypeRef IntTy, const(char)* Text, ubyte Radix)"], 604 "LLVMConstIntOfStringAndSize" : ["LLVMValueRef function(LLVMTypeRef IntTy, const(char)* Text, uint SLen, ubyte Radix)"], 605 "LLVMConstReal" : ["LLVMValueRef function(LLVMTypeRef RealTy, double N)"], 606 "LLVMConstRealOfString" : ["LLVMValueRef function(LLVMTypeRef RealTy, const(char)* Text)"], 607 "LLVMConstRealOfStringAndSize" : ["LLVMValueRef function(LLVMTypeRef RealTy, const(char)* Text, uint SLen)"], 608 "LLVMConstIntGetZExtValue" : ["ulong function(LLVMValueRef ConstantVal)"], 609 "LLVMConstIntGetSExtValue" : ["long function(LLVMValueRef ConstantVal)"], 610 "LLVMConstRealGetDouble" : ["double function(LLVMValueRef ConstantVal, LLVMBool *losesInfo)", 611 "+", "3", "6", "0"], 612 613 /++++ Composite Constants ++++/ 614 615 "LLVMConstStringInContext" : ["LLVMValueRef function(LLVMContextRef C, const(char)* Str, uint Length, LLVMBool DontNullTerminate)"], 616 "LLVMConstString" : ["LLVMValueRef function(const(char)* Str, uint Length, LLVMBool DontNullTerminate)"], 617 "LLVMIsConstantString" : ["LLVMBool function(LLVMValueRef c)", 618 "+", "3", "6", "0"], 619 "LLVMGetAsString" : ["const(char*) function(LLVMValueRef c, size_t* out_)", 620 "+", "3", "6", "0"], 621 "LLVMConstStructInContext" : ["LLVMValueRef function(LLVMContextRef C, LLVMValueRef* ConstantVals, uint Count, LLVMBool Packed)"], 622 "LLVMConstStruct" : ["LLVMValueRef function(LLVMValueRef* ConstantVals, uint Count, LLVMBool Packed)"], 623 "LLVMConstArray" : ["LLVMValueRef function(LLVMTypeRef ElementTy, LLVMValueRef* ConstantVals, uint Length)"], 624 "LLVMConstNamedStruct" : ["LLVMValueRef function(LLVMTypeRef StructTy, LLVMValueRef* ConstantVals, uint Count)"], 625 "LLVMGetElementAsConstant" : ["LLVMValueRef function(LLVMValueRef c, uint idx)", 626 "+", "3", "6", "0"], 627 "LLVMConstVector" : ["LLVMValueRef function(LLVMValueRef* ScalarConstantVals, uint Size)"], 628 629 /++++ Constant Expressions ++++/ 630 631 "LLVMGetConstOpcode" : ["LLVMOpcode function(LLVMValueRef ConstantVal)"], 632 "LLVMAlignOf" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 633 "LLVMSizeOf" : ["LLVMValueRef function(LLVMTypeRef Ty)"], 634 "LLVMConstNeg" : ["LLVMValueRef function(LLVMValueRef ConstantVal)"], 635 "LLVMConstNSWNeg" : ["LLVMValueRef function(LLVMValueRef ConstantVal)"], 636 "LLVMConstNUWNeg" : ["LLVMValueRef function(LLVMValueRef ConstantVal)"], 637 "LLVMConstFNeg" : ["LLVMValueRef function(LLVMValueRef ConstantVal)"], 638 "LLVMConstNot" : ["LLVMValueRef function(LLVMValueRef ConstantVal)"], 639 "LLVMConstAdd" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 640 "LLVMConstNSWAdd" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 641 "LLVMConstNUWAdd" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 642 "LLVMConstFAdd" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 643 "LLVMConstSub" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 644 "LLVMConstNSWSub" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 645 "LLVMConstNUWSub" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 646 "LLVMConstFSub" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 647 "LLVMConstMul" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 648 "LLVMConstNSWMul" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 649 "LLVMConstNUWMul" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 650 "LLVMConstFMul" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 651 "LLVMConstUDiv" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 652 "LLVMConstSDiv" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 653 "LLVMConstExactSDiv" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 654 "LLVMConstFDiv" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 655 "LLVMConstURem" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 656 "LLVMConstSRem" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 657 "LLVMConstFRem" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 658 "LLVMConstAnd" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 659 "LLVMConstOr" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 660 "LLVMConstXor" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 661 "LLVMConstICmp" : ["LLVMValueRef function(LLVMIntPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 662 "LLVMConstFCmp" : ["LLVMValueRef function(LLVMRealPredicate Predicate, LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 663 "LLVMConstShl" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 664 "LLVMConstLShr" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 665 "LLVMConstAShr" : ["LLVMValueRef function(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)"], 666 "LLVMConstGEP" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMValueRef* ConstantIndices, uint NumIndices)"], 667 "LLVMConstInBoundsGEP" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMValueRef* ConstantIndices, uint NumIndices)"], 668 "LLVMConstTrunc" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 669 "LLVMConstSExt" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 670 "LLVMConstZExt" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 671 "LLVMConstFPTrunc" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 672 "LLVMConstFPExt" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 673 "LLVMConstUIToFP" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 674 "LLVMConstSIToFP" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 675 "LLVMConstFPToUI" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 676 "LLVMConstFPToSI" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 677 "LLVMConstPtrToInt" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 678 "LLVMConstIntToPtr" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 679 "LLVMConstBitCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 680 "LLVMConstAddrSpaceCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)", 681 "+", "3", "4", "0"], 682 "LLVMConstZExtOrBitCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 683 "LLVMConstSExtOrBitCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 684 "LLVMConstTruncOrBitCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 685 "LLVMConstPointerCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 686 "LLVMConstIntCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType, LLVMBool isSigned)"], 687 "LLVMConstFPCast" : ["LLVMValueRef function(LLVMValueRef ConstantVal, LLVMTypeRef ToType)"], 688 "LLVMConstSelect" : ["LLVMValueRef function(LLVMValueRef ConstantCondition, LLVMValueRef ConstantIfTrue, LLVMValueRef ConstantIfFalse)"], 689 "LLVMConstExtractElement" : ["LLVMValueRef function(LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)"], 690 "LLVMConstInsertElement" : ["LLVMValueRef function(LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)"], 691 "LLVMConstShuffleVector" : ["LLVMValueRef function(LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)"], 692 "LLVMConstExtractValue" : ["LLVMValueRef function(LLVMValueRef AggConstant, uint* IdxList, uint NumIdx)"], 693 "LLVMConstInsertValue" : ["LLVMValueRef function(LLVMValueRef AggConstant, LLVMValueRef ElementValueConstant, uint* IdxList, uint NumIdx)"], 694 "LLVMConstInlineAsm" : ["LLVMValueRef function(LLVMTypeRef Ty, const(char)* AsmString, const(char)* Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)"], 695 "LLVMBlockAddress" : ["LLVMValueRef function(LLVMValueRef F, LLVMBasicBlockRef BB)"], 696 697 /++++ Global Values ++++/ 698 699 "LLVMGetGlobalParent" : ["LLVMModuleRef function(LLVMValueRef Global)"], 700 "LLVMIsDeclaration" : ["LLVMBool function(LLVMValueRef Global)"], 701 "LLVMGetLinkage" : ["LLVMLinkage function(LLVMValueRef Global)"], 702 "LLVMSetLinkage" : ["void function(LLVMValueRef Global, LLVMLinkage Linkage)"], 703 "LLVMGetSection" : ["const(char)* function(LLVMValueRef Global)"], 704 "LLVMSetSection" : ["void function(LLVMValueRef Global, const(char)* Section)"], 705 "LLVMGetVisibility" : ["LLVMVisibility function(LLVMValueRef Global)"], 706 "LLVMSetVisibility" : ["void function(LLVMValueRef Global, LLVMVisibility Viz)"], 707 "LLVMGetDLLStorageClass" : ["LLVMDLLStorageClass function(LLVMValueRef Global)", 708 "+", "3", "5", "0"], 709 "LLVMSetDLLStorageClass" : ["void function(LLVMValueRef Global, LLVMDLLStorageClass Class)", 710 "+", "3", "5", "0"], 711 "LLVMHasUnnamedAddr" : ["LLVMBool function(LLVMValueRef Global)", 712 "+", "3", "5", "0"], 713 "LLVMSetUnnamedAddr" : ["void function(LLVMValueRef Global, LLVMBool HasUnnamedAddr)", 714 "+", "3", "5", "0"], 715 "LLVMGetAlignment" : ["uint function(LLVMValueRef Global)"], 716 "LLVMSetAlignment" : ["void function(LLVMValueRef Global, uint Bytes)"], 717 718 /+++++ Global Variables +++++/ 719 720 "LLVMAddGlobal" : ["LLVMValueRef function(LLVMModuleRef M, LLVMTypeRef Ty, const(char)* Name)"], 721 "LLVMAddGlobalInAddressSpace" : ["LLVMValueRef function(LLVMModuleRef M, LLVMTypeRef Ty, const(char)* Name, uint AddressSpace)"], 722 "LLVMGetNamedGlobal" : ["LLVMValueRef function(LLVMModuleRef M, const(char)* Name)"], 723 "LLVMGetFirstGlobal" : ["LLVMValueRef function(LLVMModuleRef M)"], 724 "LLVMGetLastGlobal" : ["LLVMValueRef function(LLVMModuleRef M)"], 725 "LLVMGetNextGlobal" : ["LLVMValueRef function(LLVMValueRef GlobalVar)"], 726 "LLVMGetPreviousGlobal" : ["LLVMValueRef function(LLVMValueRef GlobalVar)"], 727 "LLVMDeleteGlobal" : ["void function(LLVMValueRef GlobalVar)"], 728 "LLVMGetInitializer" : ["LLVMValueRef function(LLVMValueRef GlobalVar)"], 729 "LLVMSetInitializer" : ["void function(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)"], 730 "LLVMIsThreadLocal" : ["LLVMBool function(LLVMValueRef GlobalVar)"], 731 "LLVMSetThreadLocal" : ["void function(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)"], 732 "LLVMIsGlobalConstant" : ["LLVMBool function(LLVMValueRef GlobalVar)"], 733 "LLVMSetGlobalConstant" : ["void function(LLVMValueRef GlobalVar, LLVMBool IsConstant)"], 734 "LLVMGetThreadLocalMode" : ["LLVMThreadLocalMode function(LLVMValueRef GlobalVar)", 735 "+", "3", "3", "0"], 736 "LLVMSetThreadLocalMode" : ["void function(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode)", 737 "+", "3", "3", "0"], 738 "LLVMIsExternallyInitialized" : ["LLVMBool function(LLVMValueRef GlobalVar)", 739 "+", "3", "3", "0"], 740 "LLVMSetExternallyInitialized" : ["void function(LLVMValueRef GlobalVar, LLVMBool IsExtInit)", 741 "+", "3", "3", "0"], 742 743 /+++++ Global Aliases +++++/ 744 745 "LLVMAddAlias" : ["LLVMValueRef function(LLVMModuleRef M, LLVMTypeRef Ty, LLVMValueRef Aliasee, const(char)* Name)"], 746 747 /+++++ Function values +++++/ 748 749 "LLVMDeleteFunction" : ["void function(LLVMValueRef Fn)"], 750 "LLVMGetPersonalityFn" : ["LLVMValueRef function(LLVMValueRef Fn)", 751 "+", "3", "7", "0"], 752 "LLVMSetPersonalityFn" : ["void function(LLVMValueRef Fn, LLVMValueRef PersonalityFn)", 753 "+", "3", "7", "0"], 754 "LLVMGetIntrinsicID" : ["uint function(LLVMValueRef Fn)"], 755 "LLVMGetFunctionCallConv" : ["uint function(LLVMValueRef Fn)"], 756 "LLVMSetFunctionCallConv" : ["void function(LLVMValueRef Fn, uint CC)"], 757 "LLVMGetGC" : ["const(char)* function(LLVMValueRef Fn)"], 758 "LLVMSetGC" : ["void function(LLVMValueRef Fn, const(char)* Name)"], 759 "LLVMAddFunctionAttr" : ["void function(LLVMValueRef Fn, LLVMAttribute PA)"], 760 "LLVMAddTargetDependentFunctionAttr" : ["void function(LLVMValueRef Fn, const(char)* A, const(char)* V)", 761 "+", "3", "3", "0"], 762 "LLVMGetFunctionAttr" : ["LLVMAttribute function(LLVMValueRef Fn)"], 763 "LLVMRemoveFunctionAttr" : ["void function(LLVMValueRef Fn, LLVMAttribute PA)"], 764 765 /++++++ Function Parameters ++++++/ 766 767 "LLVMCountParams" : ["uint function(LLVMValueRef Fn)"], 768 "LLVMGetParams" : ["void function(LLVMValueRef Fn, LLVMValueRef* Params)"], 769 "LLVMGetParam" : ["LLVMValueRef function(LLVMValueRef Fn, uint Index)"], 770 "LLVMGetParamParent" : ["LLVMValueRef function(LLVMValueRef Inst)"], 771 "LLVMGetFirstParam" : ["LLVMValueRef function(LLVMValueRef Fn)"], 772 "LLVMGetLastParam" : ["LLVMValueRef function(LLVMValueRef Fn)"], 773 "LLVMGetNextParam" : ["LLVMValueRef function(LLVMValueRef Arg)"], 774 "LLVMGetPreviousParam" : ["LLVMValueRef function(LLVMValueRef Arg)"], 775 "LLVMAddAttribute" : ["void function(LLVMValueRef Arg, LLVMAttribute PA)"], 776 "LLVMRemoveAttribute" : ["void function(LLVMValueRef Arg, LLVMAttribute PA)"], 777 "LLVMGetAttribute" : ["LLVMAttribute function(LLVMValueRef Arg)"], 778 "LLVMSetParamAlignment" : ["void function(LLVMValueRef Arg, uint Align)"], 779 780 /+++ Metadata +++/ 781 782 "LLVMMDStringInContext" : ["LLVMValueRef function(LLVMContextRef C, const(char)* Str, uint SLen)"], 783 "LLVMMDString" : ["LLVMValueRef function(const(char)* Str, uint SLen)"], 784 "LLVMMDNodeInContext" : ["LLVMValueRef function(LLVMContextRef C, LLVMValueRef* Vals, uint Count)"], 785 "LLVMMDNode" : ["LLVMValueRef function(LLVMValueRef* Vals, uint Count)"], 786 "LLVMGetMDString" : ["const(char)* function(LLVMValueRef V, uint* Len)"], 787 "LLVMGetMDNodeNumOperands" : ["uint function(LLVMValueRef V)", 788 "+", "3", "2", "0"], 789 "LLVMGetMDNodeOperands" : ["void function(LLVMValueRef V, LLVMValueRef *Dest)", 790 "+", "3", "2", "0"], 791 792 /+++ Basic Block +++/ 793 794 "LLVMBasicBlockAsValue" : ["LLVMValueRef function(LLVMBasicBlockRef BB)"], 795 "LLVMValueIsBasicBlock" : ["LLVMBool function(LLVMValueRef Val)"], 796 "LLVMValueAsBasicBlock" : ["LLVMBasicBlockRef function(LLVMValueRef Val)"], 797 "LLVMGetBasicBlockParent" : ["LLVMValueRef function(LLVMBasicBlockRef BB)"], 798 "LLVMGetBasicBlockTerminator" : ["LLVMValueRef function(LLVMBasicBlockRef BB)"], 799 "LLVMCountBasicBlocks" : ["uint function(LLVMValueRef Fn)"], 800 "LLVMGetBasicBlocks" : ["void function(LLVMValueRef Fn, LLVMBasicBlockRef* BasicBlocks)"], 801 "LLVMGetFirstBasicBlock" : ["LLVMBasicBlockRef function(LLVMValueRef Fn)"], 802 "LLVMGetLastBasicBlock" : ["LLVMBasicBlockRef function(LLVMValueRef Fn)"], 803 "LLVMGetNextBasicBlock" : ["LLVMBasicBlockRef function(LLVMBasicBlockRef BB)"], 804 "LLVMGetPreviousBasicBlock" : ["LLVMBasicBlockRef function(LLVMBasicBlockRef BB)"], 805 "LLVMGetEntryBasicBlock" : ["LLVMBasicBlockRef function(LLVMValueRef Fn)"], 806 "LLVMAppendBasicBlockInContext" : ["LLVMBasicBlockRef function(LLVMContextRef C, LLVMValueRef Fn, const(char)* Name)"], 807 "LLVMAppendBasicBlock" : ["LLVMBasicBlockRef function(LLVMValueRef Fn, const(char)* Name)"], 808 "LLVMInsertBasicBlockInContext" : ["LLVMBasicBlockRef function(LLVMContextRef C, LLVMBasicBlockRef BB, const(char)* Name)"], 809 "LLVMInsertBasicBlock" : ["LLVMBasicBlockRef function(LLVMBasicBlockRef InsertBeforeBB, const(char)* Name)"], 810 "LLVMDeleteBasicBlock" : ["void function(LLVMBasicBlockRef BB)"], 811 "LLVMRemoveBasicBlockFromParent" : ["void function(LLVMBasicBlockRef BB)"], 812 "LLVMMoveBasicBlockBefore" : ["void function(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)"], 813 "LLVMMoveBasicBlockAfter" : ["void function(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)"], 814 "LLVMGetFirstInstruction" : ["LLVMValueRef function(LLVMBasicBlockRef BB)"], 815 "LLVMGetLastInstruction" : ["LLVMValueRef function(LLVMBasicBlockRef BB)"], 816 817 /+++ Instructions +++/ 818 819 "LLVMHasMetadata" : ["int function(LLVMValueRef Val)"], 820 "LLVMGetMetadata" : ["LLVMValueRef function(LLVMValueRef Val, uint KindID)"], 821 "LLVMSetMetadata" : ["void function(LLVMValueRef Val, uint KindID, LLVMValueRef Node)"], 822 "LLVMGetInstructionParent" : ["LLVMBasicBlockRef function(LLVMValueRef Inst)"], 823 "LLVMGetNextInstruction" : ["LLVMValueRef function(LLVMValueRef Inst)"], 824 "LLVMGetPreviousInstruction" : ["LLVMValueRef function(LLVMValueRef Inst)"], 825 "LLVMInstructionEraseFromParent" : ["void function(LLVMValueRef Inst)"], 826 "LLVMGetInstructionOpcode" : ["LLVMOpcode function(LLVMValueRef Inst)"], 827 "LLVMGetICmpPredicate" : ["LLVMIntPredicate function(LLVMValueRef Inst)"], 828 "LLVMGetFCmpPredicate" : ["LLVMRealPredicate function(LLVMValueRef Inst)", 829 "+", "3", "6", "0"], 830 "LLVMInstructionClone" : ["LLVMValueRef function(LLVMValueRef Inst)", 831 "+", "3", "6", "0"], 832 "LLVMGetSwitchDefaultDest" : ["LLVMBasicBlockRef function(LLVMValueRef SwitchInstr)"], 833 834 /++++ Call Sites and Invocations ++++/ 835 836 "LLVMSetInstructionCallConv" : ["void function(LLVMValueRef Instr, uint CC)"], 837 "LLVMGetInstructionCallConv" : ["uint function(LLVMValueRef Instr)"], 838 "LLVMAddInstrAttribute" : ["void function(LLVMValueRef Instr, uint index, LLVMAttribute)"], 839 "LLVMRemoveInstrAttribute" : ["void function(LLVMValueRef Instr, uint index, LLVMAttribute)"], 840 "LLVMSetInstrParamAlignment" : ["void function(LLVMValueRef Instr, uint index, uint Align)"], 841 "LLVMIsTailCall" : ["LLVMBool function(LLVMValueRef CallInst)"], 842 "LLVMSetTailCall" : ["void function(LLVMValueRef CallInst, LLVMBool IsTailCall)"], 843 "LLVMGetNumSuccessors" : ["uint function(LLVMValueRef Term)", 844 "+", "3", "6", "0"], 845 "LLVMGetSuccessor" : ["LLVMBasicBlockRef function(LLVMValueRef Term, uint i)", 846 "+", "3", "6", "0"], 847 "LLVMSetSuccessor" : ["void function(LLVMValueRef Term, uint i, LLVMBasicBlockRef block)", 848 "+", "3", "6", "0"], 849 "LLVMIsConditional" : ["LLVMBool function(LLVMValueRef Branch)", 850 "+", "3", "6", "0"], 851 "LLVMGetCondition" : ["LLVMValueRef function(LLVMValueRef Branch)", 852 "+", "3", "6", "0"], 853 "LLVMSetCondition" : ["void function(LLVMValueRef Branch, LLVMValueRef Cond)", 854 "+", "3", "6", "0"], 855 856 /++++ PHI Nodes ++++/ 857 858 "LLVMAddIncoming" : ["void function(LLVMValueRef PhiNode, LLVMValueRef* IncomingValues, LLVMBasicBlockRef* IncomingBlocks, uint Count)"], 859 "LLVMCountIncoming" : ["uint function(LLVMValueRef PhiNode)"], 860 "LLVMGetIncomingValue" : ["LLVMValueRef function(LLVMValueRef PhiNode, uint Index)"], 861 "LLVMGetIncomingBlock" : ["LLVMBasicBlockRef function(LLVMValueRef PhiNode, uint Index)"], 862 863 /++ Instruction Builders ++/ 864 865 "LLVMCreateBuilderInContext" : ["LLVMBuilderRef function(LLVMContextRef C)"], 866 "LLVMCreateBuilder" : ["LLVMBuilderRef function()"], 867 "LLVMPositionBuilder" : ["void function(LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)"], 868 "LLVMPositionBuilderBefore" : ["void function(LLVMBuilderRef Builder, LLVMValueRef Instr)"], 869 "LLVMPositionBuilderAtEnd" : ["void function(LLVMBuilderRef Builder, LLVMBasicBlockRef Block)"], 870 "LLVMGetInsertBlock" : ["LLVMBasicBlockRef function(LLVMBuilderRef Builder)"], 871 "LLVMClearInsertionPosition" : ["void function(LLVMBuilderRef Builder)"], 872 "LLVMInsertIntoBuilder" : ["void function(LLVMBuilderRef Builder, LLVMValueRef Instr)"], 873 "LLVMInsertIntoBuilderWithName" : ["void function(LLVMBuilderRef Builder, LLVMValueRef Instr, const(char)* Name)"], 874 "LLVMDisposeBuilder" : ["void function(LLVMBuilderRef Builder)"], 875 "LLVMSetCurrentDebugLocation" : ["void function(LLVMBuilderRef Builder, LLVMValueRef L)"], 876 "LLVMGetCurrentDebugLocation" : ["LLVMValueRef function(LLVMBuilderRef Builder)"], 877 "LLVMSetInstDebugLocation" : ["void function(LLVMBuilderRef Builder, LLVMValueRef Inst)"], 878 "LLVMBuildRetVoid" : ["LLVMValueRef function(LLVMBuilderRef)"], 879 "LLVMBuildRet" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V)"], 880 "LLVMBuildAggregateRet" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef* RetVals, uint N)"], 881 "LLVMBuildBr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMBasicBlockRef Dest)"], 882 "LLVMBuildCondBr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)"], 883 "LLVMBuildSwitch" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V, LLVMBasicBlockRef Else, uint NumCases)"], 884 "LLVMBuildIndirectBr" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef Addr, uint NumDests)"], 885 "LLVMBuildInvoke" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef* Args, uint NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const(char)* Name)"], 886 "LLVMBuildLandingPad" : (LLVM_Version >= 3.7) ? 887 ["LLVMValueRef function(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, uint NumClauses, const(char)* Name)"] : 888 ["LLVMValueRef function(LLVMBuilderRef B, LLVMTypeRef Ty, uint NumClauses, const(char)* Name)"], 889 "LLVMBuildResume" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef Exn)"], 890 "LLVMBuildUnreachable" : ["LLVMValueRef function(LLVMBuilderRef)"], 891 "LLVMAddCase" : ["void function(LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)"], 892 "LLVMAddDestination" : ["void function(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)"], 893 "LLVMAddClause" : ["void function(LLVMValueRef LandingPad, LLVMValueRef ClauseVal)"], 894 "LLVMSetCleanup" : ["void function(LLVMValueRef LandingPad, LLVMBool Val)"], 895 "LLVMBuildAdd" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 896 "LLVMBuildNSWAdd" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 897 "LLVMBuildNUWAdd" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 898 "LLVMBuildFAdd" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 899 "LLVMBuildSub" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 900 "LLVMBuildNSWSub" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 901 "LLVMBuildNUWSub" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 902 "LLVMBuildFSub" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 903 "LLVMBuildMul" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 904 "LLVMBuildNSWMul" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 905 "LLVMBuildNUWMul" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 906 "LLVMBuildFMul" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 907 "LLVMBuildUDiv" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 908 "LLVMBuildSDiv" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 909 "LLVMBuildExactSDiv" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 910 "LLVMBuildFDiv" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 911 "LLVMBuildURem" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 912 "LLVMBuildSRem" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 913 "LLVMBuildFRem" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 914 "LLVMBuildShl" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 915 "LLVMBuildLShr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 916 "LLVMBuildAShr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 917 "LLVMBuildAnd" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 918 "LLVMBuildOr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 919 "LLVMBuildXor" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 920 "LLVMBuildBinOp" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 921 "LLVMBuildNeg" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V, const(char)* Name)"], 922 "LLVMBuildNSWNeg" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef V, const(char)* Name)"], 923 "LLVMBuildNUWNeg" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef V, const(char)* Name)"], 924 "LLVMBuildFNeg" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V, const(char)* Name)"], 925 "LLVMBuildNot" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V, const(char)* Name)"], 926 "LLVMBuildMalloc" : ["LLVMValueRef function(LLVMBuilderRef, LLVMTypeRef Ty, const(char)* Name)"], 927 "LLVMBuildArrayMalloc" : ["LLVMValueRef function(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const(char)* Name)"], 928 "LLVMBuildAlloca" : ["LLVMValueRef function(LLVMBuilderRef, LLVMTypeRef Ty, const(char)* Name)"], 929 "LLVMBuildArrayAlloca" : ["LLVMValueRef function(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Val, const(char)* Name)"], 930 "LLVMBuildFree" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef PointerVal)"], 931 "LLVMBuildLoad" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef PointerVal, const(char)* Name)"], 932 "LLVMBuildStore" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr)"], 933 "LLVMBuildGEP" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef* Indices, uint NumIndices, const(char)* Name)"], 934 "LLVMBuildInBoundsGEP" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef* Indices, uint NumIndices, const(char)* Name)"], 935 "LLVMBuildStructGEP" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMValueRef Pointer, uint Idx, const(char)* Name)"], 936 "LLVMBuildGlobalString" : ["LLVMValueRef function(LLVMBuilderRef B, const(char)* Str, const(char)* Name)"], 937 "LLVMBuildGlobalStringPtr" : ["LLVMValueRef function(LLVMBuilderRef B, const(char)* Str, const(char)* Name)"], 938 "LLVMGetVolatile" : ["LLVMBool function(LLVMValueRef MemoryAccessInst)"], 939 "LLVMSetVolatile" : ["void function(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)"], 940 "LLVMBuildTrunc" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 941 "LLVMBuildZExt" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 942 "LLVMBuildSExt" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 943 "LLVMBuildFPToUI" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 944 "LLVMBuildFPToSI" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 945 "LLVMBuildUIToFP" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 946 "LLVMBuildSIToFP" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 947 "LLVMBuildFPTrunc" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 948 "LLVMBuildFPExt" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 949 "LLVMBuildPtrToInt" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 950 "LLVMBuildIntToPtr" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 951 "LLVMBuildBitCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 952 "LLVMBuildAddrSpaceCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)", 953 "+", "3", "4", "0"], 954 "LLVMBuildZExtOrBitCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 955 "LLVMBuildSExtOrBitCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 956 "LLVMBuildTruncOrBitCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 957 "LLVMBuildCast" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 958 "LLVMBuildPointerCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 959 "LLVMBuildIntCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 960 "LLVMBuildFPCast" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, LLVMTypeRef DestTy, const(char)* Name)"], 961 "LLVMBuildICmp" : ["LLVMValueRef function(LLVMBuilderRef, LLVMIntPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 962 "LLVMBuildFCmp" : ["LLVMValueRef function(LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 963 "LLVMBuildPhi" : ["LLVMValueRef function(LLVMBuilderRef, LLVMTypeRef Ty, const(char)* Name)"], 964 "LLVMBuildCall" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Fn, LLVMValueRef* Args, uint NumArgs, const(char)* Name)"], 965 "LLVMBuildSelect" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const(char)* Name)"], 966 "LLVMBuildVAArg" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty, const(char)* Name)"], 967 "LLVMBuildExtractElement" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef Index, const(char)* Name)"], 968 "LLVMBuildInsertElement" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const(char)* Name)"], 969 "LLVMBuildShuffleVector" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const(char)* Name)"], 970 "LLVMBuildExtractValue" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef AggVal, uint Index, const(char)* Name)"], 971 "LLVMBuildInsertValue" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef AggVal, LLVMValueRef EltVal, uint Index, const(char)* Name)"], 972 "LLVMBuildIsNull" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, const(char)* Name)"], 973 "LLVMBuildIsNotNull" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef Val, const(char)* Name)"], 974 "LLVMBuildPtrDiff" : ["LLVMValueRef function(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS, const(char)* Name)"], 975 "LLVMBuildAtomicRMW" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val, LLVMAtomicOrdering ordering, LLVMBool singleThread)", 976 "+", "3", "3", "0"], 977 "LLVMBuildFence" : ["LLVMValueRef function(LLVMBuilderRef B, LLVMAtomicOrdering ordering, LLVMBool singleThread, const char *Name)", 978 "+", "3", "5", "0"], 979 980 /++ Module Providers ++/ 981 982 "LLVMCreateModuleProviderForExistingModule" : ["LLVMModuleProviderRef function(LLVMModuleRef M)"], 983 "LLVMDisposeModuleProvider" : ["void function(LLVMModuleProviderRef M)"], 984 985 /++ Memory Buffers ++/ 986 987 "LLVMCreateMemoryBufferWithContentsOfFile" : ["LLVMBool function(const(char)* Path, LLVMMemoryBufferRef* OutMemBuf, char** OutMessage)"], 988 "LLVMCreateMemoryBufferWithSTDIN" : ["LLVMBool function(LLVMMemoryBufferRef* OutMemBuf, char** OutMessage)"], 989 "LLVMCreateMemoryBufferWithMemoryRange" : ["LLVMMemoryBufferRef function(const(char)* InputData, size_t InputDataLength, const(char)* BufferName, LLVMBool RequiresNullTerminator)", 990 "+", "3", "3", "0"], 991 "LLVMCreateMemoryBufferWithMemoryRangeCopy" : ["LLVMMemoryBufferRef function(const(char)* InputData, size_t InputDataLength, const(char)* BufferName)", 992 "+", "3", "3", "0"], 993 "LLVMGetBufferStart" : ["const(char)* function(LLVMMemoryBufferRef MemBuf)", 994 "+", "3", "3", "0"], 995 "LLVMGetBufferSize" : ["size_t function(LLVMMemoryBufferRef MemBuf)", 996 "+", "3", "3", "0"], 997 "LLVMDisposeMemoryBuffer" : ["void function(LLVMMemoryBufferRef MemBuf)"], 998 999 /++ Pass Registry ++/ 1000 1001 "LLVMGetGlobalPassRegistry" : ["LLVMPassRegistryRef function()"], 1002 1003 /++ Pass Managers ++/ 1004 1005 "LLVMCreatePassManager" : ["LLVMPassManagerRef function()"], 1006 "LLVMCreateFunctionPassManagerForModule" : ["LLVMPassManagerRef function(LLVMModuleRef M)"], 1007 "LLVMCreateFunctionPassManager" : ["LLVMPassManagerRef function(LLVMModuleProviderRef MP)"], 1008 "LLVMRunPassManager" : ["LLVMBool function(LLVMPassManagerRef PM, LLVMModuleRef M)"], 1009 "LLVMInitializeFunctionPassManager" : ["LLVMBool function(LLVMPassManagerRef FPM)"], 1010 "LLVMRunFunctionPassManager" : ["LLVMBool function(LLVMPassManagerRef FPM, LLVMValueRef F)"], 1011 "LLVMFinalizeFunctionPassManager" : ["LLVMBool function(LLVMPassManagerRef FPM)"], 1012 "LLVMDisposePassManager" : ["void function(LLVMPassManagerRef PM)"], 1013 1014 /++ Threading ++/ 1015 1016 "LLVMStartMultithreaded" : ["LLVMBool function()", 1017 "+", "3", "3", "0", "-", "3", "5", "0"], 1018 "LLVMStopMultithreaded" : ["void function()", 1019 "+", "3", "3", "0", "-", "3", "5", "0"], 1020 "LLVMIsMultithreaded" : ["LLVMBool function()", 1021 "+", "3", "3", "0"], 1022 1023 /+ Disassembler +/ 1024 1025 "LLVMCreateDisasm" : ["LLVMDisasmContextRef function(const(char)* TripleName, void* DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)"], 1026 "LLVMCreateDisasmCPU" : ["LLVMDisasmContextRef function(const(char)* Triple, const(char)* CPU, void* DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)", 1027 "+", "3", "3", "0"], 1028 "LLVMCreateDisasmCPUFeatures" : ["LLVMDisasmContextRef function(const char *Triple, const char *CPU, const char *Features, void *DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)", 1029 "+", "3", "6", "0"], 1030 "LLVMSetDisasmOptions" : ["int function(LLVMDisasmContextRef DC, ulong Options)", 1031 "+", "3", "2", "0"], 1032 "LLVMDisasmDispose" : ["void function(LLVMDisasmContextRef DC)"], 1033 "LLVMDisasmInstruction" : ["size_t function(LLVMDisasmContextRef DC, ubyte* Bytes, ulong BytesSize, ulong PC, char* OutString, size_t OutStringSize)"], 1034 1035 /+ Enhanced Disassembly +/ 1036 1037 "EDGetDisassembler" : ["int function(EDDisassemblerRef* disassembler, const(char)* triple, EDAssemblySyntax_t syntax)", 1038 "-", "3", "3", "0"], 1039 "EDGetRegisterName" : ["int function(const(char)** regName, EDDisassemblerRef disassembler, uint regID)", 1040 "-", "3", "3", "0"], 1041 "EDRegisterIsStackPointer" : ["int function(EDDisassemblerRef disassembler, uint regID)", 1042 "-", "3", "3", "0"], 1043 "EDRegisterIsProgramCounter" : ["int function(EDDisassemblerRef disassembler, uint regID)", 1044 "-", "3", "3", "0"], 1045 "EDCreateInsts" : ["uint function(EDInstRef* insts, uint count, EDDisassemblerRef disassembler, EDByteReaderCallback byteReader, ulong address, void* arg)", 1046 "-", "3", "3", "0"], 1047 "EDReleaseInst" : ["void function(EDInstRef inst)", 1048 "-", "3", "3", "0"], 1049 "EDInstByteSize" : ["int function(EDInstRef inst)", 1050 "-", "3", "3", "0"], 1051 "EDGetInstString" : ["int function(const(char)** buf, EDInstRef inst)", 1052 "-", "3", "3", "0"], 1053 "EDInstID" : ["int function(uint* instID, EDInstRef inst)", 1054 "-", "3", "3", "0"], 1055 "EDInstIsBranch" : ["int function(EDInstRef inst)", 1056 "-", "3", "3", "0"], 1057 "EDInstIsMove" : ["int function(EDInstRef inst)", 1058 "-", "3", "3", "0"], 1059 "EDBranchTargetID" : ["int function(EDInstRef inst)", 1060 "-", "3", "3", "0"], 1061 "EDMoveSourceID" : ["int function(EDInstRef inst)", 1062 "-", "3", "3", "0"], 1063 "EDMoveTargetID" : ["int function(EDInstRef inst)", 1064 "-", "3", "3", "0"], 1065 "EDNumTokens" : ["int function(EDInstRef inst)", 1066 "-", "3", "3", "0"], 1067 "EDGetToken" : ["int function(EDTokenRef* token, EDInstRef inst, int index)", 1068 "-", "3", "3", "0"], 1069 "EDGetTokenString" : ["int function(const(char)** buf, EDTokenRef token)", 1070 "-", "3", "3", "0"], 1071 "EDOperandIndexForToken" : ["int function(EDTokenRef token)", 1072 "-", "3", "3", "0"], 1073 "EDTokenIsWhitespace" : ["int function(EDTokenRef token)", 1074 "-", "3", "3", "0"], 1075 "EDTokenIsPunctuation" : ["int function(EDTokenRef token)", 1076 "-", "3", "3", "0"], 1077 "EDTokenIsOpcode" : ["int function(EDTokenRef token)", 1078 "-", "3", "3", "0"], 1079 "EDTokenIsLiteral" : ["int function(EDTokenRef token)", 1080 "-", "3", "3", "0"], 1081 "EDTokenIsRegister" : ["int function(EDTokenRef token)", 1082 "-", "3", "3", "0"], 1083 "EDTokenIsNegativeLiteral" : ["int function(EDTokenRef token)", 1084 "-", "3", "3", "0"], 1085 "EDLiteralTokenAbsoluteValue" : ["int function(ulong* value, EDTokenRef token)", 1086 "-", "3", "3", "0"], 1087 "EDRegisterTokenValue" : ["int function(uint* registerID, EDTokenRef token)", 1088 "-", "3", "3", "0"], 1089 "EDNumOperands" : ["int function(EDInstRef inst)", 1090 "-", "3", "3", "0"], 1091 "EDGetOperand" : ["int function(EDOperandRef* operand, EDInstRef inst, int index)", 1092 "-", "3", "3", "0"], 1093 "EDOperandIsRegister" : ["int function(EDOperandRef operand)", 1094 "-", "3", "3", "0"], 1095 "EDOperandIsImmediate" : ["int function(EDOperandRef operand)", 1096 "-", "3", "3", "0"], 1097 "EDOperandIsMemory" : ["int function(EDOperandRef operand)", 1098 "-", "3", "3", "0"], 1099 "EDRegisterOperandValue" : ["int function(uint* value, EDOperandRef operand)", 1100 "-", "3", "3", "0"], 1101 "EDImmediateOperandValue" : ["int function(ulong* value, EDOperandRef operand)", 1102 "-", "3", "3", "0"], 1103 "EDEvaluateOperand" : ["int function(ulong* result, EDOperandRef operand, EDRegisterReaderCallback regReader, void* arg)", 1104 "-", "3", "3", "0"], 1105 "EDBlockCreateInsts" : ["uint function(EDInstRef* insts, int count, EDDisassemblerRef disassembler, EDByteBlock_t byteBlock, ulong address)", 1106 "-", "3", "3", "0"], 1107 "EDBlockEvaluateOperand" : ["int function(ulong* result, EDOperandRef operand, EDRegisterBlock_t regBlock)", 1108 "-", "3", "3", "0"], 1109 "EDBlockVisitTokens" : ["int function(EDInstRef inst, EDTokenVisitor_t visitor)", 1110 "-", "3", "3", "0"], 1111 1112 /+ Execution Engine +/ 1113 1114 "LLVMCreateGenericValueOfInt" : ["LLVMGenericValueRef function(LLVMTypeRef Ty, ulong N, LLVMBool IsSigned)"], 1115 "LLVMCreateGenericValueOfPointer" : ["LLVMGenericValueRef function(void* P)"], 1116 "LLVMCreateGenericValueOfFloat" : ["LLVMGenericValueRef function(LLVMTypeRef Ty, double N)"], 1117 "LLVMGenericValueIntWidth" : ["uint function(LLVMGenericValueRef GenValRef)"], 1118 "LLVMGenericValueToInt" : ["ulong function(LLVMGenericValueRef GenVal, LLVMBool IsSigned)"], 1119 "LLVMGenericValueToPointer" : ["void* function(LLVMGenericValueRef GenVal)"], 1120 "LLVMGenericValueToFloat" : ["double function(LLVMTypeRef TyRef, LLVMGenericValueRef GenVal)"], 1121 "LLVMDisposeGenericValue" : ["void function(LLVMGenericValueRef GenVal)"], 1122 "LLVMCreateExecutionEngineForModule" : ["LLVMBool function(LLVMExecutionEngineRef* OutEE, LLVMModuleRef M, char** OutError)"], 1123 "LLVMCreateInterpreterForModule" : ["LLVMBool function(LLVMExecutionEngineRef* OutInterp, LLVMModuleRef M, char** OutError)"], 1124 "LLVMCreateJITCompilerForModule" : ["LLVMBool function(LLVMExecutionEngineRef* OutJIT, LLVMModuleRef M, uint OptLevel, char** OutError)"], 1125 "LLVMInitializeMCJITCompilerOptions" : ["void function(LLVMMCJITCompilerOptions* Options, size_t SizeOfOptions)", 1126 "+", "3", "3", "0"], 1127 "LLVMCreateMCJITCompilerForModule" : ["LLVMBool function(LLVMExecutionEngineRef* OutJIT, LLVMModuleRef M, LLVMMCJITCompilerOptions* Options, size_t SizeOfOptions, char** OutError)", 1128 "+", "3", "3", "0"], 1129 "LLVMCreateExecutionEngine" : ["LLVMBool function(LLVMExecutionEngineRef* OutEE, LLVMModuleProviderRef MP, char** OutError)"], 1130 "LLVMCreateInterpreter" : ["LLVMBool function(LLVMExecutionEngineRef* OutInterp, LLVMModuleProviderRef MP, char** OutError)"], 1131 "LLVMCreateJITCompiler" : ["LLVMBool function(LLVMExecutionEngineRef* OutJIT, LLVMModuleProviderRef MP, uint OptLevel, char** OutError)"], 1132 "LLVMDisposeExecutionEngine" : ["void function(LLVMExecutionEngineRef EE)"], 1133 "LLVMRunStaticConstructors" : ["void function(LLVMExecutionEngineRef EE)"], 1134 "LLVMRunStaticDestructors" : ["void function(LLVMExecutionEngineRef EE)"], 1135 "LLVMRunFunctionAsMain" : ["int function(LLVMExecutionEngineRef EE, LLVMValueRef F, uint ArgC, const(char*)* ArgV, const(char*)* EnvP)"], 1136 "LLVMRunFunction" : ["LLVMGenericValueRef function(LLVMExecutionEngineRef EE, LLVMValueRef F, uint NumArgs, LLVMGenericValueRef* Args)"], 1137 "LLVMFreeMachineCodeForFunction" : ["void function(LLVMExecutionEngineRef EE, LLVMValueRef F)"], 1138 "LLVMAddModule" : ["void function(LLVMExecutionEngineRef EE, LLVMModuleRef M)"], 1139 "LLVMAddModuleProvider" : ["void function(LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP)"], 1140 "LLVMRemoveModule" : ["LLVMBool function(LLVMExecutionEngineRef EE, LLVMModuleRef M, LLVMModuleRef* OutMod, char** OutError)"], 1141 "LLVMRemoveModuleProvider" : ["LLVMBool function(LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP, LLVMModuleRef* OutMod, char** OutError)"], 1142 "LLVMFindFunction" : ["LLVMBool function(LLVMExecutionEngineRef EE, const(char)* Name, LLVMValueRef* OutFn)"], 1143 "LLVMRecompileAndRelinkFunction" : ["void* function(LLVMExecutionEngineRef EE, LLVMValueRef Fn)"], 1144 "LLVMGetExecutionEngineTargetData" : ["LLVMTargetDataRef function(LLVMExecutionEngineRef EE)"], 1145 "LLVMGetExecutionEngineTargetMachine" : ["LLVMTargetMachineRef function(LLVMExecutionEngineRef EE)", 1146 "+", "3", "5", "0"], 1147 "LLVMAddGlobalMapping" : ["void function(LLVMExecutionEngineRef EE, LLVMValueRef Global, void* Addr)"], 1148 "LLVMGetPointerToGlobal" : ["void* function(LLVMExecutionEngineRef EE, LLVMValueRef Global)"], 1149 "LLVMGetGlobalValueAddress" : ["ulong function(LLVMExecutionEngineRef EE, const char *Name)", 1150 "+", "3", "6", "0"], 1151 "LLVMGetFunctionAddress" : ["ulong function(LLVMExecutionEngineRef EE, const char *Name)", 1152 "+", "3", "6", "0"], 1153 "LLVMCreateSimpleMCJITMemoryManager" : ["LLVMMCJITMemoryManagerRef function(void* Opaque, LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection, LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destroy)", 1154 "+", "3", "4", "0"], 1155 "LLVMDisposeMCJITMemoryManager" : ["void function(LLVMMCJITMemoryManagerRef MM)", 1156 "+", "3", "4", "0"], 1157 1158 /+ Initialization Routines +/ 1159 1160 "LLVMInitializeCore" : ["void function(LLVMPassRegistryRef R)"], 1161 "LLVMInitializeTransformUtils" : ["void function(LLVMPassRegistryRef R)"], 1162 "LLVMInitializeScalarOpts" : ["void function(LLVMPassRegistryRef R)"], 1163 "LLVMInitializeObjCARCOpts" : ["void function(LLVMPassRegistryRef R)", 1164 "+", "3", "3", "0"], 1165 "LLVMInitializeVectorization" : ["void function(LLVMPassRegistryRef R)"], 1166 "LLVMInitializeInstCombine" : ["void function(LLVMPassRegistryRef R)"], 1167 "LLVMInitializeIPO" : ["void function(LLVMPassRegistryRef R)"], 1168 "LLVMInitializeInstrumentation" : ["void function(LLVMPassRegistryRef R)"], 1169 "LLVMInitializeAnalysis" : ["void function(LLVMPassRegistryRef R)"], 1170 "LLVMInitializeIPA" : ["void function(LLVMPassRegistryRef R)"], 1171 "LLVMInitializeCodeGen" : ["void function(LLVMPassRegistryRef R)"], 1172 "LLVMInitializeTarget" : ["void function(LLVMPassRegistryRef R)"], 1173 1174 /+ Linker +/ 1175 1176 "LLVMLinkModules" : ["LLVMBool function(LLVMModuleRef Dest, LLVMModuleRef Src, LLVMLinkerMode Mode, char** OutMessage)", 1177 "+", "3", "2", "0"], 1178 1179 /+ Link Time Optimization +/ 1180 1181 "llvm_create_optimizer" : ["llvm_lto_t function()"], 1182 "llvm_destroy_optimizer" : ["void function(llvm_lto_t lto)"], 1183 "llvm_read_object_file" : ["llvm_lto_status_t function(llvm_lto_t lto, const(char)* input_filename)"], 1184 "llvm_optimize_modules" : ["llvm_lto_status_t function(llvm_lto_t lto, const(char)* output_filename)"], 1185 1186 /+ LTO +/ 1187 1188 "lto_get_version" : ["const(char)* function()"], 1189 "lto_get_error_message" : ["const(char)* function()"], 1190 "lto_module_is_object_file" : ["bool function(const(char)* path)"], 1191 "lto_module_is_object_file_for_target" : ["bool function(const(char)* path, const(char)* target_triple_prefix)"], 1192 "lto_module_is_object_file_in_memory" : ["bool function(const(void)* mem, size_t length)"], 1193 "lto_module_is_object_file_in_memory_for_target" : ["bool function(const(void)* mem, size_t length, const(char)* target_triple_prefix)"], 1194 "lto_module_create" : ["lto_module_t function(const(char)* path)"], 1195 "lto_module_create_from_memory" : ["lto_module_t function(const(void)* mem, size_t length)"], 1196 "lto_module_create_from_memory_with_path" : ["lto_module_t function(const void* mem, size_t length, const char *path)", 1197 "+", "3", "5", "0"], 1198 1199 "lto_module_create_in_local_context" : ["lto_module_t function(const void *mem, size_t length, const char *path)", 1200 "+", "3", "6", "0"], 1201 "lto_module_create_in_codegen_context" : ["lto_module_t function(const void *mem, size_t length, const char *path, lto_code_gen_t cg)", 1202 "+", "3", "6", "0"], 1203 "lto_module_create_from_fd" : ["lto_module_t function(int fd, const(char)* path, size_t file_size)"], 1204 /+ "offset" is originally of type "off_t", which is 64 bit on 64 bit machines, 1205 + but can be 32 bit or 64 bit on 32 bit machines depending on compilation. 1206 + Since there is no way to be sure how LLVM was compiled, the type "size_t" 1207 + is used instead as a compromise, which is 64 bit on 64 bit machines and 1208 + 32 bit on 32 bit machines. On 32 bit machines you will thus lose the extra 1209 + 32 bit if LLVM was compiled with off_t as 64 bit, but it seems to be 1210 + a reasonable tradeoff for the sake of compatibility at this time. +/ 1211 "lto_module_create_from_fd_at_offset" : ["lto_module_t function(int fd, const(char)* path, size_t file_size, size_t map_size, size_t offset)"], 1212 "lto_module_dispose" : ["void function(lto_module_t mod)"], 1213 "lto_module_get_target_triple" : ["const(char)* function(lto_module_t mod)"], 1214 "lto_module_set_target_triple" : ["void function(lto_module_t mod, const(char)* triple)"], 1215 "lto_module_get_num_symbols" : ["uint function(lto_module_t mod)"], 1216 "lto_module_get_symbol_name" : ["const(char)* function(lto_module_t mod, uint index)"], 1217 "lto_module_get_symbol_attribute" : ["lto_symbol_attributes function(lto_module_t mod, uint index)"], 1218 "lto_module_get_num_deplibs" : ["uint function(lto_module_t mod)", 1219 "+", "3", "5", "0", "-", "3", "7", "0"], 1220 "lto_module_get_deplib" : ["const(char)* function(lto_module_t mod, uint index)", 1221 "+", "3", "5", "0", "-", "3", "7", "0"], 1222 "lto_module_get_num_linkeropts" : ["uint function(lto_module_t mod)", 1223 "+", "3", "5", "0", "-", "3", "7", "0"], 1224 "lto_module_get_linkeropt" : ["const(char)* function(lto_module_t mod, uint index)", 1225 "+", "3", "5", "0", "-", "3", "7", "0"], 1226 "lto_module_get_linkeropts" : ["const(char)* function(lto_module_t mod)", 1227 "+", "3", "7", "0"], 1228 "lto_codegen_set_diagnostic_handler" : ["void function(lto_code_gen_t, lto_diagnostic_handler_t, void *)", 1229 "+", "3", "5", "0"], 1230 "lto_codegen_create" : ["lto_code_gen_t function()"], 1231 "lto_codegen_create_in_local_context" : ["lto_code_gen_t function()", 1232 "+", "3", "6", "0"], 1233 "lto_codegen_dispose" : ["void function(lto_code_gen_t)"], 1234 "lto_codegen_add_module" : ["bool function(lto_code_gen_t cg, lto_module_t mod)"], 1235 "lto_codegen_add_module" : ["void function(lto_code_gen_t cg, lto_module_t mod)", 1236 "+", "3", "7", "0"], 1237 "lto_codegen_set_debug_model" : ["bool function(lto_code_gen_t cg, lto_debug_model)"], 1238 "lto_codegen_set_pic_model" : ["bool function(lto_code_gen_t cg, lto_codegen_model)"], 1239 "lto_codegen_set_cpu" : ["void function(lto_code_gen_t cg, const(char)* cpu)"], 1240 "lto_codegen_set_assembler_path" : ["void function(lto_code_gen_t cg, const(char)* path)"], 1241 "lto_codegen_set_assembler_args" : ["void function(lto_code_gen_t cg, const(char)** args, int nargs)"], 1242 "lto_codegen_add_must_preserve_symbol" : ["void function(lto_code_gen_t cg, const(char)* symbol)"], 1243 "lto_codegen_write_merged_modules" : ["bool function(lto_code_gen_t cg, const(char)* path)"], 1244 "lto_codegen_compile" : ["const(void)* function(lto_code_gen_t cg, size_t* length)"], 1245 "lto_codegen_compile_to_file" : ["bool function(lto_code_gen_t cg, const(char)** name)"], 1246 "lto_codegen_optimize" : ["bool function(lto_code_gen_t cg)", 1247 "+", "3", "7", "0"], 1248 "lto_codegen_compile_optimized" : ["const(void)* function(lto_code_gen_t cg, size_t* length)", 1249 "+", "3", "7", "0"], 1250 "lto_api_version" : ["uint function()", 1251 "+", "3", "7", "0"], 1252 "lto_codegen_debug_options" : ["void function(lto_code_gen_t cg, const(char)* )"], 1253 "lto_initialize_disassembler" : ["void function()", 1254 "+", "3", "3", "0"], 1255 "lto_codegen_set_should_internalize" : ["void function(lto_code_gen_t cg, bool ShouldInternalize)", 1256 "+", "3", "7", "0"], 1257 "lto_codegen_set_should_embed_uselists" : ["void function(lto_code_gen_t cg, bool ShouldEmbedUselists)", 1258 "+", "3", "7", "0"], 1259 1260 /+ Object file reading and writing +/ 1261 1262 "LLVMCreateObjectFile" : ["LLVMObjectFileRef function(LLVMMemoryBufferRef MemBuf)"], 1263 "LLVMDisposeObjectFile" : ["void function(LLVMObjectFileRef ObjectFile)"], 1264 "LLVMGetSections" : ["LLVMSectionIteratorRef function(LLVMObjectFileRef ObjectFile)"], 1265 "LLVMDisposeSectionIterator" : ["void function(LLVMSectionIteratorRef SI)"], 1266 "LLVMIsSectionIteratorAtEnd" : ["LLVMBool function(LLVMObjectFileRef ObjectFile, LLVMSectionIteratorRef SI)"], 1267 "LLVMMoveToNextSection" : ["void function(LLVMSectionIteratorRef SI)"], 1268 "LLVMMoveToContainingSection" : ["void function(LLVMSectionIteratorRef Sect, LLVMSymbolIteratorRef Sym)"], 1269 "LLVMGetSymbols" : ["LLVMSymbolIteratorRef function(LLVMObjectFileRef ObjectFile)"], 1270 "LLVMDisposeSymbolIterator" : ["void function(LLVMSymbolIteratorRef SI)"], 1271 "LLVMIsSymbolIteratorAtEnd" : ["LLVMBool function(LLVMObjectFileRef ObjectFile, LLVMSymbolIteratorRef SI)"], 1272 "LLVMMoveToNextSymbol" : ["void function(LLVMSymbolIteratorRef SI)"], 1273 "LLVMGetSectionName" : ["const(char)* function(LLVMSectionIteratorRef SI)"], 1274 "LLVMGetSectionSize" : ["ulong function(LLVMSectionIteratorRef SI)"], 1275 "LLVMGetSectionContents" : ["const(char)* function(LLVMSectionIteratorRef SI)"], 1276 "LLVMGetSectionAddress" : ["ulong function(LLVMSectionIteratorRef SI)"], 1277 "LLVMGetSectionContainsSymbol" : ["LLVMBool function(LLVMSectionIteratorRef SI, LLVMSymbolIteratorRef Sym)"], 1278 "LLVMGetRelocations" : ["LLVMRelocationIteratorRef function(LLVMSectionIteratorRef Section)"], 1279 "LLVMDisposeRelocationIterator" : ["void function(LLVMRelocationIteratorRef RI)"], 1280 "LLVMIsRelocationIteratorAtEnd" : ["LLVMBool function(LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef RI)"], 1281 "LLVMMoveToNextRelocation" : ["void function(LLVMRelocationIteratorRef RI)"], 1282 "LLVMGetSymbolName" : ["const(char)* function(LLVMSymbolIteratorRef SI)"], 1283 "LLVMGetSymbolAddress" : ["ulong function(LLVMSymbolIteratorRef SI)"], 1284 "LLVMGetSymbolFileOffset" : ["ulong function(LLVMSymbolIteratorRef SI)", 1285 "-", "3", "5", "0"], 1286 "LLVMGetSymbolSize" : ["ulong function(LLVMSymbolIteratorRef SI)"], 1287 "LLVMGetRelocationAddress" : ["ulong function(LLVMRelocationIteratorRef RI)", 1288 "-", "3", "7", "0"], 1289 "LLVMGetRelocationOffset" : ["ulong function(LLVMRelocationIteratorRef RI)"], 1290 "LLVMGetRelocationSymbol" : ["LLVMSymbolIteratorRef function(LLVMRelocationIteratorRef RI)"], 1291 "LLVMGetRelocationType" : ["ulong function(LLVMRelocationIteratorRef RI)"], 1292 "LLVMGetRelocationTypeName" : ["const(char)* function(LLVMRelocationIteratorRef RI)"], 1293 "LLVMGetRelocationValueString" : ["const(char)* function(LLVMRelocationIteratorRef RI)"], 1294 1295 /+ Target information +/ 1296 1297 /+ 1298 + These are all inline functions, meaning their bodies are 1299 + defined in the C headers, so currently they do not get exported 1300 + and are not loadable from LLVM's dynamic library. 1301 + The functions they themselves call, however, are, even though 1302 + they are not in the official llvm-c documentation - because 1303 + they are split across LLVMs target libraries. 1304 + That is why these functions are loaded instead and then used 1305 + further down in appropriate reimplementations of these 1306 + inline functions. 1307 + The list of targets is: 1308 + AArch64 1309 + ARM 1310 + CppBackend 1311 + Hexagon 1312 + MBlaze 1313 + MSP430 1314 + Mips 1315 + NVPTX 1316 + PowerPC 1317 + Sparc 1318 + X86 1319 + XCore 1320 + 1321 + 1322 "LLVMInitializeAllTargetInfos" : ["static void function()"], 1323 "LLVMInitializeAllTargets" : ["static void function()"], 1324 "LLVMInitializeAllTargetMCs" : ["static void function()"], 1325 "LLVMInitializeAllAsmPrinters" : ["static void function()"], 1326 "LLVMInitializeAllAsmParsers" : ["static void function()"], 1327 "LLVMInitializeAllDisassemblers" : ["static void function()"], 1328 "LLVMInitializeNativeTarget" : ["static LLVMBool function()"], 1329 Added in LLVM 3.4: 1330 "LLVMInitializeNativeAsmParser" : ["static LLVMBool function()"], 1331 "LLVMInitializeNativeAsmPrinter" : ["static LLVMBool function()"], 1332 "LLVMInitializeNativeDisassembler" : ["static LLVMBool function()"], +/ 1333 "LLVMInitializeAArch64TargetInfo" : ["void function()"], 1334 "LLVMInitializeAArch64Target" : ["void function()"], 1335 "LLVMInitializeAArch64TargetMC" : ["void function()"], 1336 "LLVMInitializeAArch64AsmPrinter" : ["void function()"], 1337 "LLVMInitializeAArch64AsmParser" : ["void function()"], 1338 "LLVMInitializeAArch64Disassembler" : ["void function()"], 1339 1340 "LLVMInitializeARMTargetInfo" : ["void function()"], 1341 "LLVMInitializeARMTarget" : ["void function()"], 1342 "LLVMInitializeARMTargetMC" : ["void function()"], 1343 "LLVMInitializeARMAsmPrinter" : ["void function()"], 1344 "LLVMInitializeARMAsmParser" : ["void function()"], 1345 "LLVMInitializeARMDisassembler" : ["void function()"], 1346 1347 "LLVMInitializeCellSPUTargetInfo" : ["void function()"], 1348 "LLVMInitializeCellSPUTarget" : ["void function()"], 1349 "LLVMInitializeCellSPUTargetMC" : ["void function()"], 1350 1351 "LLVMInitializeCppBackendTargetInfo" : ["void function()"], 1352 "LLVMInitializeCppBackendTarget" : ["void function()"], 1353 "LLVMInitializeCppBackendTargetMC" : ["void function()"], 1354 1355 "LLVMInitializeHexagonTargetInfo" : ["void function()"], 1356 "LLVMInitializeHexagonTarget" : ["void function()"], 1357 "LLVMInitializeHexagonTargetMC" : ["void function()"], 1358 "LLVMInitializeHexagonAsmPrinter" : ["void function()"], 1359 1360 "LLVMInitializeMBlazeTargetInfo" : ["void function()"], 1361 "LLVMInitializeMBlazeTarget" : ["void function()"], 1362 "LLVMInitializeMBlazeTargetMC" : ["void function()"], 1363 "LLVMInitializeMBlazeAsmPrinter" : ["void function()"], 1364 "LLVMInitializeMBlazeAsmParser" : ["void function()"], 1365 "LLVMInitializeMBlazeDisassembler" : ["void function()"], 1366 1367 "LLVMInitializeMSP430TargetInfo" : ["void function()"], 1368 "LLVMInitializeMSP430Target" : ["void function()"], 1369 "LLVMInitializeMSP430TargetMC" : ["void function()"], 1370 "LLVMInitializeMSP430AsmPrinter" : ["void function()"], 1371 1372 "LLVMInitializeMipsTargetInfo" : ["void function()"], 1373 "LLVMInitializeMipsTarget" : ["void function()"], 1374 "LLVMInitializeMipsTargetMC" : ["void function()"], 1375 "LLVMInitializeMipsAsmPrinter" : ["void function()"], 1376 "LLVMInitializeMipsAsmParser" : ["void function()"], 1377 "LLVMInitializeMipsDisassembler" : ["void function()"], 1378 1379 "LLVMInitializeNVPTXTargetInfo" : ["void function()"], 1380 "LLVMInitializeNVPTXTarget" : ["void function()"], 1381 "LLVMInitializeNVPTXTargetMC" : ["void function()"], 1382 "LLVMInitializeNVPTXAsmPrinter" : ["void function()"], 1383 1384 "LLVMInitializePTXTargetInfo" : ["void function()"], 1385 "LLVMInitializePTXTarget" : ["void function()"], 1386 "LLVMInitializePTXTargetMC" : ["void function()"], 1387 "LLVMInitializePTXAsmPrinter" : ["void function()"], 1388 1389 "LLVMInitializePowerPCTargetInfo" : ["void function()"], 1390 "LLVMInitializePowerPCTarget" : ["void function()"], 1391 "LLVMInitializePowerPCTargetMC" : ["void function()"], 1392 "LLVMInitializePowerPCAsmPrinter" : ["void function()"], 1393 1394 "LLVMInitializeSparcTargetInfo" : ["void function()"], 1395 "LLVMInitializeSparcTarget" : ["void function()"], 1396 "LLVMInitializeSparcTargetMC" : ["void function()"], 1397 "LLVMInitializeSparcAsmPrinter" : ["void function()"], 1398 1399 "LLVMInitializeX86TargetInfo" : ["void function()"], 1400 "LLVMInitializeX86Target" : ["void function()"], 1401 "LLVMInitializeX86TargetMC" : ["void function()"], 1402 "LLVMInitializeX86AsmPrinter" : ["void function()"], 1403 "LLVMInitializeX86AsmParser" : ["void function()"], 1404 "LLVMInitializeX86Disassembler" : ["void function()"], 1405 1406 "LLVMInitializeXCoreTargetInfo" : ["void function()"], 1407 "LLVMInitializeXCoreTarget" : ["void function()"], 1408 "LLVMInitializeXCoreTargetMC" : ["void function()"], 1409 "LLVMInitializeXCoreAsmPrinter" : ["void function()"], 1410 "LLVMInitializeXCoreDisassembler" : ["void function()"], 1411 1412 "LLVMCreateTargetData" : ["LLVMTargetDataRef function(const(char)* StringRep)"], 1413 "LLVMAddTargetData" : ["void function(LLVMTargetDataRef TD, LLVMPassManagerRef PM)"], 1414 "LLVMAddTargetLibraryInfo" : ["void function(LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)"], 1415 "LLVMCopyStringRepOfTargetData" : ["char* function(LLVMTargetDataRef TD)"], 1416 "LLVMByteOrder" : ["enum LLVMByteOrdering function(LLVMTargetDataRef TD)"], 1417 "LLVMPointerSize" : ["uint function(LLVMTargetDataRef TD)"], 1418 "LLVMPointerSizeForAS" : ["uint function(LLVMTargetDataRef TD, uint AS)", 1419 "+", "3", "2", "0"], 1420 "LLVMIntPtrType" : ["LLVMTypeRef function(LLVMTargetDataRef TD)"], 1421 "LLVMIntPtrTypeForAS" : ["LLVMTypeRef function(LLVMTargetDataRef TD, uint AS)", 1422 "+", "3", "2", "0"], 1423 "LLVMIntPtrTypeInContext" : ["LLVMTypeRef function(LLVMContextRef C, LLVMTargetDataRef TD)", 1424 "+", "3", "4", "0"], 1425 "LLVMIntPtrTypeForASInContext" : ["LLVMTypeRef function(LLVMContextRef C, LLVMTargetDataRef TD, uint AS)", 1426 "+", "3", "4", "0"], 1427 "LLVMSizeOfTypeInBits" : ["ulong function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1428 "LLVMStoreSizeOfType" : ["ulong function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1429 "LLVMABISizeOfType" : ["ulong function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1430 "LLVMABIAlignmentOfType" : ["uint function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1431 "LLVMCallFrameAlignmentOfType" : ["uint function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1432 "LLVMPreferredAlignmentOfType" : ["uint function(LLVMTargetDataRef TD, LLVMTypeRef Ty)"], 1433 "LLVMPreferredAlignmentOfGlobal" : ["uint function(LLVMTargetDataRef TD, LLVMValueRef GlobalVar)"], 1434 "LLVMElementAtOffset" : ["uint function(LLVMTargetDataRef TD, LLVMTypeRef StructTy, ulong Offset)"], 1435 "LLVMOffsetOfElement" : ["ulong function(LLVMTargetDataRef TD, LLVMTypeRef StructTy, uint Element)"], 1436 "LLVMDisposeTargetData" : ["void function(LLVMTargetDataRef TD)"], 1437 1438 /+ Target machine +/ 1439 1440 "LLVMGetFirstTarget" : ["LLVMTargetRef function()"], 1441 "LLVMGetNextTarget" : ["LLVMTargetRef function(LLVMTargetRef T)"], 1442 "LLVMGetTargetFromName" : ["LLVMTargetRef function(const(char)* Name)", 1443 "+", "3", "4", "0"], 1444 "LLVMGetTargetFromTriple" : ["LLVMBool function(const(char)* Triple, LLVMTargetRef* T, char** ErrorMessage)", 1445 "+", "3", "4", "0"], 1446 "LLVMGetTargetName" : ["const(char)* function(LLVMTargetRef T)"], 1447 "LLVMGetTargetDescription" : ["const(char)* function(LLVMTargetRef T)"], 1448 "LLVMTargetHasJIT" : ["LLVMBool function(LLVMTargetRef T)"], 1449 "LLVMTargetHasTargetMachine" : ["LLVMBool function(LLVMTargetRef T)"], 1450 "LLVMTargetHasAsmBackend" : ["LLVMBool function(LLVMTargetRef T)"], 1451 "LLVMCreateTargetMachine" : ["LLVMTargetMachineRef function(LLVMTargetRef T, const(char)* Triple, const(char)* CPU, const(char)* Features, LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel)"], 1452 "LLVMDisposeTargetMachine" : ["void function(LLVMTargetMachineRef T)"], 1453 "LLVMGetTargetMachineTarget" : ["LLVMTargetRef function(LLVMTargetMachineRef T)"], 1454 "LLVMGetTargetMachineTriple" : ["char* function(LLVMTargetMachineRef T)"], 1455 "LLVMGetTargetMachineCPU" : ["char* function(LLVMTargetMachineRef T)"], 1456 "LLVMGetTargetMachineFeatureString" : ["char* function(LLVMTargetMachineRef T)"], 1457 "LLVMGetTargetMachineData" : ["LLVMTargetDataRef function(LLVMTargetMachineRef T)", 1458 "-", "3", "7", "0"], 1459 "LLVMSetTargetMachineAsmVerbosity" : ["void function(LLVMTargetMachineRef T, LLVMBool VerboseAsm)", 1460 "+", "3", "4", "0"], 1461 "LLVMTargetMachineEmitToFile" : ["LLVMBool function(LLVMTargetMachineRef T, LLVMModuleRef M, char* Filename, LLVMCodeGenFileType codegen, char** ErrorMessage)"], 1462 "LLVMTargetMachineEmitToMemoryBuffer" : ["LLVMBool function(LLVMTargetMachineRef T, LLVMModuleRef M, LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef* OutMemBuf)", 1463 "+", "3", "3", "0"], 1464 "LLVMGetDefaultTargetTriple" : ["char* function()", 1465 "+", "3", "4", "0"], 1466 "LLVMAddAnalysisPasses" : ["void function(LLVMTargetMachineRef T, LLVMPassManagerRef PM)", 1467 "+", "3", "5", "0"], 1468 1469 /+ Support +/ 1470 "LLVMLoadLibraryPermanently" : ["LLVMBool function(const(char)* Filename)", 1471 "+", "3", "4", "0"], 1472 "LLVMParseCommandLineOptions" : ["void function(int argc, const(char*)* argv, const(char)* Overview)", 1473 "+", "3", "6", "0"], 1474 "LLVMSearchForAddressOfSymbol" : ["void* function(const char *symbolName)", 1475 "+", "3", "7", "0"], 1476 "LLVMAddSymbol" : ["void function(const char *symbolName, void *symbolValue)", 1477 "+", "3", "7", "0"], 1478 1479 /+ IRReader +/ 1480 "LLVMParseIRInContext" : ["LLVMBool function(LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef* OutM, char** OutMessage)", 1481 "+", "3", "4", "0"], 1482 ];