Home | History | Annotate | Download | only in InstCombine

Lines Matching defs:DestTy

496   Type *DestTy = CI.getType(), *SrcTy = Src->getType();
502 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
503 canEvaluateTruncated(Src, DestTy, *this, &CI)) {
509 Value *Res = EvaluateInDifferentType(Src, DestTy, false);
510 assert(Res->getType() == DestTy);
515 if (DestTy->getScalarSizeInBits() == 1) {
535 return replaceInstUsesWith(CI, Constant::getNullValue(DestTy));
542 return CastInst::CreateIntegerCast(Shift, DestTy, false);
568 ShouldChangeType(SrcTy, DestTy) &&
570 Value *NewTrunc = Builder->CreateTrunc(A, DestTy, A->getName() + ".tr");
572 ConstantExpr::getTrunc(Cst, DestTy));
848 Type *SrcTy = Src->getType(), *DestTy = CI.getType();
855 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
856 canEvaluateZExtd(Src, DestTy, BitsToClear, *this, &CI)) {
863 Value *Res = EvaluateInDifferentType(Src, DestTy, false);
864 assert(Res->getType() == DestTy);
867 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1132 Type *SrcTy = Src->getType(), *DestTy = CI.getType();
1139 Value *ZExt = Builder->CreateZExt(Src, DestTy);
1147 if ((DestTy->isVectorTy() || ShouldChangeType(SrcTy, DestTy)) &&
1148 canEvaluateSExtd(Src, DestTy)) {
1152 Value *Res = EvaluateInDifferentType(Src, DestTy, true);
1153 assert(Res->getType() == DestTy);
1156 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1164 Value *ShAmt = ConstantInt::get(DestTy, DestBitSize-SrcBitSize);
1172 if (TI->hasOneUse() && TI->getOperand(0)->getType() == DestTy) {
1174 uint32_t DestBitSize = DestTy->getScalarSizeInBits();
1177 Value *ShAmt = ConstantInt::get(DestTy, DestBitSize-SrcBitSize);
1563 static Instruction *optimizeVectorResize(Value *InVal, VectorType *DestTy,
1570 if (SrcTy->getElementType() != DestTy->getElementType()) {
1576 DestTy->getElementType()->getPrimitiveSizeInBits())
1579 SrcTy = VectorType::get(DestTy->getElementType(), SrcTy->getNumElements());
1589 if (SrcTy->getNumElements() > DestTy->getNumElements()) {
1593 for (unsigned i = 0, e = DestTy->getNumElements(); i != e; ++i)
1606 for (unsigned i = 0, e = DestTy->getNumElements()-SrcElts; i != e; ++i)
1797 Type *DestTy = CI.getType();
1801 if (DestTy == Src->getType())
1804 if (PointerType *DstPTy = dyn_cast<PointerType>(DestTy)) {
1842 if (VectorType *DestVTy = dyn_cast<VectorType>(DestTy)) {
1845 return InsertElementInst::Create(UndefValue::get(DestTy), Elem,
1859 cast<VectorType>(DestTy), *this))
1875 if (!DestTy->isVectorTy()) {
1879 return CastInst::Create(Instruction::BitCast, Elem, DestTy);
1887 DestTy);
1894 if (SVI->hasOneUse() && DestTy->isVectorTy() &&
1895 DestTy->getVectorNumElements() == SVI->getType()->getNumElements() &&
1903 Tmp->getOperand(0)->getType() == DestTy) ||
1905 Tmp->getOperand(0)->getType() == DestTy)) {
1906 Value *LHS = Builder->CreateBitCast(SVI->getOperand(0), DestTy);
1907 Value *RHS = Builder->CreateBitCast(SVI->getOperand(1), DestTy);
1929 PointerType *DestTy = cast<PointerType>(CI.getType()->getScalarType());
1931 Type *DestElemTy = DestTy->getElementType();