Home
last modified time | relevance | path

Searched refs:Trunc (Results 1 – 25 of 103) sorted by relevance

12345

/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DTypePromotion.cpp241 return EqualTypeSize(Trunc); in isSource()
566 if (Trunc) in TruncateSinks()
567 NewInsts.insert(Trunc); in TruncateSinks()
568 return Trunc; in TruncateSinks()
582 Trunc->moveBefore(Call); in TruncateSinks()
593 Trunc->moveBefore(Switch); in TruncateSinks()
603 Trunc->moveBefore(I); in TruncateSinks()
604 I->setOperand(i, Trunc); in TruncateSinks()
658 Builder.SetInsertPoint(Trunc); in ConvertTruncs()
696 TruncTysMap[Trunc].push_back(Trunc->getDestTy()); in Mutate()
[all …]
H A DInterleavedLoadCombinePass.cpp172 Trunc, enumerator
499 pushBOperation(Trunc, APInt(sizeof(n) * 8, n)); in sextOrTrunc()
597 case Trunc: in print()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp508 Value *Trunc; in expandRemainderUpTo32Bits() local
520 Trunc = Builder.CreateTrunc(ExtRem, RemTy); in expandRemainderUpTo32Bits()
522 Rem->replaceAllUsesWith(Trunc); in expandRemainderUpTo32Bits()
556 Value *Trunc; in expandRemainderUpTo64Bits() local
568 Trunc = Builder.CreateTrunc(ExtRem, RemTy); in expandRemainderUpTo64Bits()
570 Rem->replaceAllUsesWith(Trunc); in expandRemainderUpTo64Bits()
605 Value *Trunc; in expandDivisionUpTo32Bits() local
617 Trunc = Builder.CreateTrunc(ExtDiv, DivTy); in expandDivisionUpTo32Bits()
619 Div->replaceAllUsesWith(Trunc); in expandDivisionUpTo32Bits()
654 Value *Trunc; in expandDivisionUpTo64Bits() local
[all …]
H A DBypassSlowDivision.cpp295 Builder.CreateCast(Instruction::Trunc, Divisor, BypassType); in createFastBB()
297 Builder.CreateCast(Instruction::Trunc, Dividend, BypassType); in createFastBB()
H A DSimplifyIndVar.cpp1406 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType()); in truncateIVUse() local
1407 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); in truncateIVUse()
1674 Value *Trunc = Builder.CreateTrunc(WidePhi, DU.NarrowDef->getType()); in widenIVUse() local
1675 UsePhi->replaceAllUsesWith(Trunc); in widenIVUse()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp209 case Instruction::Trunc: in EvaluateInDifferentType()
461 case Instruction::Trunc: in canEvaluateTruncated()
501 Type *DestType = Trunc.getType(); in foldVecTruncToExtElt()
540 shouldChangeType(Trunc.getSrcTy(), Trunc.getType())) && in narrowFunnelShift()
545 Type *DestTy = Trunc.getType(); in narrowFunnelShift()
641 Type *SrcTy = Trunc.getSrcTy(); in narrowBinOp()
642 Type *DestTy = Trunc.getType(); in narrowBinOp()
728 Type *DestTy = Trunc.getType(); in shrinkInsertElt()
749 Value *Src = Trunc.getOperand(0); in visitTrunc()
766 << Trunc << '\n'); in visitTrunc()
[all …]
H A DInstCombineShifts.cpp73 Value *Trunc = nullptr; in reassociateShiftAmtsOfTwoSameDirectionShifts() local
75 m_CombineOr(m_CombineAnd(m_Trunc(m_Instruction(Sh1)), m_Value(Trunc)), in reassociateShiftAmtsOfTwoSameDirectionShifts()
105 if (Trunc && !AnalyzeForSignBitExtraction && in reassociateShiftAmtsOfTwoSameDirectionShifts()
127 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
146 if (!Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
160 if (Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
162 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType()); in reassociateShiftAmtsOfTwoSameDirectionShifts()
197 Value *Trunc; in dropRedundantMaskingOfLeftShiftInput() local
198 if (match(Masked, m_CombineAnd(m_Trunc(m_Value(Masked)), m_Value(Trunc))) && in dropRedundantMaskingOfLeftShiftInput()
199 !Trunc->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
H A DInstCombineInternal.h323 Instruction *narrowBinOp(TruncInst &Trunc);
326 Instruction *narrowFunnelShift(TruncInst &Trunc);
664 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
H A DInstCombinePHI.cpp788 Constant *Trunc = ConstantExpr::getTrunc(C, NarrowType); in foldPHIArgZextsIntoPHI() local
789 if (ConstantExpr::getZExt(Trunc, C->getType()) != C) in foldPHIArgZextsIntoPHI()
791 NewIncoming.push_back(Trunc); in foldPHIArgZextsIntoPHI()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp52 case Instruction::Trunc: in getRelevantOperands()
116 case Instruction::Trunc: in buildTruncExpressionDag()
322 case Instruction::Trunc: in ReduceExpressionDag()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp221 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); in runOnFunction() local
222 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy, in runOnFunction()
H A DAMDGPUISelLowering.cpp1880 SDValue Mad2 = DAG.getNode(FMAD, DL, MVT::f32, Trunc, in LowerUDIVREM64()
2162 SDValue Neg = DAG.getNode(ISD::FNEG, SL, VT, Trunc, Flags); in LowerFREM()
2175 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFCEIL() local
2189 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFCEIL()
2346 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFFLOOR()
2657 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, SrcVT, Src); in LowerFP_TO_INT64() local
2668 Trunc = DAG.getNode(ISD::FABS, SL, SrcVT, Trunc); in LowerFP_TO_INT64()
2684 SDValue Mul = DAG.getNode(ISD::FMUL, SL, SrcVT, Trunc, K0); in LowerFP_TO_INT64()
3364 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, MidVT, in performTruncateCombine() local
3366 DCI.AddToWorklist(Trunc.getNode()); in performTruncateCombine()
[all …]
H A DAMDGPULegalizerInfo.cpp1965 auto Trunc = B.buildIntrinsicTrunc(S64, Src); in legalizeFceil() local
1975 B.buildFAdd(MI.getOperand(0).getReg(), Trunc, Add); in legalizeFceil()
1989 auto Trunc = B.buildIntrinsicTrunc(Ty, Div, Flags); in legalizeFrem() local
1990 auto Neg = B.buildFNeg(Ty, Trunc, Flags); in legalizeFrem()
2116 auto Trunc = B.buildIntrinsicTrunc(SrcLT, Src, Flags); in legalizeFPTOI() local
2125 Trunc = B.buildFAbs(S32, Trunc, Flags); in legalizeFPTOI()
2138 auto Mul = B.buildFMul(SrcLT, Trunc, K0, Flags); in legalizeFPTOI()
2140 auto Fma = B.buildFMA(SrcLT, FloorMul, K1, Trunc, Flags); in legalizeFPTOI()
2947 auto Trunc = B.buildIntrinsicTrunc(S32, Mul2); in emitReciprocalU64() local
2950 auto Mad2 = B.buildFMAD(S32, Trunc, in emitReciprocalU64()
[all …]
/freebsd-13.1/contrib/llvm-project/clang/lib/AST/Interp/
H A DInterp.h121 SmallString<32> Trunc; in AddSubMulHelper() local
122 Value.trunc(Result.bitWidth()).toString(Trunc, 10); in AddSubMulHelper()
124 S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type; in AddSubMulHelper()
847 unsigned Trunc(InterpState &S, CodePtr OpPC, unsigned Bits, const T &V) { in Trunc() function
905 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS)); in Shr()
907 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS)); in Shr()
920 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS)); in Shl()
922 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS)); in Shl()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMParallelDSP.cpp786 Value *Trunc = IRB.CreateTrunc(Top, OffsetTy); in CreateWideLoad() local
787 Value *NewOffsetSExt = IRB.CreateSExt(Trunc, OffsetSExt->getType()); in CreateWideLoad()
797 << *Trunc << "\n" in CreateWideLoad()
H A DMVELaneInterleavingPass.cpp177 case Instruction::Trunc: in tryInterleave()
H A DMVEGatherScatterLowering.cpp557 Load = TruncInst::Create(Instruction::Trunc, Load, MemoryTy); in tryCreateMaskedGatherOffset()
659 if (TruncInst *Trunc = dyn_cast<TruncInst>(Input)) { in tryCreateMaskedScatterOffset() local
660 Value *PreTrunc = Trunc->getOperand(0); in tryCreateMaskedScatterOffset()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFastISel.cpp973 const auto *Trunc = cast<TruncInst>(I); in selectTrunc() local
975 unsigned Reg = getRegForValue(Trunc->getOperand(0)); in selectTrunc()
979 if (Trunc->getOperand(0)->getType()->isIntegerTy(64)) { in selectTrunc()
987 updateValueMap(Trunc, Reg); in selectTrunc()
1401 case Instruction::Trunc: in fastSelectInstruction()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSpeculativeExecution.cpp248 case Instruction::Trunc: in ComputeSpeculationCost()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp1459 if (!Trunc) in isOptimizableIVTruncate()
2418 Instruction *EntryVal = Trunc ? cast<Instruction>(Trunc) : IV; in widenIntOrFpInduction()
2449 if (Trunc) { in widenIntOrFpInduction()
2469 if (Trunc) in widenIntOrFpInduction()
4023 case Instruction::Trunc: in truncateToMinimalBitwidths()
4387 if (*UI != Trunc) { in fixReduction()
4946 case Instruction::Trunc: in widenInstruction()
7772 case Instruction::Trunc: in getInstructionCost()
7820 return TTI.getCastInstrCost(Instruction::Trunc, Trunc->getDestTy(), in getInstructionCost()
7821 Trunc->getSrcTy(), CCH, CostKind, Trunc); in getInstructionCost()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp2668 case Instruction::Trunc: in isIntegerCast()
2708 case Instruction::Trunc: in isNoopCast()
2993 case Trunc: return new TruncInst (S, Ty, Name, InsertAtEnd); in Create()
3047 return Create(Instruction::Trunc, S, Ty, Name, InsertBefore); in CreateTruncOrBitCast()
3055 return Create(Instruction::Trunc, S, Ty, Name, InsertAtEnd); in CreateTruncOrBitCast()
3141 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3155 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3276 return Trunc; // int -> smaller int in getCastOpcode()
3374 case Instruction::Trunc: in castIsValid()
3452 ) : CastInst(Ty, Trunc, S, Name, InsertBefore) { in TruncInst()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVectorCombine.cpp1057 Value *Trunc = Builder.CreateTrunc(Shift, Type::getInt32Ty(F.getContext())); in vlalignb() local
1058 return Builder.CreateBitCast(Trunc, Hi->getType()); in vlalignb()
1089 Value *Trunc = Builder.CreateTrunc(Shift, Type::getInt32Ty(F.getContext())); in vralignb() local
1090 return Builder.CreateBitCast(Trunc, Lo->getType()); in vralignb()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DCallingConvLower.h47 Trunc, // The value is truncated in the location. enumerator
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstruction.def184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h503 case Instruction::Trunc: { in getCastInstrCost()
1008 case Instruction::Trunc: in getUserCost()

12345