diff options
Diffstat (limited to 'bindings/ada/llvm/llvm-binding.ads')
-rw-r--r-- | bindings/ada/llvm/llvm-binding.ads | 1974 |
1 files changed, 1974 insertions, 0 deletions
diff --git a/bindings/ada/llvm/llvm-binding.ads b/bindings/ada/llvm/llvm-binding.ads new file mode 100644 index 0000000000..c0e48a1b5b --- /dev/null +++ b/bindings/ada/llvm/llvm-binding.ads @@ -0,0 +1,1974 @@ +-- This file is generated by SWIG. Do *not* modify by hand. +-- + +with Interfaces.C.Strings; + + +package llvm.Binding is + + procedure LLVMDisposeMessage + (Message : in Interfaces.C.Strings.chars_ptr); + + function LLVMContextCreate return llvm.LLVMContextRef; + + function LLVMGetGlobalContext return llvm.LLVMContextRef; + + procedure LLVMContextDispose (C : in llvm.LLVMContextRef); + + function LLVMModuleCreateWithName + (ModuleID : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMModuleRef; + + function LLVMModuleCreateWithNameInContext + (ModuleID : in Interfaces.C.Strings.chars_ptr; + C : in llvm.LLVMContextRef) + return llvm.LLVMModuleRef; + + procedure LLVMDisposeModule (M : in llvm.LLVMModuleRef); + + function LLVMGetDataLayout + (M : in llvm.LLVMModuleRef) + return Interfaces.C.Strings.chars_ptr; + + procedure LLVMSetDataLayout + (M : in llvm.LLVMModuleRef; + Triple : in Interfaces.C.Strings.chars_ptr); + + function LLVMGetTarget + (M : in llvm.LLVMModuleRef) + return Interfaces.C.Strings.chars_ptr; + + procedure LLVMSetTarget + (M : in llvm.LLVMModuleRef; + Triple : in Interfaces.C.Strings.chars_ptr); + + function LLVMAddTypeName + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr; + Ty : in llvm.LLVMTypeRef) + return Interfaces.C.int; + + procedure LLVMDeleteTypeName + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr); + + function LLVMGetTypeByName + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMTypeRef; + + procedure LLVMDumpModule (M : in llvm.LLVMModuleRef); + + function LLVMGetTypeKind + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMTypeKind; + + function LLVMInt1Type return llvm.LLVMTypeRef; + + function LLVMInt8Type return llvm.LLVMTypeRef; + + function LLVMInt16Type return llvm.LLVMTypeRef; + + function LLVMInt32Type return llvm.LLVMTypeRef; + + function LLVMInt64Type return llvm.LLVMTypeRef; + + function LLVMIntType + (NumBits : in Interfaces.C.unsigned) + return llvm.LLVMTypeRef; + + function LLVMGetIntTypeWidth + (IntegerTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + function LLVMFloatType return llvm.LLVMTypeRef; + + function LLVMDoubleType return llvm.LLVMTypeRef; + + function LLVMX86FP80Type return llvm.LLVMTypeRef; + + function LLVMFP128Type return llvm.LLVMTypeRef; + + function LLVMPPCFP128Type return llvm.LLVMTypeRef; + + function LLVMFunctionType + (ReturnType : in llvm.LLVMTypeRef; + ParamTypes : access llvm.LLVMTypeRef; + ParamCount : in Interfaces.C.unsigned; + IsVarArg : in Interfaces.C.int) + return llvm.LLVMTypeRef; + + function LLVMIsFunctionVarArg + (FunctionTy : in llvm.LLVMTypeRef) + return Interfaces.C.int; + + function LLVMGetReturnType + (FunctionTy : in llvm.LLVMTypeRef) + return llvm.LLVMTypeRef; + + function LLVMCountParamTypes + (FunctionTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + procedure LLVMGetParamTypes + (FunctionTy : in llvm.LLVMTypeRef; + Dest : access llvm.LLVMTypeRef); + + function LLVMStructType + (ElementTypes : access llvm.LLVMTypeRef; + ElementCount : in Interfaces.C.unsigned; + Packed : in Interfaces.C.int) + return llvm.LLVMTypeRef; + + function LLVMCountStructElementTypes + (StructTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + procedure LLVMGetStructElementTypes + (StructTy : in llvm.LLVMTypeRef; + Dest : access llvm.LLVMTypeRef); + + function LLVMIsPackedStruct + (StructTy : in llvm.LLVMTypeRef) + return Interfaces.C.int; + + function LLVMArrayType + (ElementType : in llvm.LLVMTypeRef; + ElementCount : in Interfaces.C.unsigned) + return llvm.LLVMTypeRef; + + function LLVMPointerType + (ElementType : in llvm.LLVMTypeRef; + AddressSpace : in Interfaces.C.unsigned) + return llvm.LLVMTypeRef; + + function LLVMVectorType + (ElementType : in llvm.LLVMTypeRef; + ElementCount : in Interfaces.C.unsigned) + return llvm.LLVMTypeRef; + + function LLVMGetElementType + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMTypeRef; + + function LLVMGetArrayLength + (ArrayTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + function LLVMGetPointerAddressSpace + (PointerTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + function LLVMGetVectorSize + (VectorTy : in llvm.LLVMTypeRef) + return Interfaces.C.unsigned; + + function LLVMVoidType return llvm.LLVMTypeRef; + + function LLVMLabelType return llvm.LLVMTypeRef; + + function LLVMOpaqueType return llvm.LLVMTypeRef; + + function LLVMCreateTypeHandle + (PotentiallyAbstractTy : in llvm.LLVMTypeRef) + return llvm.LLVMTypeHandleRef; + + procedure LLVMRefineType + (AbstractTy : in llvm.LLVMTypeRef; + ConcreteTy : in llvm.LLVMTypeRef); + + function LLVMResolveTypeHandle + (TypeHandle : in llvm.LLVMTypeHandleRef) + return llvm.LLVMTypeRef; + + procedure LLVMDisposeTypeHandle (TypeHandle : in llvm.LLVMTypeHandleRef); + + function LLVMTypeOf (Val : in llvm.LLVMValueRef) return llvm.LLVMTypeRef; + + function LLVMGetValueName + (Val : in llvm.LLVMValueRef) + return Interfaces.C.Strings.chars_ptr; + + procedure LLVMSetValueName + (Val : in llvm.LLVMValueRef; + Name : in Interfaces.C.Strings.chars_ptr); + + procedure LLVMDumpValue (Val : in llvm.LLVMValueRef); + + function LLVMIsAArgument + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsABasicBlock + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAInlineAsm + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUser + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstant + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantAggregateZero + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantArray + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantExpr + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantFP + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantInt + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantPointerNull + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantStruct + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAConstantVector + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAGlobalValue + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFunction + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAGlobalAlias + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAGlobalVariable + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUndefValue + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAInstruction + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsABinaryOperator + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsACallInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAIntrinsicInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgInfoIntrinsic + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgDeclareInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgFuncStartInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgRegionEndInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgRegionStartInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsADbgStopPointInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAEHSelectorInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAMemIntrinsic + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAMemCpyInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAMemMoveInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAMemSetInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsACmpInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFCmpInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAICmpInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAExtractElementInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAGetElementPtrInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAInsertElementInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAInsertValueInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAPHINode + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsASelectInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAShuffleVectorInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAStoreInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsATerminatorInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsABranchInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAInvokeInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAReturnInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsASwitchInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUnreachableInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUnwindInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUnaryInstruction + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAAllocationInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAAllocaInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAMallocInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsACastInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsABitCastInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFPExtInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFPToSIInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFPToUIInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFPTruncInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAIntToPtrInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAPtrToIntInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsASExtInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsASIToFPInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsATruncInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAUIToFPInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAZExtInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAExtractValueInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAFreeInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsALoadInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMIsAVAArgInst + (Val : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstNull + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstAllOnes + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMGetUndef + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMIsConstant + (Val : in llvm.LLVMValueRef) + return Interfaces.C.int; + + function LLVMIsNull (Val : in llvm.LLVMValueRef) return Interfaces.C.int; + + function LLVMIsUndef + (Val : in llvm.LLVMValueRef) + return Interfaces.C.int; + + function LLVMConstPointerNull + (Ty : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstInt + (IntTy : in llvm.LLVMTypeRef; + N : in Interfaces.C.Extensions.unsigned_long_long; + SignExtend : in Interfaces.C.int) + return llvm.LLVMValueRef; + + function LLVMConstReal + (RealTy : in llvm.LLVMTypeRef; + N : in Interfaces.C.double) + return llvm.LLVMValueRef; + + function LLVMConstRealOfString + (RealTy : in llvm.LLVMTypeRef; + Text : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMConstString + (Str : in Interfaces.C.Strings.chars_ptr; + Length : in Interfaces.C.unsigned; + DontNullTerminate : in Interfaces.C.int) + return llvm.LLVMValueRef; + + function LLVMConstArray + (ElementTy : in llvm.LLVMTypeRef; + ConstantVals : access llvm.LLVMValueRef; + Length : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMConstStruct + (ConstantVals : access llvm.LLVMValueRef; + Count : in Interfaces.C.unsigned; + packed : in Interfaces.C.int) + return llvm.LLVMValueRef; + + function LLVMConstVector + (ScalarConstantVals : access llvm.LLVMValueRef; + Size : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMSizeOf (Ty : in llvm.LLVMTypeRef) return llvm.LLVMValueRef; + + function LLVMConstNeg + (ConstantVal : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstNot + (ConstantVal : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstAdd + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstSub + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstMul + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstUDiv + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstSDiv + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstFDiv + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstURem + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstSRem + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstFRem + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstAnd + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstOr + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstXor + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstICmp + (Predicate : in llvm.LLVMIntPredicate; + LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstFCmp + (Predicate : in llvm.LLVMRealPredicate; + LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstShl + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstLShr + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstAShr + (LHSConstant : in llvm.LLVMValueRef; + RHSConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstGEP + (ConstantVal : in llvm.LLVMValueRef; + ConstantIndices : access llvm.LLVMValueRef; + NumIndices : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMConstTrunc + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstSExt + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstZExt + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstFPTrunc + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstFPExt + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstUIToFP + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstSIToFP + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstFPToUI + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstFPToSI + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstPtrToInt + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstIntToPtr + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstBitCast + (ConstantVal : in llvm.LLVMValueRef; + ToType : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMConstSelect + (ConstantCondition : in llvm.LLVMValueRef; + ConstantIfTrue : in llvm.LLVMValueRef; + ConstantIfFalse : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstExtractElement + (VectorConstant : in llvm.LLVMValueRef; + IndexConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstInsertElement + (VectorConstant : in llvm.LLVMValueRef; + ElementValueConstant : in llvm.LLVMValueRef; + IndexConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstShuffleVector + (VectorAConstant : in llvm.LLVMValueRef; + VectorBConstant : in llvm.LLVMValueRef; + MaskConstant : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMConstExtractValue + (AggConstant : in llvm.LLVMValueRef; + IdxList : access Interfaces.C.unsigned; + NumIdx : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMConstInsertValue + (AggConstant : in llvm.LLVMValueRef; + ElementValueConstant : in llvm.LLVMValueRef; + IdxList : access Interfaces.C.unsigned; + NumIdx : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMConstInlineAsm + (Ty : in llvm.LLVMTypeRef; + AsmString : in Interfaces.C.Strings.chars_ptr; + Constraints : in Interfaces.C.Strings.chars_ptr; + HasSideEffects : in Interfaces.C.int) + return llvm.LLVMValueRef; + + function LLVMGetGlobalParent + (Global : in llvm.LLVMValueRef) + return llvm.LLVMModuleRef; + + function LLVMIsDeclaration + (Global : in llvm.LLVMValueRef) + return Interfaces.C.int; + + function LLVMGetLinkage + (Global : in llvm.LLVMValueRef) + return llvm.LLVMLinkage; + + procedure LLVMSetLinkage + (Global : in llvm.LLVMValueRef; + Linkage : in llvm.LLVMLinkage); + + function LLVMGetSection + (Global : in llvm.LLVMValueRef) + return Interfaces.C.Strings.chars_ptr; + + procedure LLVMSetSection + (Global : in llvm.LLVMValueRef; + Section : in Interfaces.C.Strings.chars_ptr); + + function LLVMGetVisibility + (Global : in llvm.LLVMValueRef) + return llvm.LLVMVisibility; + + procedure LLVMSetVisibility + (Global : in llvm.LLVMValueRef; + Viz : in llvm.LLVMVisibility); + + function LLVMGetAlignment + (Global : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + procedure LLVMSetAlignment + (Global : in llvm.LLVMValueRef; + Bytes : in Interfaces.C.unsigned); + + function LLVMAddGlobal + (M : in llvm.LLVMModuleRef; + Ty : in llvm.LLVMTypeRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMGetNamedGlobal + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMGetFirstGlobal + (M : in llvm.LLVMModuleRef) + return llvm.LLVMValueRef; + + function LLVMGetLastGlobal + (M : in llvm.LLVMModuleRef) + return llvm.LLVMValueRef; + + function LLVMGetNextGlobal + (GlobalVar : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetPreviousGlobal + (GlobalVar : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + procedure LLVMDeleteGlobal (GlobalVar : in llvm.LLVMValueRef); + + function LLVMGetInitializer + (GlobalVar : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + procedure LLVMSetInitializer + (GlobalVar : in llvm.LLVMValueRef; + ConstantVal : in llvm.LLVMValueRef); + + function LLVMIsThreadLocal + (GlobalVar : in llvm.LLVMValueRef) + return Interfaces.C.int; + + procedure LLVMSetThreadLocal + (GlobalVar : in llvm.LLVMValueRef; + IsThreadLocal : in Interfaces.C.int); + + function LLVMIsGlobalConstant + (GlobalVar : in llvm.LLVMValueRef) + return Interfaces.C.int; + + procedure LLVMSetGlobalConstant + (GlobalVar : in llvm.LLVMValueRef; + IsConstant : in Interfaces.C.int); + + function LLVMAddAlias + (M : in llvm.LLVMModuleRef; + Ty : in llvm.LLVMTypeRef; + Aliasee : in llvm.LLVMValueRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMAddFunction + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr; + FunctionTy : in llvm.LLVMTypeRef) + return llvm.LLVMValueRef; + + function LLVMGetNamedFunction + (M : in llvm.LLVMModuleRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMGetFirstFunction + (M : in llvm.LLVMModuleRef) + return llvm.LLVMValueRef; + + function LLVMGetLastFunction + (M : in llvm.LLVMModuleRef) + return llvm.LLVMValueRef; + + function LLVMGetNextFunction + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetPreviousFunction + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + procedure LLVMDeleteFunction (Fn : in llvm.LLVMValueRef); + + function LLVMGetIntrinsicID + (Fn : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + function LLVMGetFunctionCallConv + (Fn : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + procedure LLVMSetFunctionCallConv + (Fn : in llvm.LLVMValueRef; + CC : in Interfaces.C.unsigned); + + function LLVMGetGC + (Fn : in llvm.LLVMValueRef) + return Interfaces.C.Strings.chars_ptr; + + procedure LLVMSetGC + (Fn : in llvm.LLVMValueRef; + Name : in Interfaces.C.Strings.chars_ptr); + + procedure LLVMAddFunctionAttr + (Fn : in llvm.LLVMValueRef; + PA : in llvm.LLVMAttribute); + + procedure LLVMRemoveFunctionAttr + (Fn : in llvm.LLVMValueRef; + PA : in llvm.LLVMAttribute); + + function LLVMCountParams + (Fn : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + procedure LLVMGetParams + (Fn : in llvm.LLVMValueRef; + Params : access llvm.LLVMValueRef); + + function LLVMGetParam + (Fn : in llvm.LLVMValueRef; + Index : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMGetParamParent + (Inst : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetFirstParam + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetLastParam + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetNextParam + (Arg : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetPreviousParam + (Arg : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + procedure LLVMAddAttribute + (Arg : in llvm.LLVMValueRef; + PA : in llvm.LLVMAttribute); + + procedure LLVMRemoveAttribute + (Arg : in llvm.LLVMValueRef; + PA : in llvm.LLVMAttribute); + + procedure LLVMSetParamAlignment + (Arg : in llvm.LLVMValueRef; + align : in Interfaces.C.unsigned); + + function LLVMBasicBlockAsValue + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMValueIsBasicBlock + (Val : in llvm.LLVMValueRef) + return Interfaces.C.int; + + function LLVMValueAsBasicBlock + (Val : in llvm.LLVMValueRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetBasicBlockParent + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMCountBasicBlocks + (Fn : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + procedure LLVMGetBasicBlocks + (Fn : in llvm.LLVMValueRef; + BasicBlocks : access llvm.LLVMBasicBlockRef); + + function LLVMGetFirstBasicBlock + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetLastBasicBlock + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetNextBasicBlock + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetPreviousBasicBlock + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetEntryBasicBlock + (Fn : in llvm.LLVMValueRef) + return llvm.LLVMBasicBlockRef; + + function LLVMAppendBasicBlock + (Fn : in llvm.LLVMValueRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMBasicBlockRef; + + function LLVMInsertBasicBlock + (InsertBeforeBB : in llvm.LLVMBasicBlockRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMBasicBlockRef; + + procedure LLVMDeleteBasicBlock (BB : in llvm.LLVMBasicBlockRef); + + function LLVMGetInstructionParent + (Inst : in llvm.LLVMValueRef) + return llvm.LLVMBasicBlockRef; + + function LLVMGetFirstInstruction + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMGetLastInstruction + (BB : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMGetNextInstruction + (Inst : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMGetPreviousInstruction + (Inst : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + procedure LLVMSetInstructionCallConv + (Instr : in llvm.LLVMValueRef; + CC : in Interfaces.C.unsigned); + + function LLVMGetInstructionCallConv + (Instr : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + procedure LLVMAddInstrAttribute + (Instr : in llvm.LLVMValueRef; + index : in Interfaces.C.unsigned; + arg_1 : in llvm.LLVMAttribute); + + procedure LLVMRemoveInstrAttribute + (Instr : in llvm.LLVMValueRef; + index : in Interfaces.C.unsigned; + arg_1 : in llvm.LLVMAttribute); + + procedure LLVMSetInstrParamAlignment + (Instr : in llvm.LLVMValueRef; + index : in Interfaces.C.unsigned; + align : in Interfaces.C.unsigned); + + function LLVMIsTailCall + (CallInst : in llvm.LLVMValueRef) + return Interfaces.C.int; + + procedure LLVMSetTailCall + (CallInst : in llvm.LLVMValueRef; + IsTailCall : in Interfaces.C.int); + + procedure LLVMAddIncoming + (PhiNode : in llvm.LLVMValueRef; + IncomingValues : access llvm.LLVMValueRef; + IncomingBlocks : access llvm.LLVMBasicBlockRef; + Count : in Interfaces.C.unsigned); + + function LLVMCountIncoming + (PhiNode : in llvm.LLVMValueRef) + return Interfaces.C.unsigned; + + function LLVMGetIncomingValue + (PhiNode : in llvm.LLVMValueRef; + Index : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMGetIncomingBlock + (PhiNode : in llvm.LLVMValueRef; + Index : in Interfaces.C.unsigned) + return llvm.LLVMBasicBlockRef; + + function LLVMCreateBuilder return llvm.LLVMBuilderRef; + + procedure LLVMPositionBuilder + (Builder : in llvm.LLVMBuilderRef; + Block : in llvm.LLVMBasicBlockRef; + Instr : in llvm.LLVMValueRef); + + procedure LLVMPositionBuilderBefore + (Builder : in llvm.LLVMBuilderRef; + Instr : in llvm.LLVMValueRef); + + procedure LLVMPositionBuilderAtEnd + (Builder : in llvm.LLVMBuilderRef; + Block : in llvm.LLVMBasicBlockRef); + + function LLVMGetInsertBlock + (Builder : in llvm.LLVMBuilderRef) + return llvm.LLVMBasicBlockRef; + + procedure LLVMClearInsertionPosition (Builder : in llvm.LLVMBuilderRef); + + procedure LLVMInsertIntoBuilder + (Builder : in llvm.LLVMBuilderRef; + Instr : in llvm.LLVMValueRef); + + procedure LLVMDisposeBuilder (Builder : in llvm.LLVMBuilderRef); + + function LLVMBuildRetVoid + (arg_1 : in llvm.LLVMBuilderRef) + return llvm.LLVMValueRef; + + function LLVMBuildRet + (arg_1 : in llvm.LLVMBuilderRef; + V : in llvm.LLVMValueRef) + return llvm.LLVMValueRef; + + function LLVMBuildBr + (arg_1 : in llvm.LLVMBuilderRef; + Dest : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMBuildCondBr + (arg_1 : in llvm.LLVMBuilderRef; + the_If : in llvm.LLVMValueRef; + the_Then : in llvm.LLVMBasicBlockRef; + the_Else : in llvm.LLVMBasicBlockRef) + return llvm.LLVMValueRef; + + function LLVMBuildSwitch + (arg_1 : in llvm.LLVMBuilderRef; + V : in llvm.LLVMValueRef; + the_Else : in llvm.LLVMBasicBlockRef; + NumCases : in Interfaces.C.unsigned) + return llvm.LLVMValueRef; + + function LLVMBuildInvoke + (arg_1 : in llvm.LLVMBuilderRef; + Fn : in llvm.LLVMValueRef; + Args : access llvm.LLVMValueRef; + NumArgs : in Interfaces.C.unsigned; + the_Then : in llvm.LLVMBasicBlockRef; + Catch : in llvm.LLVMBasicBlockRef; + Name : in Interfaces.C.Strings.chars_ptr) + return llvm.LLVMValueRef; + + function LLVMBuildUnwind + (arg_1 : in llvm.LLVMBuilderRef) + return llvm.LLVMValueRef; + + function LLVMBuildUnreachable + (arg_1 : in llvm.LLVMBuilderRef) + return llvm.LLVMValueRef; + + procedure LLVMAddCase + (Switch : in llvm.LLVMValueRef; + OnVal : in llvm.LLVMValueRef; + Dest : in llvm.LLVMBasicBlockRef); + + function LLVMBuildAdd |