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