public static LLVMValueRef ConstArray(LLVMTypeRef ElementTy, LLVMValueRef[] ConstantVals) { if (ConstantVals.Length == 0) { LLVMValueRef dummy; return ConstArray(ElementTy, out dummy, 0); } return ConstArray(ElementTy, out ConstantVals[0], (uint)ConstantVals.Length); }
public static extern LLVMTypeRef StructType(out LLVMTypeRef @ElementTypes, uint @ElementCount, LLVMBool @Packed);
public static extern ulong StoreSizeOfType(LLVMTargetDataRef @TD, LLVMTypeRef @Ty);
public static extern LLVMValueRef SizeOf(LLVMTypeRef @Ty);
public static extern uint PreferredAlignmentOfType(LLVMTargetDataRef @TD, LLVMTypeRef @Ty);
public static extern ulong OffsetOfElement(LLVMTargetDataRef @TD, LLVMTypeRef @StructTy, uint @Element);
public LLVMValueRef CreateVAArg(LLVMValueRef @List, LLVMTypeRef @Ty, string @Name) { return(LLVM.BuildVAArg(this.instance, @List, @Ty, @Name)); }
public static LLVMTypeRef[] GetParamTypes(LLVMTypeRef FunctionTy) { uint count = CountParamTypes(FunctionTy); var buffer = new LLVMTypeRef[count]; if (count > 0) { GetParamTypes(FunctionTy, out buffer[0]); } return buffer; }
public LLVMValueRef CreateFPCast(LLVMValueRef @Val, LLVMTypeRef @DestTy, string @Name) { return(LLVM.BuildFPCast(this.instance, @Val, @DestTy, @Name)); }
public LLVMValueRef CreatePhi(LLVMTypeRef @Ty, string @Name) { return(LLVM.BuildPhi(this.instance, @Ty, @Name)); }
public LLVMValueRef CreateIntToPtr(LLVMValueRef @Val, LLVMTypeRef @DestTy, string @Name) { return(LLVM.BuildIntToPtr(this.instance, @Val, @DestTy, @Name)); }
public LLVMValueRef CreateArrayAlloca(LLVMTypeRef @Ty, LLVMValueRef @Val, string @Name) { return(LLVM.BuildArrayAlloca(this.instance, @Ty, @Val, @Name)); }
public LLVMValueRef CreateLandingPad(LLVMTypeRef @Ty, LLVMValueRef @PersFn, uint @NumClauses, string @Name) { return(LLVM.BuildLandingPad(this.instance, @Ty, @PersFn, @NumClauses, @Name)); }
public static extern LLVMBool TypeIsSized(LLVMTypeRef @Ty);
internal FunctionType(LLVMTypeRef handle) : base(handle, LLVMTypeKind.LLVMFunctionTypeKind) { }
public static LLVMValueRef ConstNamedStruct(LLVMTypeRef StructTy, LLVMValueRef[] ConstantVals) { if (ConstantVals.Length == 0) { LLVMValueRef dummy; return ConstNamedStruct(StructTy, out dummy, 0); } return ConstNamedStruct(StructTy, out ConstantVals[0], (uint)ConstantVals.Length); }
internal static Type Create(LLVMTypeRef handle) => handle.Kind switch {
public static void StructSetBody(LLVMTypeRef StructTy, LLVMTypeRef[] ElementTypes, bool Packed) { if (ElementTypes.Length == 0) { LLVMTypeRef dummy; StructSetBody(StructTy, out dummy, 0, Packed); return; } StructSetBody(StructTy, out ElementTypes[0], (uint)ElementTypes.Length, Packed); }
public BuiltinType(string name, LLVMSharp.LLVMTypeRef llvmType) { this.Name = name; this.LLVMType = llvmType; }
internal Type GetOrCreate(LLVMTypeRef handle) => GetOrCreate <Type>(handle);
public static extern LLVMTypeRef GetReturnType(LLVMTypeRef @FunctionTy);
public static extern LLVMTypeRef PointerType(LLVMTypeRef @ElementType, uint @AddressSpace);
public static extern void GetStructElementTypes(LLVMTypeRef @StructTy, out LLVMTypeRef @Dest);
public static extern IntPtr PrintTypeToString(LLVMTypeRef @Val);
public static extern string GetStructName(LLVMTypeRef @Ty);
public static extern ulong SizeOfTypeInBits(LLVMTargetDataRef @TD, LLVMTypeRef @Ty);
public static extern LLVMContextRef GetTypeContext(LLVMTypeRef @Ty);
public static extern void StructSetBody(LLVMTypeRef @StructTy, out LLVMTypeRef @ElementTypes, uint @ElementCount, LLVMBool @Packed);
public static extern LLVMTypeKind GetTypeKind(LLVMTypeRef @Ty);
public static extern LLVMTypeRef StructTypeInContext(LLVMContextRef @C, out LLVMTypeRef @ElementTypes, uint @ElementCount, LLVMBool @Packed);
public static extern LLVMValueRef GetUndef(LLVMTypeRef @Ty);
public static extern LLVMTypeRef VectorType(LLVMTypeRef @ElementType, uint @ElementCount);
public static extern uint GetVectorSize(LLVMTypeRef @VectorTy);
public static LLVMTypeRef FunctionType(LLVMTypeRef ReturnType, LLVMTypeRef[] ParamTypes, bool IsVarArg) { if (ParamTypes.Length == 0) { LLVMTypeRef dummy; return FunctionType(ReturnType, out dummy, 0, IsVarArg); } return FunctionType(ReturnType, out ParamTypes[0], (uint)ParamTypes.Length, IsVarArg); }
public static extern LLVMBool IsFunctionVarArg(LLVMTypeRef @FunctionTy);
public static LLVMTypeRef[] GetStructElementTypes(LLVMTypeRef StructTy) { uint count = CountStructElementTypes(StructTy); var buffer = new LLVMTypeRef[count]; if (count > 0) { GetStructElementTypes(StructTy, out buffer[0]); } return buffer; }
public static extern LLVMBool IsOpaqueStruct(LLVMTypeRef @StructTy);
public static LLVMTypeRef StructTypeInContext(LLVMContextRef C, LLVMTypeRef[] ElementTypes, bool Packed) { if (ElementTypes.Length == 0) { LLVMTypeRef dummy; return StructTypeInContext(C, out dummy, 0, Packed); } return StructTypeInContext(C, out ElementTypes[0], (uint)ElementTypes.Length, Packed); }
public static extern LLVMBool IsPackedStruct(LLVMTypeRef @StructTy);
public LLVMTypeRef StructTypeInContext(LLVMTypeRef[] @ElementTypes, bool @Packed) { return LLVM.StructTypeInContext(this, @ElementTypes, @Packed); }
internal ArrayType(LLVMTypeRef handle) : base(handle, LLVMTypeKind.LLVMArrayTypeKind) { }