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
("LLVMAddFunctionAttr" LLVMAddFunctionAttr
) :void
1036 (cffi:defcfun
("LLVMGetFunctionAttr" LLVMGetFunctionAttr
) LLVMAttribute
1039 (cffi:defcfun
("LLVMRemoveFunctionAttr" LLVMRemoveFunctionAttr
) :void
1043 (cffi:defcfun
("LLVMCountParams" LLVMCountParams
) :unsigned-int
1046 (cffi:defcfun
("LLVMGetParams" %LLVMGetParams
) :void
1050 (cffi:defcfun
("LLVMGetParam" LLVMGetParam
) LLVMValueRef
1052 (Index :unsigned-int
))
1054 (cffi:defcfun
("LLVMGetParamParent" LLVMGetParamParent
) LLVMValueRef
1055 (Inst LLVMValueRef
))
1057 (cffi:defcfun
("LLVMGetFirstParam" LLVMGetFirstParam
) LLVMValueRef
1060 (cffi:defcfun
("LLVMGetLastParam" LLVMGetLastParam
) LLVMValueRef
1063 (cffi:defcfun
("LLVMGetNextParam" LLVMGetNextParam
) LLVMValueRef
1066 (cffi:defcfun
("LLVMGetPreviousParam" LLVMGetPreviousParam
) LLVMValueRef
1069 (cffi:defcfun
("LLVMAddAttribute" LLVMAddAttribute
) :void
1073 (cffi:defcfun
("LLVMRemoveAttribute" LLVMRemoveAttribute
) :void
1077 (cffi:defcfun
("LLVMGetAttribute" LLVMGetAttribute
) LLVMAttribute
1080 (cffi:defcfun
("LLVMSetParamAlignment" LLVMSetParamAlignment
) :void
1082 (align :unsigned-int
))
1084 (cffi:defcfun
("LLVMBasicBlockAsValue" LLVMBasicBlockAsValue
) LLVMValueRef
1085 (BB LLVMBasicBlockRef
))
1087 (cffi:defcfun
("LLVMValueIsBasicBlock" LLVMValueIsBasicBlock
) :boolean
1090 (cffi:defcfun
("LLVMValueAsBasicBlock" LLVMValueAsBasicBlock
) LLVMBasicBlockRef
1093 (cffi:defcfun
("LLVMGetBasicBlockParent" LLVMGetBasicBlockParent
) LLVMValueRef
1094 (BB LLVMBasicBlockRef
))
1096 (cffi:defcfun
("LLVMCountBasicBlocks" LLVMCountBasicBlocks
) :unsigned-int
1099 (cffi:defcfun
("LLVMGetBasicBlocks" LLVMGetBasicBlocks
) :void
1101 (BasicBlocks :pointer
))
1103 (cffi:defcfun
("LLVMGetFirstBasicBlock" LLVMGetFirstBasicBlock
) LLVMBasicBlockRef
1106 (cffi:defcfun
("LLVMGetLastBasicBlock" LLVMGetLastBasicBlock
) LLVMBasicBlockRef
1109 (cffi:defcfun
("LLVMGetNextBasicBlock" LLVMGetNextBasicBlock
) LLVMBasicBlockRef
1110 (BB LLVMBasicBlockRef
))
1112 (cffi:defcfun
("LLVMGetPreviousBasicBlock" LLVMGetPreviousBasicBlock
) LLVMBasicBlockRef
1113 (BB LLVMBasicBlockRef
))
1115 (cffi:defcfun
("LLVMGetEntryBasicBlock" LLVMGetEntryBasicBlock
) LLVMBasicBlockRef
1118 (cffi:defcfun
("LLVMAppendBasicBlockInContext" %LLVMAppendBasicBlockInContext
) LLVMBasicBlockRef
1123 (cffi:defcfun
("LLVMInsertBasicBlockInContext" %LLVMInsertBasicBlockInContext
) LLVMBasicBlockRef
1125 (BB LLVMBasicBlockRef
)
1128 (cffi:defcfun
("LLVMDeleteBasicBlock" LLVMDeleteBasicBlock
) :void
1129 (BB LLVMBasicBlockRef
))
1131 (cffi:defcfun
("LLVMGetInstructionParent" LLVMGetInstructionParent
) LLVMBasicBlockRef
1132 (Inst LLVMValueRef
))
1134 (cffi:defcfun
("LLVMGetFirstInstruction" LLVMGetFirstInstruction
) LLVMValueRef
1135 (BB LLVMBasicBlockRef
))
1137 (cffi:defcfun
("LLVMGetLastInstruction" LLVMGetLastInstruction
) LLVMValueRef
1138 (BB LLVMBasicBlockRef
))
1140 (cffi:defcfun
("LLVMGetNextInstruction" LLVMGetNextInstruction
) LLVMValueRef
1141 (Inst LLVMValueRef
))
1143 (cffi:defcfun
("LLVMGetPreviousInstruction" LLVMGetPreviousInstruction
) LLVMValueRef
1144 (Inst LLVMValueRef
))
1146 (cffi:defcfun
("LLVMSetInstructionCallConv" LLVMSetInstructionCallConv
) :void
1147 (Instr LLVMValueRef
)
1150 (cffi:defcfun
("LLVMGetInstructionCallConv" LLVMGetInstructionCallConv
) :unsigned-int
1151 (Instr LLVMValueRef
))
1153 (cffi:defcfun
("LLVMAddInstrAttribute" LLVMAddInstrAttribute
) :void
1154 (Instr LLVMValueRef
)
1155 (index :unsigned-int
)
1156 (arg2 LLVMAttribute
))
1158 (cffi:defcfun
("LLVMRemoveInstrAttribute" LLVMRemoveInstrAttribute
) :void
1159 (Instr LLVMValueRef
)
1160 (index :unsigned-int
)
1161 (arg2 LLVMAttribute
))
1163 (cffi:defcfun
("LLVMSetInstrParamAlignment" LLVMSetInstrParamAlignment
) :void
1164 (Instr LLVMValueRef
)
1165 (index :unsigned-int
)
1166 (align :unsigned-int
))
1168 (cffi:defcfun
("LLVMIsTailCall" LLVMIsTailCall
) :boolean
1169 (CallInst LLVMValueRef
))
1171 (cffi:defcfun
("LLVMSetTailCall" LLVMSetTailCall
) :void
1172 (CallInst LLVMValueRef
)
1173 (IsTailCall :boolean
))
1175 (cffi:defcfun
("LLVMAddIncoming" %LLVMAddIncoming
) :void
1176 (PhiNode LLVMValueRef
)
1177 (IncomingValues :pointer
)
1178 (IncomingBlocks :pointer
)
1179 (Count :unsigned-int
))
1181 (cffi:defcfun
("LLVMCountIncoming" LLVMCountIncoming
) :unsigned-int
1182 (PhiNode LLVMValueRef
))
1184 (cffi:defcfun
("LLVMGetIncomingValue" LLVMGetIncomingValue
) LLVMValueRef
1185 (PhiNode LLVMValueRef
)
1186 (Index :unsigned-int
))
1188 (cffi:defcfun
("LLVMGetIncomingBlock" LLVMGetIncomingBlock
) LLVMBasicBlockRef
1189 (PhiNode LLVMValueRef
)
1190 (Index :unsigned-int
))
1192 (cffi:defcfun
("LLVMCreateBuilderInContext" %LLVMCreateBuilderInContext
) LLVMBuilderRef
1195 (cffi:defcfun
("LLVMPositionBuilder" LLVMPositionBuilder
) :void
1196 (Builder LLVMBuilderRef
)
1197 (Block LLVMBasicBlockRef
)
1198 (Instr LLVMValueRef
))
1200 (cffi:defcfun
("LLVMPositionBuilderBefore" LLVMPositionBuilderBefore
) :void
1201 (Builder LLVMBuilderRef
)
1202 (Instr LLVMValueRef
))
1204 (cffi:defcfun
("LLVMPositionBuilderAtEnd" LLVMPositionBuilderAtEnd
) :void
1205 (Builder LLVMBuilderRef
)
1206 (Block LLVMBasicBlockRef
))
1208 (cffi:defcfun
("LLVMGetInsertBlock" LLVMGetInsertBlock
) LLVMBasicBlockRef
1209 (Builder LLVMBuilderRef
))
1211 (cffi:defcfun
("LLVMClearInsertionPosition" LLVMClearInsertionPosition
) :void
1212 (Builder LLVMBuilderRef
))
1214 (cffi:defcfun
("LLVMInsertIntoBuilder" LLVMInsertIntoBuilder
) :void
1215 (Builder LLVMBuilderRef
)
1216 (Instr LLVMValueRef
))
1218 (cffi:defcfun
("LLVMInsertIntoBuilderWithName" LLVMInsertIntoBuilderWithName
) :void
1219 (Builder LLVMBuilderRef
)
1220 (Instr LLVMValueRef
)
1223 (cffi:defcfun
("LLVMDisposeBuilder" LLVMDisposeBuilder
) :void
1224 (Builder LLVMBuilderRef
))
1226 (cffi:defcfun
("LLVMBuildRetVoid" LLVMBuildRetVoid
) LLVMValueRef
1227 (arg0 LLVMBuilderRef
))
1229 (cffi:defcfun
("LLVMBuildRet" LLVMBuildRet
) LLVMValueRef
1230 (arg0 LLVMBuilderRef
)
1233 (cffi:defcfun
("LLVMBuildAggregateRet" %LLVMBuildAggregateRet
) LLVMValueRef
1234 (arg0 LLVMBuilderRef
)
1238 (cffi:defcfun
("LLVMBuildBr" LLVMBuildBr
) LLVMValueRef
1239 (arg0 LLVMBuilderRef
)
1240 (Dest LLVMBasicBlockRef
))
1242 (cffi:defcfun
("LLVMBuildCondBr" LLVMBuildCondBr
) LLVMValueRef
1243 (arg0 LLVMBuilderRef
)
1245 (Then LLVMBasicBlockRef
)
1246 (Else LLVMBasicBlockRef
))
1248 (cffi:defcfun
("LLVMBuildSwitch" LLVMBuildSwitch
) LLVMValueRef
1249 (arg0 LLVMBuilderRef
)
1251 (Else LLVMBasicBlockRef
)
1252 (NumCases :unsigned-int
))
1254 (cffi:defcfun
("LLVMBuildInvoke" %LLVMBuildInvoke
) LLVMValueRef
1255 (arg0 LLVMBuilderRef
)
1258 (NumArgs :unsigned-int
)
1259 (Then LLVMBasicBlockRef
)
1260 (Catch LLVMBasicBlockRef
)
1263 (cffi:defcfun
("LLVMBuildUnwind" LLVMBuildUnwind
) LLVMValueRef
1264 (arg0 LLVMBuilderRef
))
1266 (cffi:defcfun
("LLVMBuildUnreachable" LLVMBuildUnreachable
) LLVMValueRef
1267 (arg0 LLVMBuilderRef
))
1269 (cffi:defcfun
("LLVMAddCase" LLVMAddCase
) :void
1270 (Switch LLVMValueRef
)
1271 (OnVal LLVMValueRef
)
1272 (Dest LLVMBasicBlockRef
))
1274 (cffi:defcfun
("LLVMBuildAdd" LLVMBuildAdd
) LLVMValueRef
1275 (arg0 LLVMBuilderRef
)
1280 (cffi:defcfun
("LLVMBuildNSWAdd" LLVMBuildNSWAdd
) LLVMValueRef
1281 (arg0 LLVMBuilderRef
)
1286 (cffi:defcfun
("LLVMBuildFAdd" LLVMBuildFAdd
) LLVMValueRef
1287 (arg0 LLVMBuilderRef
)
1292 (cffi:defcfun
("LLVMBuildSub" LLVMBuildSub
) LLVMValueRef
1293 (arg0 LLVMBuilderRef
)
1298 (cffi:defcfun
("LLVMBuildFSub" LLVMBuildFSub
) LLVMValueRef
1299 (arg0 LLVMBuilderRef
)
1304 (cffi:defcfun
("LLVMBuildMul" LLVMBuildMul
) LLVMValueRef
1305 (arg0 LLVMBuilderRef
)
1310 (cffi:defcfun
("LLVMBuildFMul" LLVMBuildFMul
) LLVMValueRef
1311 (arg0 LLVMBuilderRef
)
1316 (cffi:defcfun
("LLVMBuildUDiv" LLVMBuildUDiv
) LLVMValueRef
1317 (arg0 LLVMBuilderRef
)
1322 (cffi:defcfun
("LLVMBuildSDiv" LLVMBuildSDiv
) LLVMValueRef
1323 (arg0 LLVMBuilderRef
)
1328 (cffi:defcfun
("LLVMBuildExactSDiv" LLVMBuildExactSDiv
) LLVMValueRef
1329 (arg0 LLVMBuilderRef
)
1334 (cffi:defcfun
("LLVMBuildFDiv" LLVMBuildFDiv
) LLVMValueRef
1335 (arg0 LLVMBuilderRef
)
1340 (cffi:defcfun
("LLVMBuildURem" LLVMBuildURem
) LLVMValueRef
1341 (arg0 LLVMBuilderRef
)
1346 (cffi:defcfun
("LLVMBuildSRem" LLVMBuildSRem
) LLVMValueRef
1347 (arg0 LLVMBuilderRef
)
1352 (cffi:defcfun
("LLVMBuildFRem" LLVMBuildFRem
) LLVMValueRef
1353 (arg0 LLVMBuilderRef
)
1358 (cffi:defcfun
("LLVMBuildShl" LLVMBuildShl
) LLVMValueRef
1359 (arg0 LLVMBuilderRef
)
1364 (cffi:defcfun
("LLVMBuildLShr" LLVMBuildLShr
) LLVMValueRef
1365 (arg0 LLVMBuilderRef
)
1370 (cffi:defcfun
("LLVMBuildAShr" LLVMBuildAShr
) LLVMValueRef
1371 (arg0 LLVMBuilderRef
)
1376 (cffi:defcfun
("LLVMBuildAnd" LLVMBuildAnd
) LLVMValueRef
1377 (arg0 LLVMBuilderRef
)
1382 (cffi:defcfun
("LLVMBuildOr" LLVMBuildOr
) LLVMValueRef
1383 (arg0 LLVMBuilderRef
)
1388 (cffi:defcfun
("LLVMBuildXor" LLVMBuildXor
) LLVMValueRef
1389 (arg0 LLVMBuilderRef
)
1394 (cffi:defcfun
("LLVMBuildNeg" LLVMBuildNeg
) LLVMValueRef
1395 (arg0 LLVMBuilderRef
)
1399 (cffi:defcfun
("LLVMBuildFNeg" LLVMBuildFNeg
) LLVMValueRef
1400 (arg0 LLVMBuilderRef
)
1404 (cffi:defcfun
("LLVMBuildNot" LLVMBuildNot
) LLVMValueRef
1405 (arg0 LLVMBuilderRef
)
1409 (cffi:defcfun
("LLVMBuildMalloc" LLVMBuildMalloc
) LLVMValueRef
1410 (arg0 LLVMBuilderRef
)
1414 (cffi:defcfun
("LLVMBuildArrayMalloc" LLVMBuildArrayMalloc
) LLVMValueRef
1415 (arg0 LLVMBuilderRef
)
1420 (cffi:defcfun
("LLVMBuildAlloca" LLVMBuildAlloca
) LLVMValueRef
1421 (arg0 LLVMBuilderRef
)
1425 (cffi:defcfun
("LLVMBuildArrayAlloca" LLVMBuildArrayAlloca
) LLVMValueRef
1426 (arg0 LLVMBuilderRef
)
1431 (cffi:defcfun
("LLVMBuildFree" LLVMBuildFree
) LLVMValueRef
1432 (arg0 LLVMBuilderRef
)
1433 (PointerVal LLVMValueRef
))
1435 (cffi:defcfun
("LLVMBuildLoad" LLVMBuildLoad
) LLVMValueRef
1436 (arg0 LLVMBuilderRef
)
1437 (PointerVal LLVMValueRef
)
1440 (cffi:defcfun
("LLVMBuildStore" LLVMBuildStore
) LLVMValueRef
1441 (arg0 LLVMBuilderRef
)
1445 (cffi:defcfun
("LLVMBuildGEP" %LLVMBuildGEP
) LLVMValueRef
1447 (Pointer LLVMValueRef
)
1449 (NumIndices :unsigned-int
)
1452 (cffi:defcfun
("LLVMBuildInBoundsGEP" %LLVMBuildInBoundsGEP
) LLVMValueRef
1454 (Pointer LLVMValueRef
)
1456 (NumIndices :unsigned-int
)
1459 (cffi:defcfun
("LLVMBuildStructGEP" LLVMBuildStructGEP
) LLVMValueRef
1461 (Pointer LLVMValueRef
)
1465 (cffi:defcfun
("LLVMBuildGlobalString" LLVMBuildGlobalString
) LLVMValueRef
1470 (cffi:defcfun
("LLVMBuildGlobalStringPtr" LLVMBuildGlobalStringPtr
) LLVMValueRef
1475 (cffi:defcfun
("LLVMBuildTrunc" LLVMBuildTrunc
) LLVMValueRef
1476 (arg0 LLVMBuilderRef
)
1478 (DestTy LLVMTypeRef
)
1481 (cffi:defcfun
("LLVMBuildZExt" LLVMBuildZExt
) LLVMValueRef
1482 (arg0 LLVMBuilderRef
)
1484 (DestTy LLVMTypeRef
)
1487 (cffi:defcfun
("LLVMBuildSExt" LLVMBuildSExt
) LLVMValueRef
1488 (arg0 LLVMBuilderRef
)
1490 (DestTy LLVMTypeRef
)
1493 (cffi:defcfun
("LLVMBuildFPToUI" LLVMBuildFPToUI
) LLVMValueRef
1494 (arg0 LLVMBuilderRef
)
1496 (DestTy LLVMTypeRef
)
1499 (cffi:defcfun
("LLVMBuildFPToSI" LLVMBuildFPToSI
) LLVMValueRef
1500 (arg0 LLVMBuilderRef
)
1502 (DestTy LLVMTypeRef
)
1505 (cffi:defcfun
("LLVMBuildUIToFP" LLVMBuildUIToFP
) LLVMValueRef
1506 (arg0 LLVMBuilderRef
)
1508 (DestTy LLVMTypeRef
)
1511 (cffi:defcfun
("LLVMBuildSIToFP" LLVMBuildSIToFP
) LLVMValueRef
1512 (arg0 LLVMBuilderRef
)
1514 (DestTy LLVMTypeRef
)
1517 (cffi:defcfun
("LLVMBuildFPTrunc" LLVMBuildFPTrunc
) LLVMValueRef
1518 (arg0 LLVMBuilderRef
)
1520 (DestTy LLVMTypeRef
)
1523 (cffi:defcfun
("LLVMBuildFPExt" LLVMBuildFPExt
) LLVMValueRef
1524 (arg0 LLVMBuilderRef
)
1526 (DestTy LLVMTypeRef
)
1529 (cffi:defcfun
("LLVMBuildPtrToInt" LLVMBuildPtrToInt
) LLVMValueRef
1530 (arg0 LLVMBuilderRef
)
1532 (DestTy LLVMTypeRef
)
1535 (cffi:defcfun
("LLVMBuildIntToPtr" LLVMBuildIntToPtr
) LLVMValueRef
1536 (arg0 LLVMBuilderRef
)
1538 (DestTy LLVMTypeRef
)
1541 (cffi:defcfun
("LLVMBuildBitCast" LLVMBuildBitCast
) LLVMValueRef
1542 (arg0 LLVMBuilderRef
)
1544 (DestTy LLVMTypeRef
)
1547 (cffi:defcfun
("LLVMBuildZExtOrBitCast" LLVMBuildZExtOrBitCast
) LLVMValueRef
1548 (arg0 LLVMBuilderRef
)
1550 (DestTy LLVMTypeRef
)
1553 (cffi:defcfun
("LLVMBuildSExtOrBitCast" LLVMBuildSExtOrBitCast
) LLVMValueRef
1554 (arg0 LLVMBuilderRef
)
1556 (DestTy LLVMTypeRef
)
1559 (cffi:defcfun
("LLVMBuildTruncOrBitCast" LLVMBuildTruncOrBitCast
) LLVMValueRef
1560 (arg0 LLVMBuilderRef
)
1562 (DestTy LLVMTypeRef
)
1565 (cffi:defcfun
("LLVMBuildPointerCast" LLVMBuildPointerCast
) LLVMValueRef
1566 (arg0 LLVMBuilderRef
)
1568 (DestTy LLVMTypeRef
)
1571 (cffi:defcfun
("LLVMBuildIntCast" LLVMBuildIntCast
) LLVMValueRef
1572 (arg0 LLVMBuilderRef
)
1574 (DestTy LLVMTypeRef
)
1577 (cffi:defcfun
("LLVMBuildFPCast" LLVMBuildFPCast
) LLVMValueRef
1578 (arg0 LLVMBuilderRef
)
1580 (DestTy LLVMTypeRef
)
1583 (cffi:defcfun
("LLVMBuildICmp" LLVMBuildICmp
) LLVMValueRef
1584 (arg0 LLVMBuilderRef
)
1585 (Op LLVMIntPredicate
)
1590 (cffi:defcfun
("LLVMBuildFCmp" LLVMBuildFCmp
) LLVMValueRef
1591 (arg0 LLVMBuilderRef
)
1592 (Op LLVMRealPredicate
)
1597 (cffi:defcfun
("LLVMBuildPhi" LLVMBuildPhi
) LLVMValueRef
1598 (arg0 LLVMBuilderRef
)
1602 (cffi:defcfun
("LLVMBuildCall" %LLVMBuildCall
) LLVMValueRef
1603 (arg0 LLVMBuilderRef
)
1606 (NumArgs :unsigned-int
)
1609 (cffi:defcfun
("LLVMBuildSelect" LLVMBuildSelect
) LLVMValueRef
1610 (arg0 LLVMBuilderRef
)
1616 (cffi:defcfun
("LLVMBuildVAArg" LLVMBuildVAArg
) LLVMValueRef
1617 (arg0 LLVMBuilderRef
)
1622 (cffi:defcfun
("LLVMBuildExtractElement" LLVMBuildExtractElement
) LLVMValueRef
1623 (arg0 LLVMBuilderRef
)
1624 (VecVal LLVMValueRef
)
1625 (Index LLVMValueRef
)
1628 (cffi:defcfun
("LLVMBuildInsertElement" LLVMBuildInsertElement
) LLVMValueRef
1629 (arg0 LLVMBuilderRef
)
1630 (VecVal LLVMValueRef
)
1631 (EltVal LLVMValueRef
)
1632 (Index LLVMValueRef
)
1635 (cffi:defcfun
("LLVMBuildShuffleVector" LLVMBuildShuffleVector
) LLVMValueRef
1636 (arg0 LLVMBuilderRef
)
1642 (cffi:defcfun
("LLVMBuildExtractValue" LLVMBuildExtractValue
) LLVMValueRef
1643 (arg0 LLVMBuilderRef
)
1644 (AggVal LLVMValueRef
)
1645 (Index :unsigned-int
)
1648 (cffi:defcfun
("LLVMBuildInsertValue" LLVMBuildInsertValue
) LLVMValueRef
1649 (arg0 LLVMBuilderRef
)
1650 (AggVal LLVMValueRef
)
1651 (EltVal LLVMValueRef
)
1652 (Index :unsigned-int
)
1655 (cffi:defcfun
("LLVMBuildIsNull" LLVMBuildIsNull
) LLVMValueRef
1656 (arg0 LLVMBuilderRef
)
1660 (cffi:defcfun
("LLVMBuildIsNotNull" LLVMBuildIsNotNull
) LLVMValueRef
1661 (arg0 LLVMBuilderRef
)
1665 (cffi:defcfun
("LLVMBuildPtrDiff" LLVMBuildPtrDiff
) LLVMValueRef
1666 (arg0 LLVMBuilderRef
)
1671 (cffi:defcfun
("LLVMCreateModuleProviderForExistingModule" LLVMCreateModuleProviderForExistingModule
) LLVMModuleProviderRef
1674 (cffi:defcfun
("LLVMDisposeModuleProvider" LLVMDisposeModuleProvider
) :void
1675 (MP LLVMModuleProviderRef
))
1677 (cffi:defcfun
("LLVMCreateMemoryBufferWithContentsOfFile" LLVMCreateMemoryBufferWithContentsOfFile
) :boolean
1679 (OutMemBuf :pointer
)
1680 (OutMessage :pointer
))
1682 (cffi:defcfun
("LLVMCreateMemoryBufferWithSTDIN" LLVMCreateMemoryBufferWithSTDIN
) :boolean
1683 (OutMemBuf :pointer
)
1684 (OutMessage :pointer
))
1686 (cffi:defcfun
("LLVMDisposeMemoryBuffer" LLVMDisposeMemoryBuffer
) :void
1687 (MemBuf LLVMMemoryBufferRef
))
1689 (cffi:defcfun
("LLVMCreatePassManager" LLVMCreatePassManager
) LLVMPassManagerRef
)
1691 (cffi:defcfun
("LLVMCreateFunctionPassManager" LLVMCreateFunctionPassManager
) LLVMPassManagerRef
1692 (MP LLVMModuleProviderRef
))
1694 (cffi:defcfun
("LLVMRunPassManager" LLVMRunPassManager
) :boolean
1695 (PM LLVMPassManagerRef
)
1698 (cffi:defcfun
("LLVMInitializeFunctionPassManager" LLVMInitializeFunctionPassManager
) :boolean
1699 (FPM LLVMPassManagerRef
))
1701 (cffi:defcfun
("LLVMRunFunctionPassManager" LLVMRunFunctionPassManager
) :boolean
1702 (FPM LLVMPassManagerRef
)
1705 (cffi:defcfun
("LLVMFinalizeFunctionPassManager" LLVMFinalizeFunctionPassManager
) :boolean
1706 (FPM LLVMPassManagerRef
))
1708 (cffi:defcfun
("LLVMDisposePassManager" LLVMDisposePassManager
) :void
1709 (PM LLVMPassManagerRef
))
1711 ;;; The wrappers to expose the "InContext" versions of the functions
1712 ;;; in a more lispy way.
1713 (declaim (special *llvm-context
*))
1715 (defun LLVMModuleCreateWithName (ModuleId &optional
(context *llvm-context
*))
1716 (%LLVMModuleCreateWithNameInContext ModuleId context
))
1718 (defun LLVMInt1Type (&optional
(context *llvm-context
*))
1719 (%LLVMInt1TypeInContext context
))
1721 (defun LLVMInt8Type (&optional
(context *llvm-context
*))
1722 (%LLVMInt8TypeInContext context
))
1724 (defun LLVMInt16Type (&optional
(context *llvm-context
*))
1725 (%LLVMInt16TypeInContext context
))
1727 (defun LLVMInt32Type (&optional
(context *llvm-context
*))
1728 (%LLVMInt32TypeInContext context
))
1730 (defun LLVMInt64Type (&optional
(context *llvm-context
*))
1731 (%LLVMInt64TypeInContext context
))
1733 (defun LLVMIntType (NumBits &optional
(context *llvm-context
*))
1734 (%LLVMIntTypeInContext context NumBits
))
1736 (defun LLVMFloatType (&optional
(context *llvm-context
*))
1737 (%LLVMFloatTypeInContext context
))
1739 (defun LLVMDoubleType (&optional
(context *llvm-context
*))
1740 (%LLVMDoubleTypeInContext context
))
1742 (defun LLVMX86FP80Type (&optional
(context *llvm-context
*))
1743 (%LLVMX86FP80TypeInContext context
))
1745 (defun LLVMFP128Type (&optional
(context *llvm-context
*))
1746 (%LLVMFP128TypeInContext context
))
1748 (defun LLVMPPCFP128Type (&optional
(context *llvm-context
*))
1749 (%LLVMPPCFP128TypeInContext context
))
1751 ;; LLVMStructTypeInContext handled below.
1753 (defun LLVMVoidType (&optional
(context *llvm-context
*))
1754 (%LLVMVoidTypeInContext context
))
1756 (defun LLVMLabelType (&optional
(context *llvm-context
*))
1757 (%LLVMLabelTypeInContext context
))
1759 (defun LLVMOpaqueType (&optional
(context *llvm-context
*))
1760 (%LLVMOpaqueTypeInContext context
))
1762 ;; LLVMConstStringInContext handled below
1763 ;; LLVMConstStructInContext handled below
1765 (defun LLVMAppendBasicBlock (Fn Name
&optional
(context *llvm-context
*))
1766 (%LLVMAppendBasicBlockInContext context Fn Name
))
1768 (defun LLVMInsertBasicBlock (BB Name
&optional
(context *llvm-context
*))
1769 (%LLVMInsertBasicBlockInContext context BB Name
))
1771 (defun LLVMCreateBuilder (&optional
(context *llvm-context
*))
1772 (%LLVMCreateBuilderInContext context
))
1775 ;; More complex wrappers for dealing with pointers.
1777 (defmacro with-array-and-length
((array len list
) &body body
)
1778 (let ((list-v (gensym "list")))
1779 `(let* ((,list-v
,list
)
1780 (,len
(length ,list-v
)))
1781 (cffi:with-foreign-object
(,array
:pointer
,len
)
1782 (loop for l in
,list-v
1785 (setf (cffi:mem-aref
,array
:pointer i
) l
))
1788 (defun LLVMFunctionType (ret params is-var-arg
)
1789 "Combines the C API's ParamTypes array and ParamCount arguments into
1790 a single list PARAMS."
1791 (with-array-and-length (array len params
)
1792 (%LLVMFunctionType ret array len is-var-arg
)))
1794 (defun LLVMGetParamTypes (function-type)
1795 "Returns a list of param types rather than filling out a Dest pointer argument"
1796 (let ((len (LLVMCountParamTypes function-type
)))
1797 (cffi:with-foreign-object
(array :pointer len
)
1798 (%LLVMGetParamTypes function-type array
)
1799 (loop for i from
0 below len
1801 (cffi:mem-aref array
:pointer i
)))))
1803 (defun LLVMStructType (element-types is-packed
&optional
(context *llvm-context
*))
1804 (with-array-and-length (array len element-types
)
1805 (%LLVMStructTypeInContext context array len is-packed
)))
1807 (defun LLVMGetStructElementTypes (struct-type)
1808 "Returns a list of param types rather than filling out a Dest pointer argument"
1809 (let ((len (LLVMCountStructElementTypes struct-type
)))
1810 (cffi:with-foreign-object
(array :pointer len
)
1811 (%LLVMGetStructElementTypes struct-type array
)
1812 (loop for i from
0 below len
1814 (cffi:mem-aref array
:pointer i
)))))
1816 (defun LLVMConstString (str dont-null-terminate
&optional
(context *llvm-context
*))
1817 (cffi:with-foreign-string
((foreign-string num-bytes
) str
)
1818 (%LLVMConstStringInContext context foreign-string num-bytes dont-null-terminate
)))
1820 (defun LLVMConstStruct (vals packed-p
&optional
(context *llvm-context
*))
1821 (with-array-and-length (array len vals
)
1822 (%LLVMConstStructInContext context array len packed-p
)))
1824 (defun LLVMConstArray (type vals
)
1825 (with-array-and-length (array len vals
)
1826 (%LLVMConstArray type array len
)))
1828 (defun LLVMConstVector (vals)
1829 (with-array-and-length (array len vals
)
1830 (%LLVMConstVector array len
)))
1832 (defun LLVMConstGEP (ptr indices
)
1833 (with-array-and-length (array len indices
)
1834 (%LLVMConstGEP ptr array len
)))
1836 (defun LLVMConstInBoundsGEP (ptr indices
)
1837 (with-array-and-length (array len indices
)
1838 (%LLVMConstInBoundsGEP ptr array len
)))
1840 (defun LLVMConstExtractValue (AggConstant indices
)
1841 (with-array-and-length (array len indices
)
1842 (%LLVMConstExtractValue AggConstant array len
)))
1844 (defun LLVMConstInsertValue (AggConstant ValConstant indices
)
1845 (with-array-and-length (array len indices
)
1846 (%LLVMConstInsertValue AggConstant ValConstant array len
)))
1848 (defun LLVMGetParams (fn)
1849 "Returns a list of params rather than filling out a Dest pointer argument."
1850 (let ((len (LLVMCountParams fn
)))
1851 (cffi:with-foreign-object
(array :pointer len
)
1852 (%LLVMGetParams fn array
)
1853 (loop for i from
0 below len
1855 (cffi:mem-aref array
:pointer i
)))))
1857 (defun LLVMAddIncoming (phi-node incoming-val incoming-block
)
1858 "Unlike the C API (but like the C++ API...), takes only a single
1859 incoming val and incoming block. Call multiple times if you want to
1860 add multiple incoming values."
1861 (cffi:with-foreign-objects
((incoming-vals :pointer
)
1862 (incoming-blocks :pointer
))
1863 (setf (cffi:mem-aref incoming-vals
:pointer
0) incoming-val
)
1864 (setf (cffi:mem-aref incoming-blocks
:pointer
0) incoming-block
)
1865 (%LLVMAddIncoming phi-node incoming-vals incoming-blocks
1)))
1867 (defun LLVMBuildAggregateRet (builder vals
)
1868 (with-array-and-length (array len vals
)
1869 (%LLVMBuildAggregateRet builder array len
)))
1871 (defun LLVMBuildInvoke (builder fn args then catch name
)
1872 (with-array-and-length (array len args
)
1873 (%LLVMBuildInvoke builder fn array len then catch name
)))
1875 (defun LLVMBuildGEP (builder ptr indices name
)
1876 (with-array-and-length (array len indices
)
1877 (%LLVMBuildGEP builder ptr array len name
)))
1879 (defun LLVMBuildInBoundsGEP (builder ptr indices name
)
1880 (with-array-and-length (array len indices
)
1881 (%LLVMBuildInBoundsGEP builder ptr array len name
)))
1883 (defun LLVMBuildCall (builder fn args name
)
1884 "Combines the C API's Args array and NumArgs arguments into a single
1886 (with-array-and-length (array len args
)
1887 (%LLVMBuildCall builder fn array len name
)))
1890 ;; LLVMCreateMemoryBufferWithContentsOfFile has OutMemBuf, OutMessage
1891 ;; LLVMCreateMemoryBufferWithSTDIN has OutMemBuf, OutMessage