public void Initiate() { ClassSkeletons = new Dictionary<string, LLVMTypeRef>(); Context = LLVM.ContextCreate(); Module = LLVM.ModuleCreateWithNameInContext("ADefaultModuleId", Context); Builder = LLVM.CreateBuilderInContext(Context); }
public ModCompiler(DetailLogger log, SymbolTableWalker walker, LLVMContextRef context, LLVMModuleRef module, LLVMBuilderRef builder) { this.log = log; this.walker = walker; this.context = context; this.module = module; this.builder = builder; }
public static LLVMValueRef BuildCall(LLVMBuilderRef param0, LLVMValueRef Fn, LLVMValueRef[] Args, string Name) { if (Args.Length == 0) { LLVMValueRef dummy; return BuildCall(param0, Fn, out dummy, 0, Name); } return BuildCall(param0, Fn, out Args[0], (uint)Args.Length, Name); }
public static LLVMValueRef BuildInvoke(LLVMBuilderRef param0, LLVMValueRef Fn, LLVMValueRef[] Args, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, string Name) { if (Args.Length == 0) { LLVMValueRef dummy; return BuildInvoke(param0, Fn, out dummy, 0, Then, Catch, Name); } return BuildInvoke(param0, Fn, out Args[0], (uint)Args.Length, Then, Catch, Name); }
public static LLVMValueRef BuildInBoundsGEP(LLVMBuilderRef B, LLVMValueRef Pointer, LLVMValueRef[] Indices, string Name) { if (Indices.Length == 0) { LLVMValueRef dummy; return BuildInBoundsGEP(B, Pointer, out dummy, 0, Name); } return BuildInBoundsGEP(B, Pointer, out Indices[0], (uint)Indices.Length, Name); }
public static extern void DisposeBuilder(LLVMBuilderRef @Builder);
public static extern LLVMValueRef BuildNUWNeg(LLVMBuilderRef @B, LLVMValueRef @V, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static LLVMValueRef BuildAggregateRet(LLVMBuilderRef param0, LLVMValueRef[] RetVals) { return BuildAggregateRet(param0, out RetVals[0], (uint)RetVals.Length); }
public static extern void SetInstDebugLocation(LLVMBuilderRef @Builder, LLVMValueRef @Inst);
public static extern void PositionBuilderBefore(LLVMBuilderRef @Builder, LLVMValueRef @Instr);
public static extern void PositionBuilder(LLVMBuilderRef @Builder, LLVMBasicBlockRef @Block, LLVMValueRef @Instr);
public static extern void InsertIntoBuilder(LLVMBuilderRef @Builder, LLVMValueRef @Instr);
public static extern LLVMValueRef BuildStructGEP(LLVMBuilderRef @B, LLVMValueRef @Pointer, uint @Idx, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern LLVMValueRef BuildStore(LLVMBuilderRef @param0, LLVMValueRef @Val, LLVMValueRef @Ptr);
public static extern LLVMValueRef BuildShuffleVector(LLVMBuilderRef @param0, LLVMValueRef @V1, LLVMValueRef @V2, LLVMValueRef @Mask, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern LLVMValueRef BuildSelect(LLVMBuilderRef @param0, LLVMValueRef @If, LLVMValueRef @Then, LLVMValueRef @Else, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern LLVMValueRef BuildRetVoid(LLVMBuilderRef @param0);
public static extern LLVMValueRef BuildRet(LLVMBuilderRef @param0, LLVMValueRef @V);
public static extern LLVMValueRef BuildResume(LLVMBuilderRef @B, LLVMValueRef @Exn);
public static extern LLVMValueRef GetCurrentDebugLocation(LLVMBuilderRef @Builder);
public static extern LLVMBasicBlockRef GetInsertBlock(LLVMBuilderRef @Builder);
public static extern LLVMValueRef BuildSwitch(LLVMBuilderRef @param0, LLVMValueRef @V, LLVMBasicBlockRef @Else, uint @NumCases);
public static extern void InsertIntoBuilderWithName(LLVMBuilderRef @Builder, LLVMValueRef @Instr, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern LLVMValueRef BuildUnreachable(LLVMBuilderRef @param0);
public static extern void PositionBuilderAtEnd(LLVMBuilderRef @Builder, LLVMBasicBlockRef @Block);
public static extern LLVMValueRef BuildVAArg(LLVMBuilderRef @param0, LLVMValueRef @List, LLVMTypeRef @Ty, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern void SetCurrentDebugLocation(LLVMBuilderRef @Builder, LLVMValueRef @L);
public static LLVMValueRef BuildAggregateRet(LLVMBuilderRef param0, LLVMValueRef[] RetVals) { return(BuildAggregateRet(param0, out RetVals[0], (uint)RetVals.Length)); }
private protected IRBuilderBase(LLVMContext C) { Context = C; Handle = LLVMBuilderRef.Create(C.Handle); }
public static extern void ClearInsertionPosition(LLVMBuilderRef @Builder);
public static extern LLVMValueRef BuildXor(LLVMBuilderRef @param0, LLVMValueRef @LHS, LLVMValueRef @RHS, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public static extern void SetCurrentDebugLocation2(LLVMBuilderRef @Bref, uint @Line, uint @Col, LLVMMetadataRef @Scope, LLVMMetadataRef @InlinedAt);
public static extern LLVMValueRef BuildZExtOrBitCast(LLVMBuilderRef @param0, LLVMValueRef @Val, LLVMTypeRef @DestTy, [MarshalAs(UnmanagedType.LPStr)] string @Name);
public IRBuilder(LLVMContextRef context) { this.instance = LLVM.CreateBuilderInContext(context); }