Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Builder

49   CGBuilderTy &Builder;
54 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) {
306 return Builder.CreateStructGEP(addr, 0, offset, addr.getName() + ".realp");
313 return Builder.CreateStructGEP(addr, 1, offset, addr.getName() + ".imagp");
331 Real = Builder.CreateLoad(RealP, isVolatile, SrcPtr.getName() + ".real");
336 Imag = Builder.CreateLoad(ImagP, isVolatile, SrcPtr.getName() + ".imag");
354 Builder.CreateStore(Val.first, RealPtr, lvalue.isVolatileQualified());
355 Builder.CreateStore(Val.second, ImagPtr, lvalue.isVolatileQualified());
440 V = Builder.CreateElementBitCast(V, CGF.ConvertType(DestTy));
511 ResR = Builder.CreateFNeg(Op.first, "neg.r");
512 ResI = Builder.CreateFNeg(Op.second, "neg.i");
514 ResR = Builder.CreateNeg(Op.first, "neg.r");
515 ResI = Builder.CreateNeg(Op.second, "neg.i");
527 ResI = Builder.CreateFNeg(Op.second, "conj.i");
529 ResI = Builder.CreateNeg(Op.second, "conj.i");
538 ResR = Builder.CreateFAdd(Op.LHS.first, Op.RHS.first, "add.r");
540 ResI = Builder.CreateFAdd(Op.LHS.second, Op.RHS.second, "add.i");
545 ResR = Builder.CreateAdd(Op.LHS.first, Op.RHS.first, "add.r");
548 ResI = Builder.CreateAdd(Op.LHS.second, Op.RHS.second, "add.i");
556 ResR = Builder.CreateFSub(Op.LHS.first, Op.RHS.first, "sub.r");
558 ResI = Builder.CreateFSub(Op.LHS.second, Op.RHS.second, "sub.i");
561 : Builder.CreateFNeg(Op.RHS.second, "sub.i");
564 ResR = Builder.CreateSub(Op.LHS.first, Op.RHS.first, "sub.r");
567 ResI = Builder.CreateSub(Op.LHS.second, Op.RHS.second, "sub.i");
658 Value *AC = Builder.CreateFMul(Op.LHS.first, Op.RHS.first, "mul_ac");
659 Value *BD = Builder.CreateFMul(Op.LHS.second, Op.RHS.second, "mul_bd");
660 Value *AD = Builder.CreateFMul(Op.LHS.first, Op.RHS.second, "mul_ad");
661 Value *BC = Builder.CreateFMul(Op.LHS.second, Op.RHS.first, "mul_bc");
665 ResR = Builder.CreateFSub(AC, BD, "mul_r");
666 ResI = Builder.CreateFAdd(AD, BC, "mul_i");
670 Value *IsRNaN = Builder.CreateFCmpUNO(ResR, ResR, "isnan_cmp");
673 llvm::Instruction *Branch = Builder.CreateCondBr(IsRNaN, INaNBB, ContBB);
683 Value *IsINaN = Builder.CreateFCmpUNO(ResI, ResI, "isnan_cmp");
685 Branch = Builder.CreateCondBr(IsINaN, LibCallBB, ContBB);
693 Builder.CreateBr(ContBB);
698 llvm::PHINode *RealPHI = Builder.CreatePHI(ResR->getType(), 3, "real_mul_phi");
702 llvm::PHINode *ImagPHI = Builder.CreatePHI(ResI->getType(), 3, "imag_mul_phi");
714 ResR = Builder.CreateFMul(Op.LHS.first, Op.RHS.first, "mul.rl");
717 ? Builder.CreateFMul(Op.LHS.second, Op.RHS.first, "mul.il")
718 : Builder.CreateFMul(Op.LHS.first, Op.RHS.second, "mul.ir");
722 Value *ResRl = Builder.CreateMul(Op.LHS.first, Op.RHS.first, "mul.rl");
723 Value *ResRr = Builder.CreateMul(Op.LHS.second, Op.RHS.second, "mul.rr");
724 ResR = Builder.CreateSub(ResRl, ResRr, "mul.r");
726 Value *ResIl = Builder.CreateMul(Op.LHS.second, Op.RHS.first, "mul.il");
727 Value *ResIr = Builder.CreateMul(Op.LHS.first, Op.RHS.second, "mul.ir");
728 ResI = Builder.CreateAdd(ResIl, ResIr, "mul.i");
773 DSTr = Builder.CreateFDiv(LHSr, RHSr);
774 DSTi = Builder.CreateFDiv(LHSi, RHSr);
779 llvm::Value *Tmp1 = Builder.CreateMul(LHSr, RHSr); // a*c
780 llvm::Value *Tmp2 = Builder.CreateMul(LHSi, RHSi); // b*d
781 llvm::Value *Tmp3 = Builder.CreateAdd(Tmp1, Tmp2); // ac+bd
783 llvm::Value *Tmp4 = Builder.CreateMul(RHSr, RHSr); // c*c
784 llvm::Value *Tmp5 = Builder.CreateMul(RHSi, RHSi); // d*d
785 llvm::Value *Tmp6 = Builder.CreateAdd(Tmp4, Tmp5); // cc+dd
787 llvm::Value *Tmp7 = Builder.CreateMul(LHSi, RHSr); // b*c
788 llvm::Value *Tmp8 = Builder.CreateMul(LHSr, RHSi); // a*d
789 llvm::Value *Tmp9 = Builder.CreateSub(Tmp7, Tmp8); // bc-ad
792 DSTr = Builder.CreateUDiv(Tmp3, Tmp6);
793 DSTi = Builder.CreateUDiv(Tmp9, Tmp6);
795 DSTr = Builder.CreateSDiv(Tmp3, Tmp6);
796 DSTi = Builder.CreateSDiv(Tmp9, Tmp6);
969 LHSBlock = Builder.GetInsertBlock();
976 RHSBlock = Builder.GetInsertBlock();
981 llvm::PHINode *RealPN = Builder.CreatePHI(LHS.first->getType(), 2, "cond.r");
986 llvm::PHINode *ImagPN = Builder.CreatePHI(LHS.first->getType(), 2, "cond.i");