Lines Matching full:builder
34 CGBuilderTy &Builder;
40 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) {
296 llvm::Value *RealP = Builder.CreateStructGEP(SrcPtr, 0,
298 Real = Builder.CreateLoad(RealP, isVolatile, SrcPtr->getName() + ".real");
302 llvm::Value *ImagP = Builder.CreateStructGEP(SrcPtr, 1,
304 Imag = Builder.CreateLoad(ImagP, isVolatile, SrcPtr->getName() + ".imag");
313 llvm::Value *RealPtr = Builder.CreateStructGEP(Ptr, 0, "real");
314 llvm::Value *ImagPtr = Builder.CreateStructGEP(Ptr, 1, "imag");
316 Builder.CreateStore(Val.first, RealPtr, isVolatile);
317 Builder.CreateStore(Val.second, ImagPtr, isVolatile);
385 V = Builder.CreateBitCast(V,
461 ResR = Builder.CreateFNeg(Op.first, "neg.r");
462 ResI = Builder.CreateFNeg(Op.second, "neg.i");
464 ResR = Builder.CreateNeg(Op.first, "neg.r");
465 ResI = Builder.CreateNeg(Op.second, "neg.i");
477 ResI = Builder.CreateFNeg(Op.second, "conj.i");
479 ResI = Builder.CreateNeg(Op.second, "conj.i");
488 ResR = Builder.CreateFAdd(Op.LHS.first, Op.RHS.first, "add.r");
489 ResI = Builder.CreateFAdd(Op.LHS.second, Op.RHS.second, "add.i");
491 ResR = Builder.CreateAdd(Op.LHS.first, Op.RHS.first, "add.r");
492 ResI = Builder.CreateAdd(Op.LHS.second, Op.RHS.second, "add.i");
500 ResR = Builder.CreateFSub(Op.LHS.first, Op.RHS.first, "sub.r");
501 ResI = Builder.CreateFSub(Op.LHS.second, Op.RHS.second, "sub.i");
503 ResR = Builder.CreateSub(Op.LHS.first, Op.RHS.first, "sub.r");
504 ResI = Builder.CreateSub(Op.LHS.second, Op.RHS.second, "sub.i");
515 Value *ResRl = Builder.CreateFMul(Op.LHS.first, Op.RHS.first, "mul.rl");
516 Value *ResRr = Builder.CreateFMul(Op.LHS.second, Op.RHS.second,"mul.rr");
517 ResR = Builder.CreateFSub(ResRl, ResRr, "mul.r");
519 Value *ResIl = Builder.CreateFMul(Op.LHS.second, Op.RHS.first, "mul.il");
520 Value *ResIr = Builder.CreateFMul(Op.LHS.first, Op.RHS.second, "mul.ir");
521 ResI = Builder.CreateFAdd(ResIl, ResIr, "mul.i");
523 Value *ResRl = Builder.CreateMul(Op.LHS.first, Op.RHS.first, "mul.rl");
524 Value *ResRr = Builder.CreateMul(Op.LHS.second, Op.RHS.second,"mul.rr");
525 ResR = Builder.CreateSub(ResRl, ResRr, "mul.r");
527 Value *ResIl = Builder.CreateMul(Op.LHS.second, Op.RHS.first, "mul.il");
528 Value *ResIr = Builder.CreateMul(Op.LHS.first, Op.RHS.second, "mul.ir");
529 ResI = Builder.CreateAdd(ResIl, ResIr, "mul.i");
542 llvm::Value *Tmp1 = Builder.CreateFMul(LHSr, RHSr); // a*c
543 llvm::Value *Tmp2 = Builder.CreateFMul(LHSi, RHSi); // b*d
544 llvm::Value *Tmp3 = Builder.CreateFAdd(Tmp1, Tmp2); // ac+bd
546 llvm::Value *Tmp4 = Builder.CreateFMul(RHSr, RHSr); // c*c
547 llvm::Value *Tmp5 = Builder.CreateFMul(RHSi, RHSi); // d*d
548 llvm::Value *Tmp6 = Builder.CreateFAdd(Tmp4, Tmp5); // cc+dd
550 llvm::Value *Tmp7 = Builder.CreateFMul(LHSi, RHSr); // b*c
551 llvm::Value *Tmp8 = Builder.CreateFMul(LHSr, RHSi); // a*d
552 llvm::Value *Tmp9 = Builder.CreateFSub(Tmp7, Tmp8); // bc-ad
554 DSTr = Builder.CreateFDiv(Tmp3, Tmp6);
555 DSTi = Builder.CreateFDiv(Tmp9, Tmp6);
558 llvm::Value *Tmp1 = Builder.CreateMul(LHSr, RHSr); // a*c
559 llvm::Value *Tmp2 = Builder.CreateMul(LHSi, RHSi); // b*d
560 llvm::Value *Tmp3 = Builder.CreateAdd(Tmp1, Tmp2); // ac+bd
562 llvm::Value *Tmp4 = Builder.CreateMul(RHSr, RHSr); // c*c
563 llvm::Value *Tmp5 = Builder.CreateMul(RHSi, RHSi); // d*d
564 llvm::Value *Tmp6 = Builder.CreateAdd(Tmp4, Tmp5); // cc+dd
566 llvm::Value *Tmp7 = Builder.CreateMul(LHSi, RHSr); // b*c
567 llvm::Value *Tmp8 = Builder.CreateMul(LHSr, RHSi); // a*d
568 llvm::Value *Tmp9 = Builder.CreateSub(Tmp7, Tmp8); // bc-ad
571 DSTr = Builder.CreateUDiv(Tmp3, Tmp6);
572 DSTi = Builder.CreateUDiv(Tmp9, Tmp6);
574 DSTr = Builder.CreateSDiv(Tmp3, Tmp6);
575 DSTi = Builder.CreateSDiv(Tmp9, Tmp6);
710 LHSBlock = Builder.GetInsertBlock();
717 RHSBlock = Builder.GetInsertBlock();
722 llvm::PHINode *RealPN = Builder.CreatePHI(LHS.first->getType(), 2, "cond.r");
727 llvm::PHINode *ImagPN = Builder.CreatePHI(LHS.first->getType(), 2, "cond.i");