Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:DestTy

446   Type *DestTy = CI.getType(), *SrcTy = Src->getType();
452 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
453 CanEvaluateTruncated(Src, DestTy)) {
459 Value *Res = EvaluateInDifferentType(Src, DestTy, false);
460 assert(Res->getType() == DestTy);
465 if (DestTy->getScalarSizeInBits() == 1) {
763 Type *SrcTy = Src->getType(), *DestTy = CI.getType();
770 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
771 CanEvaluateZExtd(Src, DestTy, BitsToClear)) {
778 Value *Res = EvaluateInDifferentType(Src, DestTy, false);
779 assert(Res->getType() == DestTy);
782 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1064 Type *SrcTy = Src->getType(), *DestTy = CI.getType();
1070 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
1071 CanEvaluateSExtd(Src, DestTy)) {
1075 Value *Res = EvaluateInDifferentType(Src, DestTy, true);
1076 assert(Res->getType() == DestTy);
1079 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1087 Value *ShAmt = ConstantInt::get(DestTy, DestBitSize-SrcBitSize);
1095 if (TI->hasOneUse() && TI->getOperand(0)->getType() == DestTy) {
1097 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1100 Value *ShAmt = ConstantInt::get(DestTy, DestBitSize-SrcBitSize);
1416 static Instruction *OptimizeVectorResize(Value *InVal, VectorType *DestTy,
1423 if (SrcTy->getElementType() != DestTy->getElementType()) {
1429 DestTy->getElementType()->getPrimitiveSizeInBits())
1432 SrcTy = VectorType::get(DestTy->getElementType(), SrcTy->getNumElements());
1442 if (SrcTy->getNumElements() > DestTy->getNumElements()) {
1446 for (unsigned i = 0, e = DestTy->getNumElements(); i != e; ++i)
1459 for (unsigned i = 0, e = DestTy->getNumElements()-SrcElts; i != e; ++i)
1614 Type *DestTy = CI.getType();
1623 unsigned DestWidth = DestTy->getPrimitiveSizeInBits();
1628 if (VecTy->getElementType() != DestTy) {
1629 VecTy = VectorType::get(DestTy,
1644 unsigned DestWidth = DestTy->getPrimitiveSizeInBits();
1649 if (VecTy->getElementType() != DestTy) {
1650 VecTy = VectorType::get(DestTy,
1667 Type *DestTy = CI.getType();
1671 if (DestTy == Src->getType())
1674 if (PointerType *DstPTy = dyn_cast<PointerType>(DestTy)) {
1713 if ((DestTy->isFloatTy() || DestTy->isDoubleTy()) && isa<IntegerType>(SrcTy))
1717 if (VectorType *DestVTy = dyn_cast<VectorType>(DestTy)) {
1720 return InsertElementInst::Create(UndefValue::get(DestTy), Elem,
1734 cast<VectorType>(DestTy), *this))
1750 if (!DestTy->isVectorTy()) {
1754 return CastInst::Create(Instruction::BitCast, Elem, DestTy);
1762 DestTy);
1769 if (SVI->hasOneUse() && DestTy->isVectorTy() &&
1770 cast<VectorType>(DestTy)->getNumElements() ==
1779 Tmp->getOperand(0)->getType() == DestTy) ||
1781 Tmp->getOperand(0)->getType() == DestTy)) {
1782 Value *LHS = Builder->CreateBitCast(SVI->getOperand(0), DestTy);
1783 Value *RHS = Builder->CreateBitCast(SVI->getOperand(1), DestTy);