Lines Matching refs:DstTy

312   Value *EmitConversionToBool(Value *Src, QualType DstTy);
318 llvm::Type *DstTy, SourceLocation Loc);
362 llvm::Type *SrcTy, llvm::Type *DstTy,
365 EmitScalarConversion(Value *Src, QualType SrcTy, QualType DstTy,
371 Value *EmitFixedPointConversion(Value *Src, QualType SrcTy, QualType DstTy,
377 QualType SrcTy, QualType DstTy,
959 QualType DstType, llvm::Type *DstTy, SourceLocation Loc) { in EmitFloatConversionCheck() argument
961 if (!isa<llvm::IntegerType>(DstTy)) in EmitFloatConversionCheck()
1032 llvm::Type *DstTy = Dst->getType(); in EmitIntegerTruncationCheckHelper() local
1033 (void)DstTy; // Only used in assert() in EmitIntegerTruncationCheckHelper()
1038 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerTruncationCheckHelper()
1143 llvm::Type *DstTy = Dst->getType(); in EmitIntegerSignChangeCheckHelper() local
1145 assert(isa<llvm::IntegerType>(SrcTy) && isa<llvm::IntegerType>(DstTy) && in EmitIntegerSignChangeCheckHelper()
1153 unsigned DstBits = DstTy->getScalarSizeInBits(); in EmitIntegerSignChangeCheckHelper()
1185 llvm::Type *DstTy = Dst->getType(); in EmitIntegerSignChangeCheck() local
1196 unsigned DstBits = DstTy->getScalarSizeInBits(); in EmitIntegerSignChangeCheck()
1393 llvm::Type *DstTy, in EmitScalarCast() argument
1402 DstElementTy = cast<llvm::VectorType>(DstTy)->getElementType(); in EmitScalarCast()
1409 DstElementTy = DstTy; in EmitScalarCast()
1421 return Builder.CreateIntCast(Src, DstTy, InputSigned, "conv"); in EmitScalarCast()
1423 return Builder.CreateSIToFP(Src, DstTy, "conv"); in EmitScalarCast()
1424 return Builder.CreateUIToFP(Src, DstTy, "conv"); in EmitScalarCast()
1437 return Builder.CreateCall(CGF.CGM.getIntrinsic(IID, {DstTy, SrcTy}), Src); in EmitScalarCast()
1441 return Builder.CreateFPToSI(Src, DstTy, "conv"); in EmitScalarCast()
1442 return Builder.CreateFPToUI(Src, DstTy, "conv"); in EmitScalarCast()
1446 return Builder.CreateFPTrunc(Src, DstTy, "conv"); in EmitScalarCast()
1447 return Builder.CreateFPExt(Src, DstTy, "conv"); in EmitScalarCast()
1503 llvm::Type *DstTy = ConvertType(DstType); in EmitScalarConversion() local
1508 if (DstTy->isFloatingPointTy()) { in EmitScalarConversion()
1511 CGF.CGM.getIntrinsic(llvm::Intrinsic::convert_from_fp16, DstTy), in EmitScalarConversion()
1531 if (SrcTy == DstTy) { in EmitScalarConversion()
1542 if (auto DstPT = dyn_cast<llvm::PointerType>(DstTy)) { in EmitScalarConversion()
1555 return Builder.CreateIntToPtr(IntResult, DstTy, "conv"); in EmitScalarConversion()
1560 assert(isa<llvm::IntegerType>(DstTy) && "not ptr->int?"); in EmitScalarConversion()
1561 return Builder.CreatePtrToInt(Src, DstTy, "conv"); in EmitScalarConversion()
1573 unsigned NumElements = cast<llvm::FixedVectorType>(DstTy)->getNumElements(); in EmitScalarConversion()
1578 return EmitScalarCast(Src, SrcType, DstType, SrcTy, DstTy, Opts); in EmitScalarConversion()
1580 if (isa<llvm::VectorType>(SrcTy) || isa<llvm::VectorType>(DstTy)) { in EmitScalarConversion()
1583 llvm::TypeSize DstSize = DstTy->getPrimitiveSizeInBits(); in EmitScalarConversion()
1585 return Builder.CreateBitCast(Src, DstTy, "conv"); in EmitScalarConversion()
1595 llvm::Type *DstElementTy = cast<llvm::VectorType>(DstTy)->getElementType(); in EmitScalarConversion()
1607 return Builder.CreateIntCast(Src, DstTy, false, "conv"); in EmitScalarConversion()
1611 return Builder.CreateFPTrunc(Src, DstTy, "conv"); in EmitScalarConversion()
1614 return Builder.CreateFPExt(Src, DstTy, "conv"); in EmitScalarConversion()
1619 llvm::Type *ResTy = DstTy; in EmitScalarConversion()
1628 EmitFloatConversionCheck(OrigSrc, OrigSrcType, Src, SrcType, DstType, DstTy, in EmitScalarConversion()
1641 return Builder.CreateFPTrunc(Src, DstTy); in EmitScalarConversion()
1643 DstTy = CGF.FloatTy; in EmitScalarConversion()
1646 Res = EmitScalarCast(Src, SrcType, DstType, SrcTy, DstTy, Opts); in EmitScalarConversion()
1648 if (DstTy != ResTy) { in EmitScalarConversion()
1671 QualType DstTy, in EmitFixedPointConversion() argument
1677 CGF.getContext().getFixedPointSemantics(DstTy)); in EmitFixedPointConversion()
1678 else if (DstTy->isRealFloatingType()) in EmitFixedPointConversion()
1681 ConvertType(DstTy)); in EmitFixedPointConversion()
1684 auto DstFPSema = CGF.getContext().getFixedPointSemantics(DstTy); in EmitFixedPointConversion()
1686 if (DstTy->isIntegerType()) in EmitFixedPointConversion()
1702 CodeGenFunction::ComplexPairTy Src, QualType SrcTy, QualType DstTy, in EmitComplexToScalarConversion() argument
1708 if (DstTy->isBooleanType()) { in EmitComplexToScalarConversion()
1710 Src.first = EmitScalarConversion(Src.first, SrcTy, DstTy, Loc); in EmitComplexToScalarConversion()
1711 Src.second = EmitScalarConversion(Src.second, SrcTy, DstTy, Loc); in EmitComplexToScalarConversion()
1719 return EmitScalarConversion(Src.first, SrcTy, DstTy, Loc); in EmitComplexToScalarConversion()
1877 llvm::Type *DstTy = ConvertType(DstType); in VisitConvertVectorExpr() local
1880 if (SrcTy == DstTy) in VisitConvertVectorExpr()
1888 assert(DstTy->isVectorTy() && in VisitConvertVectorExpr()
1892 *DstEltTy = cast<llvm::VectorType>(DstTy)->getElementType(); in VisitConvertVectorExpr()
1912 Res = Builder.CreateIntCast(Src, DstTy, InputSigned, "conv"); in VisitConvertVectorExpr()
1914 Res = Builder.CreateSIToFP(Src, DstTy, "conv"); in VisitConvertVectorExpr()
1916 Res = Builder.CreateUIToFP(Src, DstTy, "conv"); in VisitConvertVectorExpr()
1920 Res = Builder.CreateFPToSI(Src, DstTy, "conv"); in VisitConvertVectorExpr()
1922 Res = Builder.CreateFPToUI(Src, DstTy, "conv"); in VisitConvertVectorExpr()
1927 Res = Builder.CreateFPTrunc(Src, DstTy, "conv"); in VisitConvertVectorExpr()
1929 Res = Builder.CreateFPExt(Src, DstTy, "conv"); in VisitConvertVectorExpr()
2263 llvm::Type *DstTy = ConvertType(DestTy); in VisitCastExpr() local
2265 (!SrcTy->isPtrOrPtrVectorTy() || !DstTy->isPtrOrPtrVectorTy() || in VisitCastExpr()
2266 SrcTy->getPointerAddressSpace() == DstTy->getPointerAddressSpace()) && in VisitCastExpr()
2315 if (auto *ScalableDstTy = dyn_cast<llvm::ScalableVectorType>(DstTy)) { in VisitCastExpr()
2330 if (Result->getType() != DstTy) in VisitCastExpr()
2331 Result = Builder.CreateBitCast(Result, DstTy); in VisitCastExpr()
2341 if (auto *FixedDstTy = dyn_cast<llvm::FixedVectorType>(DstTy)) { in VisitCastExpr()
2354 return Builder.CreateExtractVector(DstTy, Src, Zero, "cast.fixed"); in VisitCastExpr()
2366 isa<llvm::ScalableVectorType>(DstTy)) || in VisitCastExpr()
2368 isa<llvm::FixedVectorType>(DstTy))) { in VisitCastExpr()
2378 llvm::Value *Result = Builder.CreateBitCast(Src, DstTy); in VisitCastExpr()
2558 llvm::Type *DstTy = ConvertType(DestTy); in VisitCastExpr() local
2562 cast<llvm::VectorType>(DstTy)->getElementCount(); in VisitCastExpr()
5411 Value *Src, llvm::Type *DstTy, in createCastsForTypeOfSameSize() argument
5416 if (!SrcTy->isPointerTy() && !DstTy->isPointerTy()) in createCastsForTypeOfSameSize()
5417 return Builder.CreateBitCast(Src, DstTy, Name); in createCastsForTypeOfSameSize()
5420 if (SrcTy->isPointerTy() && DstTy->isPointerTy()) in createCastsForTypeOfSameSize()
5421 return Builder.CreatePointerBitCastOrAddrSpaceCast(Src, DstTy, Name); in createCastsForTypeOfSameSize()
5424 if (SrcTy->isPointerTy() && !DstTy->isPointerTy()) { in createCastsForTypeOfSameSize()
5426 if (!DstTy->isIntegerTy()) in createCastsForTypeOfSameSize()
5429 return Builder.CreateBitOrPointerCast(Src, DstTy, Name); in createCastsForTypeOfSameSize()
5434 Src = Builder.CreateBitCast(Src, DL.getIntPtrType(DstTy)); in createCastsForTypeOfSameSize()
5436 return Builder.CreateIntToPtr(Src, DstTy, Name); in createCastsForTypeOfSameSize()
5441 llvm::Type *DstTy = ConvertType(E->getType()); in VisitAsTypeExpr() local
5449 isa<llvm::VectorType>(DstTy) in VisitAsTypeExpr()
5450 ? cast<llvm::FixedVectorType>(DstTy)->getNumElements() in VisitAsTypeExpr()
5462 DstTy); in VisitAsTypeExpr()
5473 cast<llvm::VectorType>(DstTy)->getElementType(), 4); in VisitAsTypeExpr()
5483 Src, DstTy, "astype"); in VisitAsTypeExpr()
5507 QualType DstTy, in EmitScalarConversion() argument
5509 assert(hasScalarEvaluationKind(SrcTy) && hasScalarEvaluationKind(DstTy) && in EmitScalarConversion()
5511 return ScalarExprEmitter(*this).EmitScalarConversion(Src, SrcTy, DstTy, Loc); in EmitScalarConversion()
5518 QualType DstTy, in EmitComplexToScalarConversion() argument
5520 assert(SrcTy->isAnyComplexType() && hasScalarEvaluationKind(DstTy) && in EmitComplexToScalarConversion()
5523 .EmitComplexToScalarConversion(Src, SrcTy, DstTy, Loc); in EmitComplexToScalarConversion()