Lines Matching refs:DstTy

100   Value *EmitConversionToBool(Value *Src, QualType DstTy);
104 Value *EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy);
110 QualType SrcTy, QualType DstTy);
562 llvm::Type *DstTy = ConvertType(DstType);
565 if (SrcTy == DstTy)
571 if (isa<llvm::PointerType>(DstTy)) {
574 return Builder.CreateBitCast(Src, DstTy, "conv");
584 return Builder.CreateIntToPtr(IntResult, DstTy, "conv");
589 assert(isa<llvm::IntegerType>(DstTy) && "not ptr->int?");
590 return Builder.CreatePtrToInt(Src, DstTy, "conv");
600 llvm::Value *UnV = llvm::UndefValue::get(DstTy);
605 unsigned NumElements = cast<llvm::VectorType>(DstTy)->getNumElements();
614 isa<llvm::VectorType>(DstTy))
615 return Builder.CreateBitCast(Src, DstTy, "conv");
619 llvm::Type *ResTy = DstTy;
623 DstTy = CGF.FloatTy;
627 if (isa<llvm::IntegerType>(DstTy))
628 Res = Builder.CreateIntCast(Src, DstTy, InputSigned, "conv");
630 Res = Builder.CreateSIToFP(Src, DstTy, "conv");
632 Res = Builder.CreateUIToFP(Src, DstTy, "conv");
633 } else if (isa<llvm::IntegerType>(DstTy)) {
636 Res = Builder.CreateFPToSI(Src, DstTy, "conv");
638 Res = Builder.CreateFPToUI(Src, DstTy, "conv");
640 assert(SrcTy->isFloatingPointTy() && DstTy->isFloatingPointTy() &&
642 if (DstTy->getTypeID() < SrcTy->getTypeID())
643 Res = Builder.CreateFPTrunc(Src, DstTy, "conv");
645 Res = Builder.CreateFPExt(Src, DstTy, "conv");
648 if (DstTy != ResTy) {
661 QualType SrcTy, QualType DstTy) {
666 if (DstTy->isBooleanType()) {
668 Src.first = EmitScalarConversion(Src.first, SrcTy, DstTy);
669 Src.second = EmitScalarConversion(Src.second, SrcTy, DstTy);
677 return EmitScalarConversion(Src.first, SrcTy, DstTy);
1185 llvm::Type *DstTy = ConvertType(DestTy);
1191 llvm::Value *UnV = llvm::UndefValue::get(DstTy);
1196 unsigned NumElements = cast<llvm::VectorType>(DstTy)->getNumElements();
2682 llvm::Type *DstTy = ConvertType(E->getType());
2687 if (isa<llvm::VectorType>(DstTy) && isa<llvm::VectorType>(SrcTy)) {
2688 unsigned numElementsDst = cast<llvm::VectorType>(DstTy)->getNumElements();
2699 cast<llvm::VectorType>(DstTy)->getElementType();
2726 return Builder.CreateBitCast(Src, DstTy, "astype");
2755 QualType DstTy) {
2756 assert(!hasAggregateLLVMType(SrcTy) && !hasAggregateLLVMType(DstTy) &&
2758 return ScalarExprEmitter(*this).EmitScalarConversion(Src, SrcTy, DstTy);
2766 QualType DstTy) {
2767 assert(SrcTy->isAnyComplexType() && !hasAggregateLLVMType(DstTy) &&
2770 DstTy);