Lines Matching refs:SrcTy
1959 Type* SrcTy = getOperand(0)->getType(); in isLosslessCast() local
1961 if (SrcTy == DstTy) in isLosslessCast()
1965 if (SrcTy->isPointerTy()) in isLosslessCast()
1979 Type *SrcTy, in isNoopCast() argument
2003 SrcTy->getScalarSizeInBits(); in isNoopCast()
2035 Type *SrcTy, Type *MidTy, Type *DstTy, Type *SrcIntPtrTy, Type *MidIntPtrTy, in isEliminableCastPair() argument
2094 bool chainedBitcast = (SrcTy == DstTy && isFirstBitcast && isSecondBitcast); in isEliminableCastPair()
2097 if ((isFirstBitcast && isa<VectorType>(SrcTy) != isa<VectorType>(MidTy)) || in isEliminableCastPair()
2118 if (!SrcTy->isVectorTy() && DstTy->isIntegerTy()) in isEliminableCastPair()
2130 if (SrcTy->isIntegerTy()) in isEliminableCastPair()
2136 if (SrcTy->isFloatingPointTy()) in isEliminableCastPair()
2141 if (SrcTy->getPointerAddressSpace() != DstTy->getPointerAddressSpace()) in isEliminableCastPair()
2164 unsigned SrcSize = SrcTy->getScalarSizeInBits(); in isEliminableCastPair()
2178 if (SrcTy == DstTy) in isEliminableCastPair()
2186 unsigned SrcSize = SrcTy->getScalarSizeInBits(); in isEliminableCastPair()
2195 if (SrcTy->getPointerAddressSpace() != DstTy->getPointerAddressSpace()) in isEliminableCastPair()
2204 SrcTy->isPtrOrPtrVectorTy() && in isEliminableCastPair()
2207 SrcTy->getPointerAddressSpace() != MidTy->getPointerAddressSpace() && in isEliminableCastPair()
2215 if (SrcTy->getPointerElementType() == DstTy->getPointerElementType()) in isEliminableCastPair()
2224 SrcTy->isIntOrIntVectorTy() && in isEliminableCastPair()
2236 SrcTy->isPtrOrPtrVectorTy() && in isEliminableCastPair()
2239 SrcTy->getPointerAddressSpace() == MidTy->getPointerAddressSpace() && in isEliminableCastPair()
2475 bool CastInst::isCastable(Type *SrcTy, Type *DestTy) { in isCastable() argument
2476 if (!SrcTy->isFirstClassType() || !DestTy->isFirstClassType()) in isCastable()
2479 if (SrcTy == DestTy) in isCastable()
2482 if (VectorType *SrcVecTy = dyn_cast<VectorType>(SrcTy)) in isCastable()
2486 SrcTy = SrcVecTy->getElementType(); in isCastable()
2491 unsigned SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr in isCastable()
2496 if (SrcTy->isIntegerTy()) // Casting from integral in isCastable()
2498 if (SrcTy->isFloatingPointTy()) // Casting from floating pt in isCastable()
2500 if (SrcTy->isVectorTy()) // Casting from vector in isCastable()
2503 return SrcTy->isPointerTy(); in isCastable()
2506 if (SrcTy->isIntegerTy()) // Casting from integral in isCastable()
2508 if (SrcTy->isFloatingPointTy()) // Casting from floating pt in isCastable()
2510 if (SrcTy->isVectorTy()) // Casting from vector in isCastable()
2518 if (SrcTy->isPointerTy()) // Casting from pointer in isCastable()
2520 return SrcTy->isIntegerTy(); // Casting from integral in isCastable()
2523 if (SrcTy->isVectorTy()) in isCastable()
2530 bool CastInst::isBitCastable(Type *SrcTy, Type *DestTy) { in isBitCastable() argument
2531 if (!SrcTy->isFirstClassType() || !DestTy->isFirstClassType()) in isBitCastable()
2534 if (SrcTy == DestTy) in isBitCastable()
2537 if (VectorType *SrcVecTy = dyn_cast<VectorType>(SrcTy)) { in isBitCastable()
2541 SrcTy = SrcVecTy->getElementType(); in isBitCastable()
2548 if (PointerType *SrcPtrTy = dyn_cast<PointerType>(SrcTy)) { in isBitCastable()
2553 unsigned SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr in isBitCastable()
2564 if (DestTy->isX86_MMXTy() || SrcTy->isX86_MMXTy()) in isBitCastable()
2570 bool CastInst::isBitOrNoopPointerCastable(Type *SrcTy, Type *DestTy, in isBitOrNoopPointerCastable() argument
2572 if (auto *PtrTy = dyn_cast<PointerType>(SrcTy)) in isBitOrNoopPointerCastable()
2576 if (auto *IntTy = dyn_cast<IntegerType>(SrcTy)) in isBitOrNoopPointerCastable()
2579 return isBitCastable(SrcTy, DestTy); in isBitOrNoopPointerCastable()
2592 Type *SrcTy = Src->getType(); in getCastOpcode() local
2594 assert(SrcTy->isFirstClassType() && DestTy->isFirstClassType() && in getCastOpcode()
2597 if (SrcTy == DestTy) in getCastOpcode()
2601 if (VectorType *SrcVecTy = dyn_cast<VectorType>(SrcTy)) in getCastOpcode()
2606 SrcTy = SrcVecTy->getElementType(); in getCastOpcode()
2611 unsigned SrcBits = SrcTy->getPrimitiveSizeInBits(); // 0 for ptr in getCastOpcode()
2616 if (SrcTy->isIntegerTy()) { // Casting from integral in getCastOpcode()
2627 } else if (SrcTy->isFloatingPointTy()) { // Casting from floating pt in getCastOpcode()
2632 } else if (SrcTy->isVectorTy()) { in getCastOpcode()
2637 assert(SrcTy->isPointerTy() && in getCastOpcode()
2642 if (SrcTy->isIntegerTy()) { // Casting from integral in getCastOpcode()
2647 } else if (SrcTy->isFloatingPointTy()) { // Casting from floating pt in getCastOpcode()
2655 } else if (SrcTy->isVectorTy()) { in getCastOpcode()
2666 if (SrcTy->isPointerTy()) { in getCastOpcode()
2667 if (DestTy->getPointerAddressSpace() != SrcTy->getPointerAddressSpace()) in getCastOpcode()
2670 } else if (SrcTy->isIntegerTy()) { in getCastOpcode()
2675 if (SrcTy->isVectorTy()) { in getCastOpcode()
2696 Type *SrcTy = S->getType(); in castIsValid() local
2698 if (!SrcTy->isFirstClassType() || !DstTy->isFirstClassType() || in castIsValid()
2699 SrcTy->isAggregateType() || DstTy->isAggregateType()) in castIsValid()
2703 unsigned SrcBitSize = SrcTy->getScalarSizeInBits(); in castIsValid()
2709 unsigned SrcLength = SrcTy->isVectorTy() ? in castIsValid()
2710 cast<VectorType>(SrcTy)->getNumElements() : 0; in castIsValid()
2718 return SrcTy->isIntOrIntVectorTy() && DstTy->isIntOrIntVectorTy() && in castIsValid()
2721 return SrcTy->isIntOrIntVectorTy() && DstTy->isIntOrIntVectorTy() && in castIsValid()
2724 return SrcTy->isIntOrIntVectorTy() && DstTy->isIntOrIntVectorTy() && in castIsValid()
2727 return SrcTy->isFPOrFPVectorTy() && DstTy->isFPOrFPVectorTy() && in castIsValid()
2730 return SrcTy->isFPOrFPVectorTy() && DstTy->isFPOrFPVectorTy() && in castIsValid()
2734 return SrcTy->isIntOrIntVectorTy() && DstTy->isFPOrFPVectorTy() && in castIsValid()
2738 return SrcTy->isFPOrFPVectorTy() && DstTy->isIntOrIntVectorTy() && in castIsValid()
2741 if (isa<VectorType>(SrcTy) != isa<VectorType>(DstTy)) in castIsValid()
2743 if (VectorType *VT = dyn_cast<VectorType>(SrcTy)) in castIsValid()
2746 return SrcTy->getScalarType()->isPointerTy() && in castIsValid()
2749 if (isa<VectorType>(SrcTy) != isa<VectorType>(DstTy)) in castIsValid()
2751 if (VectorType *VT = dyn_cast<VectorType>(SrcTy)) in castIsValid()
2754 return SrcTy->getScalarType()->isIntegerTy() && in castIsValid()
2757 PointerType *SrcPtrTy = dyn_cast<PointerType>(SrcTy->getScalarType()); in castIsValid()
2768 return SrcTy->getPrimitiveSizeInBits() == DstTy->getPrimitiveSizeInBits(); in castIsValid()
2775 if (VectorType *SrcVecTy = dyn_cast<VectorType>(SrcTy)) { in castIsValid()
2785 PointerType *SrcPtrTy = dyn_cast<PointerType>(SrcTy->getScalarType()); in castIsValid()
2796 if (VectorType *SrcVecTy = dyn_cast<VectorType>(SrcTy)) { in castIsValid()