1 ;;; This file was automatically generated by SWIG (http://www.swig.org).
4 ;;; Do not make changes to this file unless you know what you are doing--modify
5 ;;; the SWIG interface file instead.
10 (cffi:defctype uint8_t
:unsigned-char
)
12 (cffi:defctype LLVMBool
:int
)
14 (cffi:defctype LLVMContextRef
:pointer
)
16 (cffi:defctype LLVMModuleRef
:pointer
)
18 (cffi:defctype LLVMTypeRef
:pointer
)
20 (cffi:defctype LLVMTypeHandleRef
:pointer
)
22 (cffi:defctype LLVMValueRef
:pointer
)
24 (cffi:defctype LLVMBasicBlockRef
:pointer
)
26 (cffi:defctype LLVMBuilderRef
:pointer
)
28 (cffi:defctype LLVMModuleProviderRef
:pointer
)
30 (cffi:defctype LLVMMemoryBufferRef
:pointer
)
32 (cffi:defctype LLVMPassManagerRef
:pointer
)
34 (cffi:defctype LLVMUseIteratorRef
:pointer
)
36 (cffi:defbitfield LLVMAttribute
37 (:LLVMZExtAttribute
#.
(cl:ash
1 0))
38 (:LLVMSExtAttribute
#.
(cl:ash
1 1))
39 (:LLVMNoReturnAttribute
#.
(cl:ash
1 2))
40 (:LLVMInRegAttribute
#.
(cl:ash
1 3))
41 (:LLVMStructRetAttribute
#.
(cl:ash
1 4))
42 (:LLVMNoUnwindAttribute
#.
(cl:ash
1 5))
43 (:LLVMNoAliasAttribute
#.
(cl:ash
1 6))
44 (:LLVMByValAttribute
#.
(cl:ash
1 7))
45 (:LLVMNestAttribute
#.
(cl:ash
1 8))
46 (:LLVMReadNoneAttribute
#.
(cl:ash
1 9))
47 (:LLVMReadOnlyAttribute
#.
(cl:ash
1 10))
48 (:LLVMNoInlineAttribute
#.
(cl:ash
1 11))
49 (:LLVMAlwaysInlineAttribute
#.
(cl:ash
1 12))
50 (:LLVMOptimizeForSizeAttribute
#.
(cl:ash
1 13))
51 (:LLVMStackProtectAttribute
#.
(cl:ash
1 14))
52 (:LLVMStackProtectReqAttribute
#.
(cl:ash
1 15))
53 (:LLVMNoCaptureAttribute
#.
(cl:ash
1 21))
54 (:LLVMNoRedZoneAttribute
#.
(cl:ash
1 22))
55 (:LLVMNoImplicitFloatAttribute
#.
(cl:ash
1 23))
56 (:LLVMNakedAttribute
#.
(cl:ash
1 24))
57 (:LLVMInlineHintAttribute
#.
(cl:ash
1 25)))
59 (cffi:defcenum LLVMOpcode
65 (:LLVMUnreachable
#.6)
89 (:LLVMGetElementPtr
#.30)
108 (:LLVMExtractElement
#.51)
109 (:LLVMInsertElement
#.52)
110 (:LLVMShuffleVector
#.53)
111 (:LLVMExtractValue
#.54)
112 (:LLVMInsertValue
#.55))
114 (cffi:defcenum LLVMTypeKind
118 :LLVMX86_FP80TypeKind
120 :LLVMPPC_FP128TypeKind
123 :LLVMFunctionTypeKind
129 :LLVMMetadataTypeKind
)
131 (cffi:defcenum LLVMLinkage
133 :LLVMAvailableExternallyLinkage
134 :LLVMLinkOnceAnyLinkage
135 :LLVMLinkOnceODRLinkage
138 :LLVMAppendingLinkage
141 :LLVMDLLImportLinkage
142 :LLVMDLLExportLinkage
143 :LLVMExternalWeakLinkage
146 :LLVMLinkerPrivateLinkage
)
148 (cffi:defcenum LLVMVisibility
149 :LLVMDefaultVisibility
150 :LLVMHiddenVisibility
151 :LLVMProtectedVisibility
)
153 (cffi:defcenum LLVMCallConv
155 (:LLVMFastCallConv
#.8)
156 (:LLVMColdCallConv
#.9)
157 (:LLVMX86StdcallCallConv
#.64)
158 (:LLVMX86FastcallCallConv
#.65))
160 (cffi:defcenum LLVMIntPredicate
172 (cffi:defcenum LLVMRealPredicate
173 :LLVMRealPredicateFalse
188 :LLVMRealPredicateTrue
)
190 (cffi:defcfun
("LLVMDisposeMessage" LLVMDisposeMessage
) :void
193 (cffi:defcfun
("LLVMContextCreate" LLVMContextCreate
) LLVMContextRef
)
195 (cffi:defcfun
("LLVMGetGlobalContext" LLVMGetGlobalContext
) LLVMContextRef
)
197 (cffi:defcfun
("LLVMContextDispose" LLVMContextDispose
) :void
200 (cffi:defcfun
("LLVMModuleCreateWithNameInContext" %LLVMModuleCreateWithNameInContext
) LLVMModuleRef
204 (cffi:defcfun
("LLVMDisposeModule" LLVMDisposeModule
) :void
207 (cffi:defcfun
("LLVMGetDataLayout" LLVMGetDataLayout
) :string
210 (cffi:defcfun
("LLVMSetDataLayout" LLVMSetDataLayout
) :void
214 (cffi:defcfun
("LLVMGetTarget" LLVMGetTarget
) :string
217 (cffi:defcfun
("LLVMSetTarget" LLVMSetTarget
) :void
221 (cffi:defcfun
("LLVMAddTypeName" LLVMAddTypeName
) :boolean
226 (cffi:defcfun
("LLVMDeleteTypeName" LLVMDeleteTypeName
) :void
230 (cffi:defcfun
("LLVMGetTypeByName" LLVMGetTypeByName
) LLVMTypeRef
234 (cffi:defcfun
("LLVMDumpModule" LLVMDumpModule
) :void
237 (cffi:defcfun
("LLVMGetTypeKind" LLVMGetTypeKind
) LLVMTypeKind
240 (cffi:defcfun
("LLVMGetTypeContext" LLVMGetTypeContext
) LLVMContextRef
243 (cffi:defcfun
("LLVMInt1TypeInContext" %LLVMInt1TypeInContext
) LLVMTypeRef
246 (cffi:defcfun
("LLVMInt8TypeInContext" %LLVMInt8TypeInContext
) LLVMTypeRef
249 (cffi:defcfun
("LLVMInt16TypeInContext" %LLVMInt16TypeInContext
) LLVMTypeRef
252 (cffi:defcfun
("LLVMInt32TypeInContext" %LLVMInt32TypeInContext
) LLVMTypeRef
255 (cffi:defcfun
("LLVMInt64TypeInContext" %LLVMInt64TypeInContext
) LLVMTypeRef
258 (cffi:defcfun
("LLVMIntTypeInContext" %LLVMIntTypeInContext
) LLVMTypeRef
260 (NumBits :unsigned-int
))
262 (cffi:defcfun
("LLVMGetIntTypeWidth" LLVMGetIntTypeWidth
) :unsigned-int
263 (IntegerTy LLVMTypeRef
))
265 (cffi:defcfun
("LLVMFloatTypeInContext" %LLVMFloatTypeInContext
) LLVMTypeRef
268 (cffi:defcfun
("LLVMDoubleTypeInContext" %LLVMDoubleTypeInContext
) LLVMTypeRef
271 (cffi:defcfun
("LLVMX86FP80TypeInContext" %LLVMX86FP80TypeInContext
) LLVMTypeRef
274 (cffi:defcfun
("LLVMFP128TypeInContext" %LLVMFP128TypeInContext
) LLVMTypeRef
277 (cffi:defcfun
("LLVMPPCFP128TypeInContext" %LLVMPPCFP128TypeInContext
) LLVMTypeRef
280 (cffi:defcfun
("LLVMFunctionType" %LLVMFunctionType
) LLVMTypeRef
281 (ReturnType LLVMTypeRef
)
282 (ParamTypes :pointer
)
283 (ParamCount :unsigned-int
)
286 (cffi:defcfun
("LLVMIsFunctionVarArg" LLVMIsFunctionVarArg
) :boolean
287 (FunctionTy LLVMTypeRef
))
289 (cffi:defcfun
("LLVMGetReturnType" LLVMGetReturnType
) LLVMTypeRef
290 (FunctionTy LLVMTypeRef
))
292 (cffi:defcfun
("LLVMCountParamTypes" LLVMCountParamTypes
) :unsigned-int
293 (FunctionTy LLVMTypeRef
))
295 (cffi:defcfun
("LLVMGetParamTypes" %LLVMGetParamTypes
) :void
296 (FunctionTy LLVMTypeRef
)
299 (cffi:defcfun
("LLVMStructTypeInContext" %LLVMStructTypeInContext
) LLVMTypeRef
301 (ElementTypes :pointer
)
302 (ElementCount :unsigned-int
)
305 (cffi:defcfun
("LLVMCountStructElementTypes" LLVMCountStructElementTypes
) :unsigned-int
306 (StructTy LLVMTypeRef
))
308 (cffi:defcfun
("LLVMGetStructElementTypes" %LLVMGetStructElementTypes
) :void
309 (StructTy LLVMTypeRef
)
312 (cffi:defcfun
("LLVMIsPackedStruct" LLVMIsPackedStruct
) :boolean
313 (StructTy LLVMTypeRef
))
315 (cffi:defcfun
("LLVMArrayType" LLVMArrayType
) LLVMTypeRef
316 (ElementType LLVMTypeRef
)
317 (ElementCount :unsigned-int
))
319 (cffi:defcfun
("LLVMPointerType" LLVMPointerType
) LLVMTypeRef
320 (ElementType LLVMTypeRef
)
321 (AddressSpace :unsigned-int
))
323 (cffi:defcfun
("LLVMVectorType" LLVMVectorType
) LLVMTypeRef
324 (ElementType LLVMTypeRef
)
325 (ElementCount :unsigned-int
))
327 (cffi:defcfun
("LLVMGetElementType" LLVMGetElementType
) LLVMTypeRef
330 (cffi:defcfun
("LLVMGetArrayLength" LLVMGetArrayLength
) :unsigned-int
331 (ArrayTy LLVMTypeRef
))
333 (cffi:defcfun
("LLVMGetPointerAddressSpace" LLVMGetPointerAddressSpace
) :unsigned-int
334 (PointerTy LLVMTypeRef
))
336 (cffi:defcfun
("LLVMGetVectorSize" LLVMGetVectorSize
) :unsigned-int
337 (VectorTy LLVMTypeRef
))
339 (cffi:defcfun
("LLVMVoidTypeInContext" %LLVMVoidTypeInContext
) LLVMTypeRef
342 (cffi:defcfun
("LLVMLabelTypeInContext" %LLVMLabelTypeInContext
) LLVMTypeRef
345 (cffi:defcfun
("LLVMOpaqueTypeInContext" %LLVMOpaqueTypeInContext
) LLVMTypeRef
348 (cffi:defcfun
("LLVMCreateTypeHandle" LLVMCreateTypeHandle
) LLVMTypeHandleRef
349 (PotentiallyAbstractTy LLVMTypeRef
))
351 (cffi:defcfun
("LLVMRefineType" LLVMRefineType
) :void
352 (AbstractTy LLVMTypeRef
)
353 (ConcreteTy LLVMTypeRef
))
355 (cffi:defcfun
("LLVMResolveTypeHandle" LLVMResolveTypeHandle
) LLVMTypeRef
356 (TypeHandle LLVMTypeHandleRef
))
358 (cffi:defcfun
("LLVMDisposeTypeHandle" LLVMDisposeTypeHandle
) :void
359 (TypeHandle LLVMTypeHandleRef
))
361 (cffi:defcfun
("LLVMTypeOf" LLVMTypeOf
) LLVMTypeRef
364 (cffi:defcfun
("LLVMGetValueName" LLVMGetValueName
) :string
367 (cffi:defcfun
("LLVMSetValueName" LLVMSetValueName
) :void
371 (cffi:defcfun
("LLVMDumpValue" LLVMDumpValue
) :void
374 (cffi:defcfun
("LLVMReplaceAllUsesWith" LLVMReplaceAllUsesWith
) :void
375 (OldVal LLVMValueRef
)
376 (NewVal LLVMValueRef
))
378 (cffi:defcfun
("LLVMIsAArgument" LLVMIsAArgument
) LLVMValueRef
381 (cffi:defcfun
("LLVMIsABasicBlock" LLVMIsABasicBlock
) LLVMValueRef
384 (cffi:defcfun
("LLVMIsAInlineAsm" LLVMIsAInlineAsm
) LLVMValueRef
387 (cffi:defcfun
("LLVMIsAUser" LLVMIsAUser
) LLVMValueRef
390 (cffi:defcfun
("LLVMIsAConstant" LLVMIsAConstant
) LLVMValueRef
393 (cffi:defcfun
("LLVMIsAConstantAggregateZero" LLVMIsAConstantAggregateZero
) LLVMValueRef
396 (cffi:defcfun
("LLVMIsAConstantArray" LLVMIsAConstantArray
) LLVMValueRef
399 (cffi:defcfun
("LLVMIsAConstantExpr" LLVMIsAConstantExpr
) LLVMValueRef
402 (cffi:defcfun
("LLVMIsAConstantFP" LLVMIsAConstantFP
) LLVMValueRef
405 (cffi:defcfun
("LLVMIsAConstantInt" LLVMIsAConstantInt
) LLVMValueRef
408 (cffi:defcfun
("LLVMIsAConstantPointerNull" LLVMIsAConstantPointerNull
) LLVMValueRef
411 (cffi:defcfun
("LLVMIsAConstantStruct" LLVMIsAConstantStruct
) LLVMValueRef
414 (cffi:defcfun
("LLVMIsAConstantVector" LLVMIsAConstantVector
) LLVMValueRef
417 (cffi:defcfun
("LLVMIsAGlobalValue" LLVMIsAGlobalValue
) LLVMValueRef
420 (cffi:defcfun
("LLVMIsAFunction" LLVMIsAFunction
) LLVMValueRef
423 (cffi:defcfun
("LLVMIsAGlobalAlias" LLVMIsAGlobalAlias
) LLVMValueRef
426 (cffi:defcfun
("LLVMIsAGlobalVariable" LLVMIsAGlobalVariable
) LLVMValueRef
429 (cffi:defcfun
("LLVMIsAUndefValue" LLVMIsAUndefValue
) LLVMValueRef
432 (cffi:defcfun
("LLVMIsAInstruction" LLVMIsAInstruction
) LLVMValueRef
435 (cffi:defcfun
("LLVMIsABinaryOperator" LLVMIsABinaryOperator
) LLVMValueRef
438 (cffi:defcfun
("LLVMIsACallInst" LLVMIsACallInst
) LLVMValueRef
441 (cffi:defcfun
("LLVMIsAIntrinsicInst" LLVMIsAIntrinsicInst
) LLVMValueRef
444 (cffi:defcfun
("LLVMIsADbgInfoIntrinsic" LLVMIsADbgInfoIntrinsic
) LLVMValueRef
447 (cffi:defcfun
("LLVMIsADbgDeclareInst" LLVMIsADbgDeclareInst
) LLVMValueRef
450 (cffi:defcfun
("LLVMIsADbgFuncStartInst" LLVMIsADbgFuncStartInst
) LLVMValueRef
453 (cffi:defcfun
("LLVMIsADbgRegionEndInst" LLVMIsADbgRegionEndInst
) LLVMValueRef
456 (cffi:defcfun
("LLVMIsADbgRegionStartInst" LLVMIsADbgRegionStartInst
) LLVMValueRef
459 (cffi:defcfun
("LLVMIsADbgStopPointInst" LLVMIsADbgStopPointInst
) LLVMValueRef
462 (cffi:defcfun
("LLVMIsAEHSelectorInst" LLVMIsAEHSelectorInst
) LLVMValueRef
465 (cffi:defcfun
("LLVMIsAMemIntrinsic" LLVMIsAMemIntrinsic
) LLVMValueRef
468 (cffi:defcfun
("LLVMIsAMemCpyInst" LLVMIsAMemCpyInst
) LLVMValueRef
471 (cffi:defcfun
("LLVMIsAMemMoveInst" LLVMIsAMemMoveInst
) LLVMValueRef
474 (cffi:defcfun
("LLVMIsAMemSetInst" LLVMIsAMemSetInst
) LLVMValueRef
477 (cffi:defcfun
("LLVMIsACmpInst" LLVMIsACmpInst
) LLVMValueRef
480 (cffi:defcfun
("LLVMIsAFCmpInst" LLVMIsAFCmpInst
) LLVMValueRef
483 (cffi:defcfun
("LLVMIsAICmpInst" LLVMIsAICmpInst
) LLVMValueRef
486 (cffi:defcfun
("LLVMIsAExtractElementInst" LLVMIsAExtractElementInst
) LLVMValueRef
489 (cffi:defcfun
("LLVMIsAGetElementPtrInst" LLVMIsAGetElementPtrInst
) LLVMValueRef
492 (cffi:defcfun
("LLVMIsAInsertElementInst" LLVMIsAInsertElementInst
) LLVMValueRef
495 (cffi:defcfun
("LLVMIsAInsertValueInst" LLVMIsAInsertValueInst
) LLVMValueRef
498 (cffi:defcfun
("LLVMIsAPHINode" LLVMIsAPHINode
) LLVMValueRef
501 (cffi:defcfun
("LLVMIsASelectInst" LLVMIsASelectInst
) LLVMValueRef
504 (cffi:defcfun
("LLVMIsAShuffleVectorInst" LLVMIsAShuffleVectorInst
) LLVMValueRef
507 (cffi:defcfun
("LLVMIsAStoreInst" LLVMIsAStoreInst
) LLVMValueRef
510 (cffi:defcfun
("LLVMIsATerminatorInst" LLVMIsATerminatorInst
) LLVMValueRef
513 (cffi:defcfun
("LLVMIsABranchInst" LLVMIsABranchInst
) LLVMValueRef
516 (cffi:defcfun
("LLVMIsAInvokeInst" LLVMIsAInvokeInst
) LLVMValueRef
519 (cffi:defcfun
("LLVMIsAReturnInst" LLVMIsAReturnInst
) LLVMValueRef
522 (cffi:defcfun
("LLVMIsASwitchInst" LLVMIsASwitchInst
) LLVMValueRef
525 (cffi:defcfun
("LLVMIsAUnreachableInst" LLVMIsAUnreachableInst
) LLVMValueRef
528 (cffi:defcfun
("LLVMIsAUnwindInst" LLVMIsAUnwindInst
) LLVMValueRef
531 (cffi:defcfun
("LLVMIsAUnaryInstruction" LLVMIsAUnaryInstruction
) LLVMValueRef
534 (cffi:defcfun
("LLVMIsAAllocaInst" LLVMIsAAllocaInst
) LLVMValueRef
537 (cffi:defcfun
("LLVMIsACastInst" LLVMIsACastInst
) LLVMValueRef
540 (cffi:defcfun
("LLVMIsABitCastInst" LLVMIsABitCastInst
) LLVMValueRef
543 (cffi:defcfun
("LLVMIsAFPExtInst" LLVMIsAFPExtInst
) LLVMValueRef
546 (cffi:defcfun
("LLVMIsAFPToSIInst" LLVMIsAFPToSIInst
) LLVMValueRef
549 (cffi:defcfun
("LLVMIsAFPToUIInst" LLVMIsAFPToUIInst
) LLVMValueRef
552 (cffi:defcfun
("LLVMIsAFPTruncInst" LLVMIsAFPTruncInst
) LLVMValueRef
555 (cffi:defcfun
("LLVMIsAIntToPtrInst" LLVMIsAIntToPtrInst
) LLVMValueRef
558 (cffi:defcfun
("LLVMIsAPtrToIntInst" LLVMIsAPtrToIntInst
) LLVMValueRef
561 (cffi:defcfun
("LLVMIsASExtInst" LLVMIsASExtInst
) LLVMValueRef
564 (cffi:defcfun
("LLVMIsASIToFPInst" LLVMIsASIToFPInst
) LLVMValueRef
567 (cffi:defcfun
("LLVMIsATruncInst" LLVMIsATruncInst
) LLVMValueRef
570 (cffi:defcfun
("LLVMIsAUIToFPInst" LLVMIsAUIToFPInst
) LLVMValueRef
573 (cffi:defcfun
("LLVMIsAZExtInst" LLVMIsAZExtInst
) LLVMValueRef
576 (cffi:defcfun
("LLVMIsAExtractValueInst" LLVMIsAExtractValueInst
) LLVMValueRef
579 (cffi:defcfun
("LLVMIsALoadInst" LLVMIsALoadInst
) LLVMValueRef
582 (cffi:defcfun
("LLVMIsAVAArgInst" LLVMIsAVAArgInst
) LLVMValueRef
585 (cffi:defcfun
("LLVMGetFirstUse" LLVMGetFirstUse
) LLVMUseIteratorRef
588 (cffi:defcfun
("LLVMGetNextUse" LLVMGetNextUse
) LLVMUseIteratorRef
589 (U LLVMUseIteratorRef
))
591 (cffi:defcfun
("LLVMGetUser" LLVMGetUser
) LLVMValueRef
592 (U LLVMUseIteratorRef
))
594 (cffi:defcfun
("LLVMGetUsedValue" LLVMGetUsedValue
) LLVMValueRef
595 (U LLVMUseIteratorRef
))
597 (cffi:defcfun
("LLVMGetOperand" LLVMGetOperand
) LLVMValueRef
599 (Index :unsigned-int
))
601 (cffi:defcfun
("LLVMConstNull" LLVMConstNull
) LLVMValueRef
604 (cffi:defcfun
("LLVMConstAllOnes" LLVMConstAllOnes
) LLVMValueRef
607 (cffi:defcfun
("LLVMGetUndef" LLVMGetUndef
) LLVMValueRef
610 (cffi:defcfun
("LLVMIsConstant" LLVMIsConstant
) :boolean
613 (cffi:defcfun
("LLVMIsNull" LLVMIsNull
) :boolean
616 (cffi:defcfun
("LLVMIsUndef" LLVMIsUndef
) :boolean
619 (cffi:defcfun
("LLVMConstPointerNull" LLVMConstPointerNull
) LLVMValueRef
622 (cffi:defcfun
("LLVMConstInt" LLVMConstInt
) LLVMValueRef
624 (N :unsigned-long-long
)
625 (SignExtend :boolean
))
627 (cffi:defcfun
("LLVMConstIntOfString" LLVMConstIntOfString
) LLVMValueRef
630 (Radix :unsigned-char
))
632 (cffi:defcfun
("LLVMConstIntOfStringAndSize" LLVMConstIntOfStringAndSize
) LLVMValueRef
636 (Radix :unsigned-char
))
638 (cffi:defcfun
("LLVMConstReal" LLVMConstReal
) LLVMValueRef
642 (cffi:defcfun
("LLVMConstRealOfString" LLVMConstRealOfString
) LLVMValueRef
646 (cffi:defcfun
("LLVMConstRealOfStringAndSize" LLVMConstRealOfStringAndSize
) LLVMValueRef
649 (SLen :unsigned-int
))
651 (cffi:defcfun
("LLVMConstIntGetZExtValue" LLVMConstIntGetZExtValue
) :unsigned-long-long
652 (ConstantVal LLVMValueRef
))
654 (cffi:defcfun
("LLVMConstIntGetSExtValue" LLVMConstIntGetSExtValue
) :long-long
655 (ConstantVal LLVMValueRef
))
657 (cffi:defcfun
("LLVMConstStringInContext" %LLVMConstStringInContext
) LLVMValueRef
660 (Length :unsigned-int
)
661 (DontNullTerminate :boolean
))
663 (cffi:defcfun
("LLVMConstStructInContext" %LLVMConstStructInContext
) LLVMValueRef
665 (ConstantVals :pointer
)
666 (Count :unsigned-int
)
669 (cffi:defcfun
("LLVMConstArray" %LLVMConstArray
) LLVMValueRef
670 (ElementTy LLVMTypeRef
)
671 (ConstantVals :pointer
)
672 (Length :unsigned-int
))
674 (cffi:defcfun
("LLVMConstVector" %LLVMConstVector
) LLVMValueRef
675 (ScalarConstantVals :pointer
)
676 (Size :unsigned-int
))
678 (cffi:defcfun
("LLVMGetConstOpcode" LLVMGetConstOpcode
) LLVMOpcode
679 (ConstantVal LLVMValueRef
))
681 (cffi:defcfun
("LLVMAlignOf" LLVMAlignOf
) LLVMValueRef
684 (cffi:defcfun
("LLVMSizeOf" LLVMSizeOf
) LLVMValueRef
687 (cffi:defcfun
("LLVMConstNeg" LLVMConstNeg
) LLVMValueRef
688 (ConstantVal LLVMValueRef
))
690 (cffi:defcfun
("LLVMConstFNeg" LLVMConstFNeg
) LLVMValueRef
691 (ConstantVal LLVMValueRef
))
693 (cffi:defcfun
("LLVMConstNot" LLVMConstNot
) LLVMValueRef
694 (ConstantVal LLVMValueRef
))
696 (cffi:defcfun
("LLVMConstAdd" LLVMConstAdd
) LLVMValueRef
697 (LHSConstant LLVMValueRef
)
698 (RHSConstant LLVMValueRef
))
700 (cffi:defcfun
("LLVMConstNSWAdd" LLVMConstNSWAdd
) LLVMValueRef
701 (LHSConstant LLVMValueRef
)
702 (RHSConstant LLVMValueRef
))
704 (cffi:defcfun
("LLVMConstFAdd" LLVMConstFAdd
) LLVMValueRef
705 (LHSConstant LLVMValueRef
)
706 (RHSConstant LLVMValueRef
))
708 (cffi:defcfun
("LLVMConstSub" LLVMConstSub
) LLVMValueRef
709 (LHSConstant LLVMValueRef
)
710 (RHSConstant LLVMValueRef
))
712 (cffi:defcfun
("LLVMConstFSub" LLVMConstFSub
) LLVMValueRef
713 (LHSConstant LLVMValueRef
)
714 (RHSConstant LLVMValueRef
))
716 (cffi:defcfun
("LLVMConstMul" LLVMConstMul
) LLVMValueRef
717 (LHSConstant LLVMValueRef
)
718 (RHSConstant LLVMValueRef
))
720 (cffi:defcfun
("LLVMConstFMul" LLVMConstFMul
) LLVMValueRef
721 (LHSConstant LLVMValueRef
)
722 (RHSConstant LLVMValueRef
))
724 (cffi:defcfun
("LLVMConstUDiv" LLVMConstUDiv
) LLVMValueRef
725 (LHSConstant LLVMValueRef
)
726 (RHSConstant LLVMValueRef
))
728 (cffi:defcfun
("LLVMConstSDiv" LLVMConstSDiv
) LLVMValueRef
729 (LHSConstant LLVMValueRef
)
730 (RHSConstant LLVMValueRef
))
732 (cffi:defcfun
("LLVMConstExactSDiv" LLVMConstExactSDiv
) LLVMValueRef
733 (LHSConstant LLVMValueRef
)
734 (RHSConstant LLVMValueRef
))
736 (cffi:defcfun
("LLVMConstFDiv" LLVMConstFDiv
) LLVMValueRef
737 (LHSConstant LLVMValueRef
)
738 (RHSConstant LLVMValueRef
))
740 (cffi:defcfun
("LLVMConstURem" LLVMConstURem
) LLVMValueRef
741 (LHSConstant LLVMValueRef
)
742 (RHSConstant LLVMValueRef
))
744 (cffi:defcfun
("LLVMConstSRem" LLVMConstSRem
) LLVMValueRef
745 (LHSConstant LLVMValueRef
)
746 (RHSConstant LLVMValueRef
))
748 (cffi:defcfun
("LLVMConstFRem" LLVMConstFRem
) LLVMValueRef
749 (LHSConstant LLVMValueRef
)
750 (RHSConstant LLVMValueRef
))
752 (cffi:defcfun
("LLVMConstAnd" LLVMConstAnd
) LLVMValueRef
753 (LHSConstant LLVMValueRef
)
754 (RHSConstant LLVMValueRef
))
756 (cffi:defcfun
("LLVMConstOr" LLVMConstOr
) LLVMValueRef
757 (LHSConstant LLVMValueRef
)
758 (RHSConstant LLVMValueRef
))
760 (cffi:defcfun
("LLVMConstXor" LLVMConstXor
) LLVMValueRef
761 (LHSConstant LLVMValueRef
)
762 (RHSConstant LLVMValueRef
))
764 (cffi:defcfun
("LLVMConstICmp" LLVMConstICmp
) LLVMValueRef
765 (Predicate LLVMIntPredicate
)
766 (LHSConstant LLVMValueRef
)
767 (RHSConstant LLVMValueRef
))
769 (cffi:defcfun
("LLVMConstFCmp" LLVMConstFCmp
) LLVMValueRef
770 (Predicate LLVMRealPredicate
)
771 (LHSConstant LLVMValueRef
)
772 (RHSConstant LLVMValueRef
))
774 (cffi:defcfun
("LLVMConstShl" LLVMConstShl
) LLVMValueRef
775 (LHSConstant LLVMValueRef
)
776 (RHSConstant LLVMValueRef
))
778 (cffi:defcfun
("LLVMConstLShr" LLVMConstLShr
) LLVMValueRef
779 (LHSConstant LLVMValueRef
)
780 (RHSConstant LLVMValueRef
))
782 (cffi:defcfun
("LLVMConstAShr" LLVMConstAShr
) LLVMValueRef
783 (LHSConstant LLVMValueRef
)
784 (RHSConstant LLVMValueRef
))
786 (cffi:defcfun
("LLVMConstGEP" %LLVMConstGEP
) LLVMValueRef
787 (ConstantVal LLVMValueRef
)
788 (ConstantIndices :pointer
)
789 (NumIndices :unsigned-int
))
791 (cffi:defcfun
("LLVMConstInBoundsGEP" %LLVMConstInBoundsGEP
) LLVMValueRef
792 (ConstantVal LLVMValueRef
)
793 (ConstantIndices :pointer
)
794 (NumIndices :unsigned-int
))
796 (cffi:defcfun
("LLVMConstTrunc" LLVMConstTrunc
) LLVMValueRef
797 (ConstantVal LLVMValueRef
)
798 (ToType LLVMTypeRef
))
800 (cffi:defcfun
("LLVMConstSExt" LLVMConstSExt
) LLVMValueRef
801 (ConstantVal LLVMValueRef
)
802 (ToType LLVMTypeRef
))
804 (cffi:defcfun
("LLVMConstZExt" LLVMConstZExt
) LLVMValueRef
805 (ConstantVal LLVMValueRef
)
806 (ToType LLVMTypeRef
))
808 (cffi:defcfun
("LLVMConstFPTrunc" LLVMConstFPTrunc
) LLVMValueRef
809 (ConstantVal LLVMValueRef
)
810 (ToType LLVMTypeRef
))
812 (cffi:defcfun
("LLVMConstFPExt" LLVMConstFPExt
) LLVMValueRef
813 (ConstantVal LLVMValueRef
)
814 (ToType LLVMTypeRef
))
816 (cffi:defcfun
("LLVMConstUIToFP" LLVMConstUIToFP
) LLVMValueRef
817 (ConstantVal LLVMValueRef
)
818 (ToType LLVMTypeRef
))
820 (cffi:defcfun
("LLVMConstSIToFP" LLVMConstSIToFP
) LLVMValueRef
821 (ConstantVal LLVMValueRef
)
822 (ToType LLVMTypeRef
))
824 (cffi:defcfun
("LLVMConstFPToUI" LLVMConstFPToUI
) LLVMValueRef
825 (ConstantVal LLVMValueRef
)
826 (ToType LLVMTypeRef
))
828 (cffi:defcfun
("LLVMConstFPToSI" LLVMConstFPToSI
) LLVMValueRef
829 (ConstantVal LLVMValueRef
)
830 (ToType LLVMTypeRef
))
832 (cffi:defcfun
("LLVMConstPtrToInt" LLVMConstPtrToInt
) LLVMValueRef
833 (ConstantVal LLVMValueRef
)
834 (ToType LLVMTypeRef
))
836 (cffi:defcfun
("LLVMConstIntToPtr" LLVMConstIntToPtr
) LLVMValueRef
837 (ConstantVal LLVMValueRef
)
838 (ToType LLVMTypeRef
))
840 (cffi:defcfun
("LLVMConstBitCast" LLVMConstBitCast
) LLVMValueRef
841 (ConstantVal LLVMValueRef
)
842 (ToType LLVMTypeRef
))
844 (cffi:defcfun
("LLVMConstZExtOrBitCast" LLVMConstZExtOrBitCast
) LLVMValueRef
845 (ConstantVal LLVMValueRef
)
846 (ToType LLVMTypeRef
))
848 (cffi:defcfun
("LLVMConstSExtOrBitCast" LLVMConstSExtOrBitCast
) LLVMValueRef
849 (ConstantVal LLVMValueRef
)
850 (ToType LLVMTypeRef
))
852 (cffi:defcfun
("LLVMConstTruncOrBitCast" LLVMConstTruncOrBitCast
) LLVMValueRef
853 (ConstantVal LLVMValueRef
)
854 (ToType LLVMTypeRef
))
856 (cffi:defcfun
("LLVMConstPointerCast" LLVMConstPointerCast
) LLVMValueRef
857 (ConstantVal LLVMValueRef
)
858 (ToType LLVMTypeRef
))
860 (cffi:defcfun
("LLVMConstIntCast" LLVMConstIntCast
) LLVMValueRef
861 (ConstantVal LLVMValueRef
)
865 (cffi:defcfun
("LLVMConstFPCast" LLVMConstFPCast
) LLVMValueRef
866 (ConstantVal LLVMValueRef
)
867 (ToType LLVMTypeRef
))
869 (cffi:defcfun
("LLVMConstSelect" LLVMConstSelect
) LLVMValueRef
870 (ConstantCondition LLVMValueRef
)
871 (ConstantIfTrue LLVMValueRef
)
872 (ConstantIfFalse LLVMValueRef
))
874 (cffi:defcfun
("LLVMConstExtractElement" LLVMConstExtractElement
) LLVMValueRef
875 (VectorConstant LLVMValueRef
)
876 (IndexConstant LLVMValueRef
))
878 (cffi:defcfun
("LLVMConstInsertElement" LLVMConstInsertElement
) LLVMValueRef
879 (VectorConstant LLVMValueRef
)
880 (ElementValueConstant LLVMValueRef
)
881 (IndexConstant LLVMValueRef
))
883 (cffi:defcfun
("LLVMConstShuffleVector" LLVMConstShuffleVector
) LLVMValueRef
884 (VectorAConstant LLVMValueRef
)
885 (VectorBConstant LLVMValueRef
)
886 (MaskConstant LLVMValueRef
))
888 (cffi:defcfun
("LLVMConstExtractValue" %LLVMConstExtractValue
) LLVMValueRef
889 (AggConstant LLVMValueRef
)
891 (NumIdx :unsigned-int
))
893 (cffi:defcfun
("LLVMConstInsertValue" %LLVMConstInsertValue
) LLVMValueRef
894 (AggConstant LLVMValueRef
)
895 (ElementValueConstant LLVMValueRef
)
897 (NumIdx :unsigned-int
))
899 (cffi:defcfun
("LLVMConstInlineAsm" LLVMConstInlineAsm
) LLVMValueRef
902 (Constraints :string
)
903 (HasSideEffects :boolean
)
904 (IsAlignStack :boolean
))
906 (cffi:defcfun
("LLVMGetGlobalParent" LLVMGetGlobalParent
) LLVMModuleRef
907 (Global LLVMValueRef
))
909 (cffi:defcfun
("LLVMIsDeclaration" LLVMIsDeclaration
) :boolean
910 (Global LLVMValueRef
))
912 (cffi:defcfun
("LLVMGetLinkage" LLVMGetLinkage
) LLVMLinkage
913 (Global LLVMValueRef
))
915 (cffi:defcfun
("LLVMSetLinkage" LLVMSetLinkage
) :void
916 (Global LLVMValueRef
)
917 (Linkage LLVMLinkage
))
919 (cffi:defcfun
("LLVMGetSection" LLVMGetSection
) :string
920 (Global LLVMValueRef
))
922 (cffi:defcfun
("LLVMSetSection" LLVMSetSection
) :void
923 (Global LLVMValueRef
)
926 (cffi:defcfun
("LLVMGetVisibility" LLVMGetVisibility
) LLVMVisibility
927 (Global LLVMValueRef
))
929 (cffi:defcfun
("LLVMSetVisibility" LLVMSetVisibility
) :void
930 (Global LLVMValueRef
)
931 (Viz LLVMVisibility
))
933 (cffi:defcfun
("LLVMGetAlignment" LLVMGetAlignment
) :unsigned-int
934 (Global LLVMValueRef
))
936 (cffi:defcfun
("LLVMSetAlignment" LLVMSetAlignment
) :void
937 (Global LLVMValueRef
)
938 (Bytes :unsigned-int
))
940 (cffi:defcfun
("LLVMAddGlobal" LLVMAddGlobal
) LLVMValueRef
945 (cffi:defcfun
("LLVMGetNamedGlobal" LLVMGetNamedGlobal
) LLVMValueRef
949 (cffi:defcfun
("LLVMGetFirstGlobal" LLVMGetFirstGlobal
) LLVMValueRef
952 (cffi:defcfun
("LLVMGetLastGlobal" LLVMGetLastGlobal
) LLVMValueRef
955 (cffi:defcfun
("LLVMGetNextGlobal" LLVMGetNextGlobal
) LLVMValueRef
956 (GlobalVar LLVMValueRef
))
958 (cffi:defcfun
("LLVMGetPreviousGlobal" LLVMGetPreviousGlobal
) LLVMValueRef
959 (GlobalVar LLVMValueRef
))
961 (cffi:defcfun
("LLVMDeleteGlobal" LLVMDeleteGlobal
) :void
962 (GlobalVar LLVMValueRef
))
964 (cffi:defcfun
("LLVMGetInitializer" LLVMGetInitializer
) LLVMValueRef
965 (GlobalVar LLVMValueRef
))
967 (cffi:defcfun
("LLVMSetInitializer" LLVMSetInitializer
) :void
968 (GlobalVar LLVMValueRef
)
969 (ConstantVal LLVMValueRef
))
971 (cffi:defcfun
("LLVMIsThreadLocal" LLVMIsThreadLocal
) :boolean
972 (GlobalVar LLVMValueRef
))
974 (cffi:defcfun
("LLVMSetThreadLocal" LLVMSetThreadLocal
) :void
975 (GlobalVar LLVMValueRef
)
976 (IsThreadLocal :boolean
))
978 (cffi:defcfun
("LLVMIsGlobalConstant" LLVMIsGlobalConstant
) :boolean
979 (GlobalVar LLVMValueRef
))
981 (cffi:defcfun
("LLVMSetGlobalConstant" LLVMSetGlobalConstant
) :void
982 (GlobalVar LLVMValueRef
)
983 (IsConstant :boolean
))
985 (cffi:defcfun
("LLVMAddAlias" LLVMAddAlias
) LLVMValueRef
988 (Aliasee LLVMValueRef
)
991 (cffi:defcfun
("LLVMAddFunction" LLVMAddFunction
) LLVMValueRef
994 (FunctionTy LLVMTypeRef
))
996 (cffi:defcfun
("LLVMGetNamedFunction" LLVMGetNamedFunction
) LLVMValueRef
1000 (cffi:defcfun
("LLVMGetFirstFunction" LLVMGetFirstFunction
) LLVMValueRef
1003 (cffi:defcfun
("LLVMGetLastFunction" LLVMGetLastFunction
) LLVMValueRef
1006 (cffi:defcfun
("LLVMGetNextFunction" LLVMGetNextFunction
) LLVMValueRef
1009 (cffi:defcfun
("LLVMGetPreviousFunction" LLVMGetPreviousFunction
) LLVMValueRef
1012 (cffi:defcfun
("LLVMDeleteFunction" LLVMDeleteFunction
) :void
1015 (cffi:defcfun
("LLVMGetIntrinsicID" LLVMGetIntrinsicID
) :unsigned-int
1018 (cffi:defcfun
("LLVMGetFunctionCallConv" LLVMGetFunctionCallConv
) :unsigned-int
1021 (cffi:defcfun
("LLVMSetFunctionCallConv" LLVMSetFunctionCallConv
) :void
1025 (cffi:defcfun
("LLVMGetGC" LLVMGetGC
) :string
1028 (cffi:defcfun
("LLVMSetGC" LLVMSetGC
) :void
1032 (cffi:defcfun
("LLVMGetFunctionAttr" LLVMGetFunctionAttr
) LLVMAttribute
1035 (cffi:defcfun
("LLVMCountParams" LLVMCountParams
) :unsigned-int
1038 (cffi:defcfun
("LLVMGetParams" %LLVMGetParams
) :void
1042 (cffi:defcfun
("LLVMGetParam" LLVMGetParam
) LLVMValueRef
1044 (Index :unsigned-int
))
1046 (cffi:defcfun
("LLVMGetParamParent" LLVMGetParamParent
) LLVMValueRef
1047 (Inst LLVMValueRef
))
1049 (cffi:defcfun
("LLVMGetFirstParam" LLVMGetFirstParam
) LLVMValueRef
1052 (cffi:defcfun
("LLVMGetLastParam" LLVMGetLastParam
) LLVMValueRef
1055 (cffi:defcfun
("LLVMGetNextParam" LLVMGetNextParam
) LLVMValueRef
1058 (cffi:defcfun
("LLVMGetPreviousParam" LLVMGetPreviousParam
) LLVMValueRef
1061 (cffi:defcfun
("LLVMAddAttribute" LLVMAddAttribute
) :void
1065 (cffi:defcfun
("LLVMRemoveAttribute" LLVMRemoveAttribute
) :void
1069 (cffi:defcfun
("LLVMGetAttribute" LLVMGetAttribute
) LLVMAttribute
1072 (cffi:defcfun
("LLVMSetParamAlignment" LLVMSetParamAlignment
) :void
1074 (align :unsigned-int
))
1076 (cffi:defcfun
("LLVMBasicBlockAsValue" LLVMBasicBlockAsValue
) LLVMValueRef
1077 (BB LLVMBasicBlockRef
))
1079 (cffi:defcfun
("LLVMValueIsBasicBlock" LLVMValueIsBasicBlock
) :boolean
1082 (cffi:defcfun
("LLVMValueAsBasicBlock" LLVMValueAsBasicBlock
) LLVMBasicBlockRef
1085 (cffi:defcfun
("LLVMGetBasicBlockParent" LLVMGetBasicBlockParent
) LLVMValueRef
1086 (BB LLVMBasicBlockRef
))
1088 (cffi:defcfun
("LLVMCountBasicBlocks" LLVMCountBasicBlocks
) :unsigned-int
1091 (cffi:defcfun
("LLVMGetBasicBlocks" LLVMGetBasicBlocks
) :void
1093 (BasicBlocks :pointer
))
1095 (cffi:defcfun
("LLVMGetFirstBasicBlock" LLVMGetFirstBasicBlock
) LLVMBasicBlockRef
1098 (cffi:defcfun
("LLVMGetLastBasicBlock" LLVMGetLastBasicBlock
) LLVMBasicBlockRef
1101 (cffi:defcfun
("LLVMGetNextBasicBlock" LLVMGetNextBasicBlock
) LLVMBasicBlockRef
1102 (BB LLVMBasicBlockRef
))
1104 (cffi:defcfun
("LLVMGetPreviousBasicBlock" LLVMGetPreviousBasicBlock
) LLVMBasicBlockRef
1105 (BB LLVMBasicBlockRef
))
1107 (cffi:defcfun
("LLVMGetEntryBasicBlock" LLVMGetEntryBasicBlock
) LLVMBasicBlockRef
1110 (cffi:defcfun
("LLVMAppendBasicBlockInContext" %LLVMAppendBasicBlockInContext
) LLVMBasicBlockRef
1115 (cffi:defcfun
("LLVMInsertBasicBlockInContext" %LLVMInsertBasicBlockInContext
) LLVMBasicBlockRef
1117 (BB LLVMBasicBlockRef
)
1120 (cffi:defcfun
("LLVMDeleteBasicBlock" LLVMDeleteBasicBlock
) :void
1121 (BB LLVMBasicBlockRef
))
1123 (cffi:defcfun
("LLVMGetInstructionParent" LLVMGetInstructionParent
) LLVMBasicBlockRef
1124 (Inst LLVMValueRef
))
1126 (cffi:defcfun
("LLVMGetFirstInstruction" LLVMGetFirstInstruction
) LLVMValueRef
1127 (BB LLVMBasicBlockRef
))
1129 (cffi:defcfun
("LLVMGetLastInstruction" LLVMGetLastInstruction
) LLVMValueRef
1130 (BB LLVMBasicBlockRef
))
1132 (cffi:defcfun
("LLVMGetNextInstruction" LLVMGetNextInstruction
) LLVMValueRef
1133 (Inst LLVMValueRef
))
1135 (cffi:defcfun
("LLVMGetPreviousInstruction" LLVMGetPreviousInstruction
) LLVMValueRef
1136 (Inst LLVMValueRef
))
1138 (cffi:defcfun
("LLVMSetInstructionCallConv" LLVMSetInstructionCallConv
) :void
1139 (Instr LLVMValueRef
)
1142 (cffi:defcfun
("LLVMGetInstructionCallConv" LLVMGetInstructionCallConv
) :unsigned-int
1143 (Instr LLVMValueRef
))
1145 (cffi:defcfun
("LLVMAddInstrAttribute" LLVMAddInstrAttribute
) :void
1146 (Instr LLVMValueRef
)
1147 (index :unsigned-int
)
1148 (arg2 LLVMAttribute
))
1150 (cffi:defcfun
("LLVMRemoveInstrAttribute" LLVMRemoveInstrAttribute
) :void
1151 (Instr LLVMValueRef
)
1152 (index :unsigned-int
)
1153 (arg2 LLVMAttribute
))
1155 (cffi:defcfun
("LLVMSetInstrParamAlignment" LLVMSetInstrParamAlignment
) :void
1156 (Instr LLVMValueRef
)
1157 (index :unsigned-int
)
1158 (align :unsigned-int
))
1160 (cffi:defcfun
("LLVMIsTailCall" LLVMIsTailCall
) :boolean
1161 (CallInst LLVMValueRef
))
1163 (cffi:defcfun
("LLVMSetTailCall" LLVMSetTailCall
) :void
1164 (CallInst LLVMValueRef
)
1165 (IsTailCall :boolean
))
1167 (cffi:defcfun
("LLVMAddIncoming" %LLVMAddIncoming
) :void
1168 (PhiNode LLVMValueRef
)
1169 (IncomingValues :pointer
)
1170 (IncomingBlocks :pointer
)
1171 (Count :unsigned-int
))
1173 (cffi:defcfun
("LLVMCountIncoming" LLVMCountIncoming
) :unsigned-int
1174 (PhiNode LLVMValueRef
))
1176 (cffi:defcfun
("LLVMGetIncomingValue" LLVMGetIncomingValue
) LLVMValueRef
1177 (PhiNode LLVMValueRef
)
1178 (Index :unsigned-int
))
1180 (cffi:defcfun
("LLVMGetIncomingBlock" LLVMGetIncomingBlock
) LLVMBasicBlockRef
1181 (PhiNode LLVMValueRef
)
1182 (Index :unsigned-int
))
1184 (cffi:defcfun
("LLVMCreateBuilderInContext" %LLVMCreateBuilderInContext
) LLVMBuilderRef
1187 (cffi:defcfun
("LLVMPositionBuilder" LLVMPositionBuilder
) :void
1188 (Builder LLVMBuilderRef
)
1189 (Block LLVMBasicBlockRef
)
1190 (Instr LLVMValueRef
))
1192 (cffi:defcfun
("LLVMPositionBuilderBefore" LLVMPositionBuilderBefore
) :void
1193 (Builder LLVMBuilderRef
)
1194 (Instr LLVMValueRef
))
1196 (cffi:defcfun
("LLVMPositionBuilderAtEnd" LLVMPositionBuilderAtEnd
) :void
1197 (Builder LLVMBuilderRef
)
1198 (Block LLVMBasicBlockRef
))
1200 (cffi:defcfun
("LLVMGetInsertBlock" LLVMGetInsertBlock
) LLVMBasicBlockRef
1201 (Builder LLVMBuilderRef
))
1203 (cffi:defcfun
("LLVMClearInsertionPosition" LLVMClearInsertionPosition
) :void
1204 (Builder LLVMBuilderRef
))
1206 (cffi:defcfun
("LLVMInsertIntoBuilder" LLVMInsertIntoBuilder
) :void
1207 (Builder LLVMBuilderRef
)
1208 (Instr LLVMValueRef
))
1210 (cffi:defcfun
("LLVMInsertIntoBuilderWithName" LLVMInsertIntoBuilderWithName
) :void
1211 (Builder LLVMBuilderRef
)
1212 (Instr LLVMValueRef
)
1215 (cffi:defcfun
("LLVMDisposeBuilder" LLVMDisposeBuilder
) :void
1216 (Builder LLVMBuilderRef
))
1218 (cffi:defcfun
("LLVMBuildRetVoid" LLVMBuildRetVoid
) LLVMValueRef
1219 (arg0 LLVMBuilderRef
))
1221 (cffi:defcfun
("LLVMBuildRet" LLVMBuildRet
) LLVMValueRef
1222 (arg0 LLVMBuilderRef
)
1225 (cffi:defcfun
("LLVMBuildAggregateRet" %LLVMBuildAggregateRet
) LLVMValueRef
1226 (arg0 LLVMBuilderRef
)
1230 (cffi:defcfun
("LLVMBuildBr" LLVMBuildBr
) LLVMValueRef
1231 (arg0 LLVMBuilderRef
)
1232 (Dest LLVMBasicBlockRef
))
1234 (cffi:defcfun
("LLVMBuildCondBr" LLVMBuildCondBr
) LLVMValueRef
1235 (arg0 LLVMBuilderRef
)
1237 (Then LLVMBasicBlockRef
)
1238 (Else LLVMBasicBlockRef
))
1240 (cffi:defcfun
("LLVMBuildSwitch" LLVMBuildSwitch
) LLVMValueRef
1241 (arg0 LLVMBuilderRef
)
1243 (Else LLVMBasicBlockRef
)
1244 (NumCases :unsigned-int
))
1246 (cffi:defcfun
("LLVMBuildInvoke" %LLVMBuildInvoke
) LLVMValueRef
1247 (arg0 LLVMBuilderRef
)
1250 (NumArgs :unsigned-int
)
1251 (Then LLVMBasicBlockRef
)
1252 (Catch LLVMBasicBlockRef
)
1255 (cffi:defcfun
("LLVMBuildUnwind" LLVMBuildUnwind
) LLVMValueRef
1256 (arg0 LLVMBuilderRef
))
1258 (cffi:defcfun
("LLVMBuildUnreachable" LLVMBuildUnreachable
) LLVMValueRef
1259 (arg0 LLVMBuilderRef
))
1261 (cffi:defcfun
("LLVMAddCase" LLVMAddCase
) :void
1262 (Switch LLVMValueRef
)
1263 (OnVal LLVMValueRef
)
1264 (Dest LLVMBasicBlockRef
))
1266 (cffi:defcfun
("LLVMBuildAdd" LLVMBuildAdd
) LLVMValueRef
1267 (arg0 LLVMBuilderRef
)
1272 (cffi:defcfun
("LLVMBuildNSWAdd" LLVMBuildNSWAdd
) LLVMValueRef
1273 (arg0 LLVMBuilderRef
)
1278 (cffi:defcfun
("LLVMBuildFAdd" LLVMBuildFAdd
) LLVMValueRef
1279 (arg0 LLVMBuilderRef
)
1284 (cffi:defcfun
("LLVMBuildSub" LLVMBuildSub
) LLVMValueRef
1285 (arg0 LLVMBuilderRef
)
1290 (cffi:defcfun
("LLVMBuildFSub" LLVMBuildFSub
) LLVMValueRef
1291 (arg0 LLVMBuilderRef
)
1296 (cffi:defcfun
("LLVMBuildMul" LLVMBuildMul
) LLVMValueRef
1297 (arg0 LLVMBuilderRef
)
1302 (cffi:defcfun
("LLVMBuildFMul" LLVMBuildFMul
) LLVMValueRef
1303 (arg0 LLVMBuilderRef
)
1308 (cffi:defcfun
("LLVMBuildUDiv" LLVMBuildUDiv
) LLVMValueRef
1309 (arg0 LLVMBuilderRef
)
1314 (cffi:defcfun
("LLVMBuildSDiv" LLVMBuildSDiv
) LLVMValueRef
1315 (arg0 LLVMBuilderRef
)
1320 (cffi:defcfun
("LLVMBuildExactSDiv" LLVMBuildExactSDiv
) LLVMValueRef
1321 (arg0 LLVMBuilderRef
)
1326 (cffi:defcfun
("LLVMBuildFDiv" LLVMBuildFDiv
) LLVMValueRef
1327 (arg0 LLVMBuilderRef
)
1332 (cffi:defcfun
("LLVMBuildURem" LLVMBuildURem
) LLVMValueRef
1333 (arg0 LLVMBuilderRef
)
1338 (cffi:defcfun
("LLVMBuildSRem" LLVMBuildSRem
) LLVMValueRef
1339 (arg0 LLVMBuilderRef
)
1344 (cffi:defcfun
("LLVMBuildFRem" LLVMBuildFRem
) LLVMValueRef
1345 (arg0 LLVMBuilderRef
)
1350 (cffi:defcfun
("LLVMBuildShl" LLVMBuildShl
) LLVMValueRef
1351 (arg0 LLVMBuilderRef
)
1356 (cffi:defcfun
("LLVMBuildLShr" LLVMBuildLShr
) LLVMValueRef
1357 (arg0 LLVMBuilderRef
)
1362 (cffi:defcfun
("LLVMBuildAShr" LLVMBuildAShr
) LLVMValueRef
1363 (arg0 LLVMBuilderRef
)
1368 (cffi:defcfun
("LLVMBuildAnd" LLVMBuildAnd
) LLVMValueRef
1369 (arg0 LLVMBuilderRef
)
1374 (cffi:defcfun
("LLVMBuildOr" LLVMBuildOr
) LLVMValueRef
1375 (arg0 LLVMBuilderRef
)
1380 (cffi:defcfun
("LLVMBuildXor" LLVMBuildXor
) LLVMValueRef
1381 (arg0 LLVMBuilderRef
)
1386 (cffi:defcfun
("LLVMBuildNeg" LLVMBuildNeg
) LLVMValueRef
1387 (arg0 LLVMBuilderRef
)
1391 (cffi:defcfun
("LLVMBuildFNeg" LLVMBuildFNeg
) LLVMValueRef
1392 (arg0 LLVMBuilderRef
)
1396 (cffi:defcfun
("LLVMBuildNot" LLVMBuildNot
) LLVMValueRef
1397 (arg0 LLVMBuilderRef
)
1401 (cffi:defcfun
("LLVMBuildMalloc" LLVMBuildMalloc
) LLVMValueRef
1402 (arg0 LLVMBuilderRef
)
1406 (cffi:defcfun
("LLVMBuildArrayMalloc" LLVMBuildArrayMalloc
) LLVMValueRef
1407 (arg0 LLVMBuilderRef
)
1412 (cffi:defcfun
("LLVMBuildAlloca" LLVMBuildAlloca
) LLVMValueRef
1413 (arg0 LLVMBuilderRef
)
1417 (cffi:defcfun
("LLVMBuildArrayAlloca" LLVMBuildArrayAlloca
) LLVMValueRef
1418 (arg0 LLVMBuilderRef
)
1423 (cffi:defcfun
("LLVMBuildFree" LLVMBuildFree
) LLVMValueRef
1424 (arg0 LLVMBuilderRef
)
1425 (PointerVal LLVMValueRef
))
1427 (cffi:defcfun
("LLVMBuildLoad" LLVMBuildLoad
) LLVMValueRef
1428 (arg0 LLVMBuilderRef
)
1429 (PointerVal LLVMValueRef
)
1432 (cffi:defcfun
("LLVMBuildStore" LLVMBuildStore
) LLVMValueRef
1433 (arg0 LLVMBuilderRef
)
1437 (cffi:defcfun
("LLVMBuildGEP" %LLVMBuildGEP
) LLVMValueRef
1439 (Pointer LLVMValueRef
)
1441 (NumIndices :unsigned-int
)
1444 (cffi:defcfun
("LLVMBuildInBoundsGEP" %LLVMBuildInBoundsGEP
) LLVMValueRef
1446 (Pointer LLVMValueRef
)
1448 (NumIndices :unsigned-int
)
1451 (cffi:defcfun
("LLVMBuildStructGEP" LLVMBuildStructGEP
) LLVMValueRef
1453 (Pointer LLVMValueRef
)
1457 (cffi:defcfun
("LLVMBuildGlobalString" LLVMBuildGlobalString
) LLVMValueRef
1462 (cffi:defcfun
("LLVMBuildGlobalStringPtr" LLVMBuildGlobalStringPtr
) LLVMValueRef
1467 (cffi:defcfun
("LLVMBuildTrunc" LLVMBuildTrunc
) LLVMValueRef
1468 (arg0 LLVMBuilderRef
)
1470 (DestTy LLVMTypeRef
)
1473 (cffi:defcfun
("LLVMBuildZExt" LLVMBuildZExt
) LLVMValueRef
1474 (arg0 LLVMBuilderRef
)
1476 (DestTy LLVMTypeRef
)
1479 (cffi:defcfun
("LLVMBuildSExt" LLVMBuildSExt
) LLVMValueRef
1480 (arg0 LLVMBuilderRef
)
1482 (DestTy LLVMTypeRef
)
1485 (cffi:defcfun
("LLVMBuildFPToUI" LLVMBuildFPToUI
) LLVMValueRef
1486 (arg0 LLVMBuilderRef
)
1488 (DestTy LLVMTypeRef
)
1491 (cffi:defcfun
("LLVMBuildFPToSI" LLVMBuildFPToSI
) LLVMValueRef
1492 (arg0 LLVMBuilderRef
)
1494 (DestTy LLVMTypeRef
)
1497 (cffi:defcfun
("LLVMBuildUIToFP" LLVMBuildUIToFP
) LLVMValueRef
1498 (arg0 LLVMBuilderRef
)
1500 (DestTy LLVMTypeRef
)
1503 (cffi:defcfun
("LLVMBuildSIToFP" LLVMBuildSIToFP
) LLVMValueRef
1504 (arg0 LLVMBuilderRef
)
1506 (DestTy LLVMTypeRef
)
1509 (cffi:defcfun
("LLVMBuildFPTrunc" LLVMBuildFPTrunc
) LLVMValueRef
1510 (arg0 LLVMBuilderRef
)
1512 (DestTy LLVMTypeRef
)
1515 (cffi:defcfun
("LLVMBuildFPExt" LLVMBuildFPExt
) LLVMValueRef
1516 (arg0 LLVMBuilderRef
)
1518 (DestTy LLVMTypeRef
)
1521 (cffi:defcfun
("LLVMBuildPtrToInt" LLVMBuildPtrToInt
) LLVMValueRef
1522 (arg0 LLVMBuilderRef
)
1524 (DestTy LLVMTypeRef
)
1527 (cffi:defcfun
("LLVMBuildIntToPtr" LLVMBuildIntToPtr
) LLVMValueRef
1528 (arg0 LLVMBuilderRef
)
1530 (DestTy LLVMTypeRef
)
1533 (cffi:defcfun
("LLVMBuildBitCast" LLVMBuildBitCast
) LLVMValueRef
1534 (arg0 LLVMBuilderRef
)
1536 (DestTy LLVMTypeRef
)
1539 (cffi:defcfun
("LLVMBuildZExtOrBitCast" LLVMBuildZExtOrBitCast
) LLVMValueRef
1540 (arg0 LLVMBuilderRef
)
1542 (DestTy LLVMTypeRef
)
1545 (cffi:defcfun
("LLVMBuildSExtOrBitCast" LLVMBuildSExtOrBitCast
) LLVMValueRef
1546 (arg0 LLVMBuilderRef
)
1548 (DestTy LLVMTypeRef
)
1551 (cffi:defcfun
("LLVMBuildTruncOrBitCast" LLVMBuildTruncOrBitCast
) LLVMValueRef
1552 (arg0 LLVMBuilderRef
)
1554 (DestTy LLVMTypeRef
)
1557 (cffi:defcfun
("LLVMBuildPointerCast" LLVMBuildPointerCast
) LLVMValueRef
1558 (arg0 LLVMBuilderRef
)
1560 (DestTy LLVMTypeRef
)
1563 (cffi:defcfun
("LLVMBuildIntCast" LLVMBuildIntCast
) LLVMValueRef
1564 (arg0 LLVMBuilderRef
)
1566 (DestTy LLVMTypeRef
)
1569 (cffi:defcfun
("LLVMBuildFPCast" LLVMBuildFPCast
) LLVMValueRef
1570 (arg0 LLVMBuilderRef
)
1572 (DestTy LLVMTypeRef
)
1575 (cffi:defcfun
("LLVMBuildICmp" LLVMBuildICmp
) LLVMValueRef
1576 (arg0 LLVMBuilderRef
)
1577 (Op LLVMIntPredicate
)
1582 (cffi:defcfun
("LLVMBuildFCmp" LLVMBuildFCmp
) LLVMValueRef
1583 (arg0 LLVMBuilderRef
)
1584 (Op LLVMRealPredicate
)
1589 (cffi:defcfun
("LLVMBuildPhi" LLVMBuildPhi
) LLVMValueRef
1590 (arg0 LLVMBuilderRef
)
1594 (cffi:defcfun
("LLVMBuildCall" %LLVMBuildCall
) LLVMValueRef
1595 (arg0 LLVMBuilderRef
)
1598 (NumArgs :unsigned-int
)
1601 (cffi:defcfun
("LLVMBuildSelect" LLVMBuildSelect
) LLVMValueRef
1602 (arg0 LLVMBuilderRef
)
1608 (cffi:defcfun
("LLVMBuildVAArg" LLVMBuildVAArg
) LLVMValueRef
1609 (arg0 LLVMBuilderRef
)
1614 (cffi:defcfun
("LLVMBuildExtractElement" LLVMBuildExtractElement
) LLVMValueRef
1615 (arg0 LLVMBuilderRef
)
1616 (VecVal LLVMValueRef
)
1617 (Index LLVMValueRef
)
1620 (cffi:defcfun
("LLVMBuildInsertElement" LLVMBuildInsertElement
) LLVMValueRef
1621 (arg0 LLVMBuilderRef
)
1622 (VecVal LLVMValueRef
)
1623 (EltVal LLVMValueRef
)
1624 (Index LLVMValueRef
)
1627 (cffi:defcfun
("LLVMBuildShuffleVector" LLVMBuildShuffleVector
) LLVMValueRef
1628 (arg0 LLVMBuilderRef
)
1634 (cffi:defcfun
("LLVMBuildExtractValue" LLVMBuildExtractValue
) LLVMValueRef
1635 (arg0 LLVMBuilderRef
)
1636 (AggVal LLVMValueRef
)
1637 (Index :unsigned-int
)
1640 (cffi:defcfun
("LLVMBuildInsertValue" LLVMBuildInsertValue
) LLVMValueRef
1641 (arg0 LLVMBuilderRef
)
1642 (AggVal LLVMValueRef
)
1643 (EltVal LLVMValueRef
)
1644 (Index :unsigned-int
)
1647 (cffi:defcfun
("LLVMBuildIsNull" LLVMBuildIsNull
) LLVMValueRef
1648 (arg0 LLVMBuilderRef
)
1652 (cffi:defcfun
("LLVMBuildIsNotNull" LLVMBuildIsNotNull
) LLVMValueRef
1653 (arg0 LLVMBuilderRef
)
1657 (cffi:defcfun
("LLVMBuildPtrDiff" LLVMBuildPtrDiff
) LLVMValueRef
1658 (arg0 LLVMBuilderRef
)
1663 (cffi:defcfun
("LLVMCreateModuleProviderForExistingModule" LLVMCreateModuleProviderForExistingModule
) LLVMModuleProviderRef
1666 (cffi:defcfun
("LLVMDisposeModuleProvider" LLVMDisposeModuleProvider
) :void
1667 (MP LLVMModuleProviderRef
))
1669 (cffi:defcfun
("LLVMCreateMemoryBufferWithContentsOfFile" LLVMCreateMemoryBufferWithContentsOfFile
) :boolean
1671 (OutMemBuf :pointer
)
1672 (OutMessage :pointer
))
1674 (cffi:defcfun
("LLVMCreateMemoryBufferWithSTDIN" LLVMCreateMemoryBufferWithSTDIN
) :boolean
1675 (OutMemBuf :pointer
)
1676 (OutMessage :pointer
))
1678 (cffi:defcfun
("LLVMDisposeMemoryBuffer" LLVMDisposeMemoryBuffer
) :void
1679 (MemBuf LLVMMemoryBufferRef
))
1681 (cffi:defcfun
("LLVMCreatePassManager" LLVMCreatePassManager
) LLVMPassManagerRef
)
1683 (cffi:defcfun
("LLVMCreateFunctionPassManager" LLVMCreateFunctionPassManager
) LLVMPassManagerRef
1684 (MP LLVMModuleProviderRef
))
1686 (cffi:defcfun
("LLVMRunPassManager" LLVMRunPassManager
) :boolean
1687 (PM LLVMPassManagerRef
)
1690 (cffi:defcfun
("LLVMInitializeFunctionPassManager" LLVMInitializeFunctionPassManager
) :boolean
1691 (FPM LLVMPassManagerRef
))
1693 (cffi:defcfun
("LLVMRunFunctionPassManager" LLVMRunFunctionPassManager
) :boolean
1694 (FPM LLVMPassManagerRef
)
1697 (cffi:defcfun
("LLVMFinalizeFunctionPassManager" LLVMFinalizeFunctionPassManager
) :boolean
1698 (FPM LLVMPassManagerRef
))
1700 (cffi:defcfun
("LLVMDisposePassManager" LLVMDisposePassManager
) :void
1701 (PM LLVMPassManagerRef
))
1703 ;;; The wrappers to expose the "InContext" versions of the functions
1704 ;;; in a more lispy way.
1705 (declaim (special *llvm-context
*))
1707 (defun LLVMModuleCreateWithName (ModuleId &optional
(context *llvm-context
*))
1708 (%LLVMModuleCreateWithNameInContext ModuleId context
))
1710 (defun LLVMInt1Type (&optional
(context *llvm-context
*))
1711 (%LLVMInt1TypeInContext context
))
1713 (defun LLVMInt8Type (&optional
(context *llvm-context
*))
1714 (%LLVMInt8TypeInContext context
))
1716 (defun LLVMInt16Type (&optional
(context *llvm-context
*))
1717 (%LLVMInt16TypeInContext context
))
1719 (defun LLVMInt32Type (&optional
(context *llvm-context
*))
1720 (%LLVMInt32TypeInContext context
))
1722 (defun LLVMInt64Type (&optional
(context *llvm-context
*))
1723 (%LLVMInt64TypeInContext context
))
1725 (defun LLVMIntType (NumBits &optional
(context *llvm-context
*))
1726 (%LLVMIntTypeInContext context NumBits
))
1728 (defun LLVMFloatType (&optional
(context *llvm-context
*))
1729 (%LLVMFloatTypeInContext context
))
1731 (defun LLVMDoubleType (&optional
(context *llvm-context
*))
1732 (%LLVMDoubleTypeInContext context
))
1734 (defun LLVMX86FP80Type (&optional
(context *llvm-context
*))
1735 (%LLVMX86FP80TypeInContext context
))
1737 (defun LLVMFP128Type (&optional
(context *llvm-context
*))
1738 (%LLVMFP128TypeInContext context
))
1740 (defun LLVMPPCFP128Type (&optional
(context *llvm-context
*))
1741 (%LLVMPPCFP128TypeInContext context
))
1743 ;; LLVMStructTypeInContext handled below.
1745 (defun LLVMVoidType (&optional
(context *llvm-context
*))
1746 (%LLVMVoidTypeInContext context
))
1748 (defun LLVMLabelType (&optional
(context *llvm-context
*))
1749 (%LLVMLabelTypeInContext context
))
1751 (defun LLVMOpaqueType (&optional
(context *llvm-context
*))
1752 (%LLVMOpaqueTypeInContext context
))
1754 ;; LLVMConstStringInContext handled below
1755 ;; LLVMConstStructInContext handled below
1757 (defun LLVMAppendBasicBlock (Fn Name
&optional
(context *llvm-context
*))
1758 (%LLVMAppendBasicBlockInContext context Fn Name
))
1760 (defun LLVMInsertBasicBlock (BB Name
&optional
(context *llvm-context
*))
1761 (%LLVMInsertBasicBlockInContext context BB Name
))
1763 (defun LLVMCreateBuilder (&optional
(context *llvm-context
*))
1764 (%LLVMCreateBuilderInContext context
))
1767 ;; More complex wrappers for dealing with pointers.
1769 (defmacro with-array-and-length
((array len list
) &body body
)
1770 (let ((list-v (gensym "list")))
1771 `(let* ((,list-v
,list
)
1772 (,len
(length ,list-v
)))
1773 (cffi:with-foreign-object
(,array
:pointer
,len
)
1774 (loop for l in
,list-v
1777 (setf (cffi:mem-aref
,array
:pointer i
) l
))
1780 (defun LLVMFunctionType (ret params is-var-arg
)
1781 "Combines the C API's ParamTypes array and ParamCount arguments into
1782 a single list PARAMS."
1783 (with-array-and-length (array len params
)
1784 (%LLVMFunctionType ret array len is-var-arg
)))
1786 (defun LLVMGetParamTypes (function-type)
1787 "Returns a list of param types rather than filling out a Dest pointer argument"
1788 (let ((len (LLVMCountParamTypes function-type
)))
1789 (cffi:with-foreign-object
(array :pointer len
)
1790 (%LLVMGetParamTypes function-type array
)
1791 (loop for i from
0 below len
1793 (cffi:mem-aref array
:pointer i
)))))
1795 (defun LLVMStructType (element-types is-packed
&optional
(context *llvm-context
*))
1796 (with-array-and-length (array len element-types
)
1797 (%LLVMStructTypeInContext context array len is-packed
)))
1799 (defun LLVMGetStructElementTypes (struct-type)
1800 "Returns a list of param types rather than filling out a Dest pointer argument"
1801 (let ((len (LLVMCountStructElementTypes struct-type
)))
1802 (cffi:with-foreign-object
(array :pointer len
)
1803 (%LLVMGetStructElementTypes struct-type array
)
1804 (loop for i from
0 below len
1806 (cffi:mem-aref array
:pointer i
)))))
1808 (defun LLVMConstString (str dont-null-terminate
&optional
(context *llvm-context
*))
1809 (cffi:with-foreign-string
((foreign-string num-bytes
) str
)
1810 (%LLVMConstStringInContext context foreign-string num-bytes dont-null-terminate
)))
1812 (defun LLVMConstStruct (vals packed-p
&optional
(context *llvm-context
*))
1813 (with-array-and-length (array len vals
)
1814 (%LLVMConstStructInContext context array len packed-p
)))
1816 (defun LLVMConstArray (type vals
)
1817 (with-array-and-length (array len vals
)
1818 (%LLVMConstArray type array len
)))
1820 (defun LLVMConstVector (vals)
1821 (with-array-and-length (array len vals
)
1822 (%LLVMConstVector array len
)))
1824 (defun LLVMConstGEP (ptr indices
)
1825 (with-array-and-length (array len indices
)
1826 (%LLVMConstGEP ptr array len
)))
1828 (defun LLVMConstInBoundsGEP (ptr indices
)
1829 (with-array-and-length (array len indices
)
1830 (%LLVMConstInBoundsGEP ptr array len
)))
1832 (defun LLVMConstExtractValue (AggConstant indices
)
1833 (with-array-and-length (array len indices
)
1834 (%LLVMConstExtractValue AggConstant array len
)))
1836 (defun LLVMConstInsertValue (AggConstant ValConstant indices
)
1837 (with-array-and-length (array len indices
)
1838 (%LLVMConstInsertValue AggConstant ValConstant array len
)))
1840 (defun LLVMGetParams (fn)
1841 "Returns a list of params rather than filling out a Dest pointer argument."
1842 (let ((len (LLVMCountParams fn
)))
1843 (cffi:with-foreign-object
(array :pointer len
)
1844 (%LLVMGetParams fn array
)
1845 (loop for i from
0 below len
1847 (cffi:mem-aref array
:pointer i
)))))
1849 (defun LLVMAddIncoming (phi-node incoming-val incoming-block
)
1850 "Unlike the C API (but like the C++ API...), takes only a single
1851 incoming val and incoming block. Call multiple times if you want to
1852 add multiple incoming values."
1853 (cffi:with-foreign-objects
((incoming-vals :pointer
)
1854 (incoming-blocks :pointer
))
1855 (setf (cffi:mem-aref incoming-vals
:pointer
0) incoming-val
)
1856 (setf (cffi:mem-aref incoming-blocks
:pointer
0) incoming-block
)
1857 (%LLVMAddIncoming phi-node incoming-vals incoming-blocks
1)))
1859 (defun LLVMBuildAggregateRet (builder vals
)
1860 (with-array-and-length (array len vals
)
1861 (%LLVMBuildAggregateRet builder array len
)))
1863 (defun LLVMBuildInvoke (builder fn args then catch name
)
1864 (with-array-and-length (array len args
)
1865 (%LLVMBuildInvoke builder fn array len then catch name
)))
1867 (defun LLVMBuildGEP (builder ptr indices name
)
1868 (with-array-and-length (array len indices
)
1869 (%LLVMBuildGEP builder ptr array len name
)))
1871 (defun LLVMBuildInBoundsGEP (builder ptr indices name
)
1872 (with-array-and-length (array len indices
)
1873 (%LLVMBuildInBoundsGEP builder ptr array len name
)))
1875 (defun LLVMBuildCall (builder fn args name
)
1876 "Combines the C API's Args array and NumArgs arguments into a single
1878 (with-array-and-length (array len args
)
1879 (%LLVMBuildCall builder fn array len name
)))
1882 ;; LLVMCreateMemoryBufferWithContentsOfFile has OutMemBuf, OutMessage
1883 ;; LLVMCreateMemoryBufferWithSTDIN has OutMemBuf, OutMessage