Lines Matching refs:CastInst
67 Res = CastInst::CreateIntegerCast(I->getOperand(0), Ty, in EvaluateInDifferentType()
89 Res = CastInst::Create( in EvaluateInDifferentType()
126 InstCombinerImpl::isEliminableCastPair(const CastInst *CI1, in isEliminableCastPair()
127 const CastInst *CI2) { in isEliminableCastPair()
140 unsigned Res = CastInst::isEliminableCastPair(firstOp, secondOp, SrcTy, MidTy, in isEliminableCastPair()
154 Instruction *InstCombinerImpl::commonCastTransforms(CastInst &CI) { in commonCastTransforms()
163 if (auto *CSrc = dyn_cast<CastInst>(Src)) { // A->B->C cast in commonCastTransforms()
167 auto *Res = CastInst::Create(NewOpc, CSrc->getOperand(0), Ty); in commonCastTransforms()
612 return CastInst::CreateTruncOrBitCast(Shift, DestTy); in narrowBinOp()
650 static Instruction *shrinkInsertElt(CastInst &Trunc, in shrinkInsertElt()
816 return CastInst::CreateIntegerCast(Shift, DestTy, true); in visitTrunc()
1365 return CastInst::CreateIntegerCast(In, Sext.getType(), true/*SExt*/); in transformSExtICmp()
1444 auto CI = CastInst::Create(Instruction::ZExt, Src, DestTy); in visitSExt()
1476 return CastInst::CreateIntegerCast(X, DestTy, /* isSigned */ true); in visitSExt()
1494 return CastInst::CreateIntegerCast(Ashr, DestTy, /* isSigned */ true); in visitSExt()
1548 return CastInst::CreateIntegerCast(Ashr, DestTy, /* isSigned */ true); in visitSExt()
1663 static bool isKnownExactCastIntToFP(CastInst &I, InstCombinerImpl &IC) { in isKnownExactCastIntToFP()
1664 CastInst::CastOps Opcode = I.getOpcode(); in isKnownExactCastIntToFP()
1665 assert((Opcode == CastInst::SIToFP || Opcode == CastInst::UIToFP) && in isKnownExactCastIntToFP()
1805 return CastInst::CreateFPCast(ExactResult, Ty); in visitFPTrunc()
1888 auto *FPCast = cast<CastInst>(Src); in visitFPTrunc()
1890 return CastInst::Create(FPCast->getOpcode(), FPCast->getOperand(0), Ty); in visitFPTrunc()
1896 Instruction *InstCombinerImpl::visitFPExt(CastInst &FPExt) { in visitFPExt()
1902 auto *FPCast = cast<CastInst>(Src); in visitFPExt()
1904 return CastInst::Create(FPCast->getOpcode(), FPCast->getOperand(0), Ty); in visitFPExt()
1914 Instruction *InstCombinerImpl::foldItoFPtoI(CastInst &FI) { in foldItoFPtoI()
1918 auto *OpI = cast<CastInst>(FI.getOperand(0)); in foldItoFPtoI()
1987 Instruction *InstCombinerImpl::visitUIToFP(CastInst &CI) { in visitUIToFP()
1997 Instruction *InstCombinerImpl::visitSIToFP(CastInst &CI) { in visitSIToFP()
2002 CastInst::Create(Instruction::UIToFP, CI.getOperand(0), CI.getType()); in visitSIToFP()
2042 return CastInst::CreateIntegerCast(P, Ty, /*isSigned=*/false); in visitPtrToInt()
2364 return CastInst::Create(Instruction::BitCast, VecOp, DestType); in canonicalizeBitCastExtElt()
2395 return CastInst::CreateBitOrPointerCast(NewBO, DestTy); in foldBitCastBitwiseLogic()
2402 return CastInst::CreateBitOrPointerCast(NewBO, DestTy); in foldBitCastBitwiseLogic()
2485 static bool hasStoreUsersOnly(CastInst &CI) { in hasStoreUsersOnly()
2501 Instruction *InstCombinerImpl::optimizeBitCastFromPhi(CastInst &CI, in optimizeBitCastFromPhi()
2694 CastInst *SrcCast = cast<CastInst>(Src); in visitBitCast()
2718 return CastInst::Create(Instruction::BitCast, Elem, DestTy); in visitBitCast()