Home
last modified time | relevance | path

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

12345

/openbsd-src/gnu/llvm/llvm/lib/CodeGen/
H A DTypePromotion.cpp242 else if (auto *Trunc = dyn_cast<TruncInst>(V)) in isSource() local
243 return EqualTypeSize(Trunc); in isSource()
530 auto *Trunc = dyn_cast<Instruction>(Builder.CreateTrunc(V, TruncTy)); in TruncateSinks() local
531 if (Trunc) in TruncateSinks()
532 NewInsts.insert(Trunc); in TruncateSinks()
533 return Trunc; in TruncateSinks()
546 if (Instruction *Trunc = InsertTrunc(Arg, Ty)) { in TruncateSinks() local
547 Trunc->moveBefore(Call); in TruncateSinks()
548 Call->setArgOperand(i, Trunc); in TruncateSinks()
557 if (Instruction *Trunc = InsertTrunc(Switch->getCondition(), Ty)) { in TruncateSinks() local
[all …]
H A DCodeGenCommonISel.cpp212 MachineInstr &Trunc, in getSalvageOpsForTrunc() argument
214 assert(Trunc.getOpcode() == TargetOpcode::G_TRUNC && "Must be a G_TRUNC"); in getSalvageOpsForTrunc()
216 const auto FromLLT = MRI.getType(Trunc.getOperand(1).getReg()); in getSalvageOpsForTrunc()
217 const auto ToLLT = MRI.getType(Trunc.defs().begin()->getReg()); in getSalvageOpsForTrunc()
227 return &Trunc.getOperand(1); in getSalvageOpsForTrunc()
H A DInterleavedLoadCombinePass.cpp170 Trunc, enumerator
497 pushBOperation(Trunc, APInt(sizeof(n) * 8, n)); in sextOrTrunc()
595 case Trunc: in print()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp219 case Instruction::Trunc: in EvaluateInDifferentType()
318 (CI.getOpcode() == Instruction::Trunc && in commonCastTransforms()
476 case Instruction::Trunc: in canEvaluateTruncated()
529 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, in foldVecTruncToExtElt() argument
531 Value *TruncOp = Trunc.getOperand(0); in foldVecTruncToExtElt()
532 Type *DestType = Trunc.getType(); in foldVecTruncToExtElt()
569 Instruction *InstCombinerImpl::narrowFunnelShift(TruncInst &Trunc) { in narrowFunnelShift() argument
570 assert((isa<VectorType>(Trunc.getSrcTy()) || in narrowFunnelShift()
571 shouldChangeType(Trunc.getSrcTy(), Trunc.getType())) && in narrowFunnelShift()
576 Type *DestTy = Trunc.getType(); in narrowFunnelShift()
[all …]
H A DInstCombineShifts.cpp72 Value *Trunc = nullptr; in reassociateShiftAmtsOfTwoSameDirectionShifts() local
74 m_CombineOr(m_CombineAnd(m_Trunc(m_Instruction(Sh1)), m_Value(Trunc)), in reassociateShiftAmtsOfTwoSameDirectionShifts()
104 if (Trunc && !AnalyzeForSignBitExtraction && in reassociateShiftAmtsOfTwoSameDirectionShifts()
126 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
145 if (!Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
159 if (Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
161 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType()); in reassociateShiftAmtsOfTwoSameDirectionShifts()
196 Value *Trunc; in dropRedundantMaskingOfLeftShiftInput() local
197 if (match(Masked, m_CombineAnd(m_Trunc(m_Value(Masked)), m_Value(Trunc))) && in dropRedundantMaskingOfLeftShiftInput()
198 !Trunc->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
[all …]
H A DInstCombineInternal.h326 Instruction *narrowBinOp(TruncInst &Trunc);
329 Instruction *narrowFunnelShift(TruncInst &Trunc);
583 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
H A DInstCombinePHI.cpp827 Constant *Trunc = ConstantExpr::getTrunc(C, NarrowType); in foldPHIArgZextsIntoPHI() local
828 if (ConstantExpr::getZExt(Trunc, C->getType()) != C) in foldPHIArgZextsIntoPHI()
830 NewIncoming.push_back(Trunc); in foldPHIArgZextsIntoPHI()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp479 Value *Trunc; in expandRemainderUpTo32Bits() local
491 Trunc = Builder.CreateTrunc(ExtRem, RemTy); in expandRemainderUpTo32Bits()
493 Rem->replaceAllUsesWith(Trunc); in expandRemainderUpTo32Bits()
525 Value *Trunc; in expandRemainderUpTo64Bits() local
537 Trunc = Builder.CreateTrunc(ExtRem, RemTy); in expandRemainderUpTo64Bits()
539 Rem->replaceAllUsesWith(Trunc); in expandRemainderUpTo64Bits()
574 Value *Trunc; in expandDivisionUpTo32Bits() local
586 Trunc = Builder.CreateTrunc(ExtDiv, DivTy); in expandDivisionUpTo32Bits()
588 Div->replaceAllUsesWith(Trunc); in expandDivisionUpTo32Bits()
620 Value *Trunc; in expandDivisionUpTo64Bits() local
[all …]
H A DBypassSlowDivision.cpp293 Builder.CreateCast(Instruction::Trunc, Divisor, BypassType); in createFastBB()
295 Builder.CreateCast(Instruction::Trunc, Dividend, BypassType); in createFastBB()
H A DSimplifyIndVar.cpp1444 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType()); in truncateIVUse() local
1445 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); in truncateIVUse()
1714 Value *Trunc = Builder.CreateTrunc(WidePhi, DU.NarrowDef->getType()); in widenIVUse() local
1715 UsePhi->replaceAllUsesWith(Trunc); in widenIVUse()
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp218 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); in runOnFunction() local
219 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy, in runOnFunction()
H A DAMDGPUISelLowering.cpp1860 SDValue Trunc = DAG.getNode(ISD::FTRUNC, DL, MVT::f32, Mul2); in LowerUDIVREM64() local
1861 SDValue Mad2 = DAG.getNode(FMAD, DL, MVT::f32, Trunc, in LowerUDIVREM64()
1865 SDValue Rcp_Hi = DAG.getNode(ISD::FP_TO_UINT, DL, HalfVT, Trunc); in LowerUDIVREM64()
2140 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, VT, Div, Flags); in LowerFREM() local
2141 SDValue Neg = DAG.getNode(ISD::FNEG, SL, VT, Trunc, Flags); in LowerFREM()
2154 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFCEIL() local
2163 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFCEIL()
2168 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFCEIL()
2315 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFFLOOR() local
2324 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFFLOOR()
[all …]
H A DAMDGPULegalizerInfo.cpp2081 auto Trunc = B.buildIntrinsicTrunc(S64, Src); in legalizeFceil() local
2086 auto NeTrunc = B.buildFCmp(CmpInst::FCMP_ONE, S1, Src, Trunc); in legalizeFceil()
2091 B.buildFAdd(MI.getOperand(0).getReg(), Trunc, Add); in legalizeFceil()
2106 auto Trunc = B.buildIntrinsicTrunc(Ty, Div, Flags); in legalizeFrem() local
2107 auto Neg = B.buildFNeg(Ty, Trunc, Flags); in legalizeFrem()
2263 auto Trunc = B.buildIntrinsicTrunc(SrcLT, Src, Flags); in legalizeFPTOI() local
2272 Trunc = B.buildFAbs(S32, Trunc, Flags); in legalizeFPTOI()
2285 auto Mul = B.buildFMul(SrcLT, Trunc, K0, Flags); in legalizeFPTOI()
2287 auto Fma = B.buildFMA(SrcLT, FloorMul, K1, Trunc, Flags); in legalizeFPTOI()
3495 auto Trunc = B.buildIntrinsicTrunc(S32, Mul2); in emitReciprocalU64() local
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp51 case Instruction::Trunc: in getRelevantOperands()
128 case Instruction::Trunc: in buildTruncExpressionGraph()
394 case Instruction::Trunc: in ReduceExpressionGraph()
/openbsd-src/gnu/llvm/clang/lib/AST/Interp/
H A DInterp.h130 SmallString<32> Trunc; in CheckDivRem() local
131 (-LHSInt.extend(LHSInt.getBitWidth() + 1)).toString(Trunc, 10); in CheckDivRem()
134 S.CCEDiag(Loc, diag::note_constexpr_overflow) << Trunc << E->getType(); in CheckDivRem()
168 SmallString<32> Trunc; in AddSubMulHelper() local
169 Value.trunc(Result.bitWidth()).toString(Trunc, 10); in AddSubMulHelper()
171 S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type; in AddSubMulHelper()
366 SmallString<32> Trunc; in IncDecHelper() local
367 APResult.trunc(Result.bitWidth()).toString(Trunc, 10); in IncDecHelper()
369 S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type; in IncDecHelper()
/openbsd-src/gnu/llvm/llvm/lib/Target/ARM/
H A DARMParallelDSP.cpp790 Value *Trunc = IRB.CreateTrunc(Top, OffsetTy); in CreateWideLoad() local
791 Value *NewOffsetSExt = IRB.CreateSExt(Trunc, OffsetSExt->getType()); in CreateWideLoad()
801 << *Trunc << "\n" in CreateWideLoad()
H A DMVELaneInterleavingPass.cpp178 case Instruction::Trunc: in tryInterleave()
H A DMVEGatherScatterLowering.cpp572 Load = TruncInst::Create(Instruction::Trunc, Load, MemoryTy); in tryCreateMaskedGatherOffset()
674 if (TruncInst *Trunc = dyn_cast<TruncInst>(Input)) { in tryCreateMaskedScatterOffset() local
675 Value *PreTrunc = Trunc->getOperand(0); in tryCreateMaskedScatterOffset()
/openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFastISel.cpp974 const auto *Trunc = cast<TruncInst>(I); in selectTrunc() local
976 Register Reg = getRegForValue(Trunc->getOperand(0)); in selectTrunc()
980 if (Trunc->getOperand(0)->getType()->isIntegerTy(64)) { in selectTrunc()
988 updateValueMap(Trunc, Reg); in selectTrunc()
1402 case Instruction::Trunc: in fastSelectInstruction()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DSpeculativeExecution.cpp248 case Instruction::Trunc: in ComputeSpeculationCost()
/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DTypeMetadataUtils.cpp170 case Instruction::Trunc: in getPointerAtOffset()
/openbsd-src/gnu/llvm/llvm/lib/IR/
H A DInstructions.cpp3054 case Instruction::Trunc: in isIntegerCast()
3094 case Instruction::Trunc: in isNoopCast()
3359 case Trunc: return new TruncInst (S, Ty, Name, InsertBefore); in Create()
3381 case Trunc: return new TruncInst (S, Ty, Name, InsertAtEnd); in Create()
3435 return Create(Instruction::Trunc, S, Ty, Name, InsertBefore); in CreateTruncOrBitCast()
3443 return Create(Instruction::Trunc, S, Ty, Name, InsertAtEnd); in CreateTruncOrBitCast()
3529 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3543 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3664 return Trunc; // int -> smaller int in getCastOpcode()
3762 case Instruction::Trunc: in castIsValid()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp1392 auto *Trunc = dyn_cast<TruncInst>(I); in isOptimizableIVTruncate() local
1393 if (!Trunc) in isOptimizableIVTruncate()
1405 Value *Op = Trunc->getOperand(0); in isOptimizableIVTruncate()
3581 case Instruction::Trunc: in truncateToMinimalBitwidths()
3938 Value *Trunc = Builder.CreateTrunc(RdxParts[Part], RdxVecTy); in fixReduction() local
3939 Value *Extnd = RdxDesc.isSigned() ? Builder.CreateSExt(Trunc, VecTy) in fixReduction()
3940 : Builder.CreateZExt(Trunc, VecTy); in fixReduction()
3942 if (U != Trunc) { in fixReduction()
7241 case Instruction::Trunc: in getInstructionCost()
7272 if (Opcode == Instruction::Trunc || Opcode == Instruction::FPTrunc) { in getInstructionCost()
[all …]
/openbsd-src/gnu/llvm/llvm/include/llvm/IR/
H A DInstruction.def184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers
/openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/
H A DCallingConvLower.h45 Trunc, // The value is truncated in the location. enumerator

12345