Lines Matching refs:CastInst
222 Res = CastInst::CreateIntegerCast(I->getOperand(0), Ty, in EvaluateInDifferentType()
252 InstCombinerImpl::isEliminableCastPair(const CastInst *CI1, in isEliminableCastPair()
253 const CastInst *CI2) { in isEliminableCastPair()
266 unsigned Res = CastInst::isEliminableCastPair(firstOp, secondOp, SrcTy, MidTy, in isEliminableCastPair()
280 Instruction *InstCombinerImpl::commonCastTransforms(CastInst &CI) { in commonCastTransforms()
285 if (auto *CSrc = dyn_cast<CastInst>(Src)) { // A->B->C cast in commonCastTransforms()
289 auto *Res = CastInst::Create(NewOpc, CSrc->getOperand(0), Ty); in commonCastTransforms()
708 return CastInst::CreateTruncOrBitCast(Shift, DestTy); in narrowBinOp()
745 static Instruction *shrinkInsertElt(CastInst &Trunc, in shrinkInsertElt()
894 return CastInst::CreateIntegerCast(Shift, DestTy, true); in visitTrunc()
1436 return CastInst::CreateIntegerCast(In, CI.getType(), true/*SExt*/); in transformSExtICmp()
1515 return CastInst::Create(Instruction::ZExt, Src, DestTy); in visitSExt()
1544 return CastInst::CreateIntegerCast(X, DestTy, /* isSigned */ true); in visitSExt()
1562 return CastInst::CreateIntegerCast(Ashr, DestTy, /* isSigned */ true); in visitSExt()
1614 return CastInst::CreateIntegerCast(Ashr, DestTy, /* isSigned */ true); in visitSExt()
1723 static bool isKnownExactCastIntToFP(CastInst &I, InstCombinerImpl &IC) { in isKnownExactCastIntToFP()
1724 CastInst::CastOps Opcode = I.getOpcode(); in isKnownExactCastIntToFP()
1725 assert((Opcode == CastInst::SIToFP || Opcode == CastInst::UIToFP) && in isKnownExactCastIntToFP()
1863 return CastInst::CreateFPCast(ExactResult, Ty); in visitFPTrunc()
1946 auto *FPCast = cast<CastInst>(Src); in visitFPTrunc()
1948 return CastInst::Create(FPCast->getOpcode(), FPCast->getOperand(0), Ty); in visitFPTrunc()
1954 Instruction *InstCombinerImpl::visitFPExt(CastInst &FPExt) { in visitFPExt()
1960 auto *FPCast = cast<CastInst>(Src); in visitFPExt()
1962 return CastInst::Create(FPCast->getOpcode(), FPCast->getOperand(0), Ty); in visitFPExt()
1972 Instruction *InstCombinerImpl::foldItoFPtoI(CastInst &FI) { in foldItoFPtoI()
1976 auto *OpI = cast<CastInst>(FI.getOperand(0)); in foldItoFPtoI()
2026 Instruction *InstCombinerImpl::visitUIToFP(CastInst &CI) { in visitUIToFP()
2030 Instruction *InstCombinerImpl::visitSIToFP(CastInst &CI) { in visitSIToFP()
2054 Instruction *InstCombinerImpl::commonPointerCastTransforms(CastInst &CI) { in commonPointerCastTransforms()
2090 return CastInst::CreateIntegerCast(P, Ty, /*isSigned=*/false); in visitPtrToInt()
2386 return CastInst::Create(Instruction::BitCast, VecOp, DestType); in canonicalizeBitCastExtElt()
2417 return CastInst::CreateBitOrPointerCast(NewBO, DestTy); in foldBitCastBitwiseLogic()
2424 return CastInst::CreateBitOrPointerCast(NewBO, DestTy); in foldBitCastBitwiseLogic()
2507 static bool hasStoreUsersOnly(CastInst &CI) { in hasStoreUsersOnly()
2523 Instruction *InstCombinerImpl::optimizeBitCastFromPhi(CastInst &CI, in optimizeBitCastFromPhi()
2780 CastInst *SrcCast = cast<CastInst>(Src); in visitBitCast()
2804 return CastInst::Create(Instruction::BitCast, Elem, DestTy); in visitBitCast()