예제 #1
0
 public FloatComparisonBlock(
     LLVMCodeGenerator CodeGenerator,
     CodeBlock Left,
     CodeBlock Right,
     LLVMRealPredicate Predicate)
 {
     this.codeGen   = CodeGenerator;
     this.lhs       = Left;
     this.rhs       = Right;
     this.predicate = Predicate;
 }
예제 #2
0
 public static extern LLVMValueRef* BuildFCmp(LLVMBuilderRef* LLVMBuilderRef, LLVMRealPredicate Op, LLVMValueRef* LHS, LLVMValueRef* RHS, [In][MarshalAs(UnmanagedType.LPStr)] string Name);
예제 #3
0
 public static extern LLVMValueRef* ConstFCmp(LLVMRealPredicate Predicate, LLVMValueRef* LHSConstant, LLVMValueRef* RHSConstant);
예제 #4
0
 public static extern LLVMValueRef ConstFCmp(LLVMRealPredicate @Predicate, LLVMValueRef @LHSConstant, LLVMValueRef @RHSConstant);
예제 #5
0
 public static extern LLVMValueRef BuildFCmp(LLVMBuilderRef @param0, LLVMRealPredicate @Op, LLVMValueRef @LHS, LLVMValueRef @RHS, [MarshalAs(UnmanagedType.LPStr)] string @Name);
예제 #6
0
 public Value BuildFCmpAndPromote(Value lhs, LLVMRealPredicate predicate, Value rhs, TypeRef promoteType)
 {
     lhs = BuildFCmp(lhs, predicate, rhs);
     return new Value(Native.BuildUIToFP(m_builder, lhs.Handle, promoteType.Handle, "promotetmp")); 
 }
예제 #7
0
 public Value BuildFCmp(Value lhs, LLVMRealPredicate predicate, Value rhs, string varName = tmpvarname)
 {
     return new Value(Native.BuildFCmp(m_builder, predicate, lhs.Handle, rhs.Handle, varName));
 }
예제 #8
0
 public LLVMValueRef CreateFCmp(LLVMRealPredicate @Op, LLVMValueRef @LHS, LLVMValueRef @RHS, string @Name)
 {
     return LLVM.BuildFCmp(this.instance, @Op, @LHS, @RHS, @Name);
 }
예제 #9
0
 public static ConstantExpr GetFCmp(LLVMRealPredicate predicate, Constant lhs, Constant rhs) => LLVM.ConstFCmp(predicate, lhs.Unwrap(), rhs.Unwrap()).WrapAs <ConstantExpr>();
예제 #10
0
파일: IRBuilder.cs 프로젝트: mcwchitos/CC
 public Value BuildFCmpAndPromote(Value lhs, LLVMRealPredicate predicate, Value rhs, TypeRef promoteType)
 {
     lhs = BuildFCmp(lhs, predicate, rhs);
     return(new Value(Native.BuildUIToFP(m_builder, lhs.Handle, promoteType.Handle, "promotetmp")));
 }
예제 #11
0
파일: IRBuilder.cs 프로젝트: mcwchitos/CC
 public Value BuildFCmp(Value lhs, LLVMRealPredicate predicate, Value rhs, string varName = tmpvarname)
 {
     return(new Value(Native.BuildFCmp(m_builder, predicate, lhs.Handle, rhs.Handle, varName)));
 }
예제 #12
0
 public static RealPredicate Wrap(this LLVMRealPredicate handle) => (RealPredicate)(int)handle;
예제 #13
0
 private OperatorSymbol binary(Tag tag, TypeTag left, TypeTag right, TypeTag result, LLVMOpcode opcode,
                               LLVMRealPredicate realPredicate)
 {
     return(binary(tag, left, right, result, opcode, (int)realPredicate));
 }
예제 #14
0
 public Value BuildFCmp(Value lhs, LLVMRealPredicate predicate, Value rhs)
 {
     return BuildFCmp(lhs, predicate, rhs, "cmptmp");
 }
예제 #15
0
 public LLVMValueRef CreateFCmp(LLVMRealPredicate @Op, LLVMValueRef @LHS, LLVMValueRef @RHS, string @Name)
 {
     return(LLVM.BuildFCmp(this.instance, @Op, @LHS, @RHS, @Name));
 }