Home
last modified time | relevance | path

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

12345

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DTypePromotion.cpp241 return EqualTypeSize(Trunc); in isSource()
531 if (Trunc) in TruncateSinks()
532 NewInsts.insert(Trunc); in TruncateSinks()
533 return Trunc; in TruncateSinks()
547 Trunc->moveBefore(Call); in TruncateSinks()
558 Trunc->moveBefore(Switch); in TruncateSinks()
578 Trunc->moveBefore(I); in TruncateSinks()
579 I->setOperand(i, Trunc); in TruncateSinks()
630 Builder.SetInsertPoint(Trunc); in ConvertTruncs()
668 TruncTysMap[Trunc].push_back(Trunc->getDestTy()); in Mutate()
[all …]
H A DCodeGenCommonISel.cpp218 MachineInstr &Trunc, in getSalvageOpsForTrunc() argument
220 assert(Trunc.getOpcode() == TargetOpcode::G_TRUNC && "Must be a G_TRUNC"); in getSalvageOpsForTrunc()
222 const auto FromLLT = MRI.getType(Trunc.getOperand(1).getReg()); in getSalvageOpsForTrunc()
223 const auto ToLLT = MRI.getType(Trunc.defs().begin()->getReg()); in getSalvageOpsForTrunc()
233 return &Trunc.getOperand(1); in getSalvageOpsForTrunc()
H A DInterleavedLoadCombinePass.cpp171 Trunc, enumerator
498 pushBOperation(Trunc, APInt(sizeof(n) * 8, n)); in sextOrTrunc()
596 case Trunc: in print()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp56 case Instruction::Trunc: in EvaluateInDifferentType()
341 case Instruction::Trunc: in canEvaluateTruncated()
396 Type *DestType = Trunc.getType(); in foldVecTruncToExtElt()
435 shouldChangeType(Trunc.getSrcTy(), Trunc.getType())) && in narrowFunnelShift()
440 Type *DestTy = Trunc.getType(); in narrowFunnelShift()
537 Type *SrcTy = Trunc.getSrcTy(); in narrowBinOp()
538 Type *DestTy = Trunc.getType(); in narrowBinOp()
652 Type *DestTy = Trunc.getType(); in shrinkInsertElt()
690 << Trunc << '\n'); in visitTrunc()
727 return &Trunc; in visitTrunc()
[all …]
H A DInstCombineShifts.cpp72 Value *Trunc = nullptr; in reassociateShiftAmtsOfTwoSameDirectionShifts() local
104 if (Trunc && !AnalyzeForSignBitExtraction && in reassociateShiftAmtsOfTwoSameDirectionShifts()
126 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
150 if (!Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
164 if (Trunc) { in reassociateShiftAmtsOfTwoSameDirectionShifts()
166 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType()); in reassociateShiftAmtsOfTwoSameDirectionShifts()
201 Value *Trunc; in dropRedundantMaskingOfLeftShiftInput() local
203 !Trunc->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
919 TruncInst *Trunc = dyn_cast<TruncInst>(U); in foldLShrOverflowBit() local
920 if (!Trunc || Trunc->getType()->getScalarSizeInBits() > ShAmt) in foldLShrOverflowBit()
[all …]
H A DInstCombineInternal.h379 Instruction *narrowBinOp(TruncInst &Trunc);
382 Instruction *narrowFunnelShift(TruncInst &Trunc);
661 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
H A DInstCombinePHI.cpp828 Constant *Trunc = getLosslessUnsignedTrunc(C, NarrowType); in foldPHIArgZextsIntoPHI() local
829 if (!Trunc) in foldPHIArgZextsIntoPHI()
831 NewIncoming.push_back(Trunc); in foldPHIArgZextsIntoPHI()
/freebsd/contrib/llvm-project/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()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanTransforms.cpp818 case Instruction::Trunc: { in simplifyRecipe()
826 VPValue *Trunc = R.getVPSingleValue(); in simplifyRecipe() local
827 Type *TruncTy = TypeInfo.inferScalarType(Trunc); in simplifyRecipe()
830 Trunc->replaceAllUsesWith(A); in simplifyRecipe()
839 Trunc->replaceAllUsesWith(VPC); in simplifyRecipe()
841 auto *VPC = new VPWidenCastRecipe(Instruction::Trunc, A, TruncTy); in simplifyRecipe()
843 Trunc->replaceAllUsesWith(VPC); in simplifyRecipe()
983 ? new VPWidenCastRecipe(Instruction::Trunc, Op, NewResTy) in truncateToMinimalBitwidths()
H A DVPlan.h1551 TruncInst *Trunc; variable
1558 Trunc(nullptr), IndDesc(IndDesc) { in VPWidenIntOrFpInductionRecipe()
1564 TruncInst *Trunc) in VPWidenIntOrFpInductionRecipe() argument
1565 : VPHeaderPHIRecipe(VPDef::VPWidenIntOrFpInductionSC, Trunc, Start), in VPWidenIntOrFpInductionRecipe()
1566 IV(IV), Trunc(Trunc), IndDesc(IndDesc) { in VPWidenIntOrFpInductionRecipe()
1604 TruncInst *getTruncInst() { return Trunc; } in getTruncInst()
1605 const TruncInst *getTruncInst() const { return Trunc; } in getTruncInst()
1618 return Trunc ? Trunc->getType() : IV->getType(); in getScalarType()
H A DVPlanAnalysis.cpp165 case Instruction::Trunc: in inferScalarTypeForRecipe()
/freebsd/contrib/llvm-project/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()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp269 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); in lowerKernelArguments() local
270 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy, in lowerKernelArguments()
H A DAMDGPUISelLowering.cpp2040 SDValue Mad2 = DAG.getNode(FMAD, DL, MVT::f32, Trunc, in LowerUDIVREM64()
2318 SDValue Neg = DAG.getNode(ISD::FNEG, SL, VT, Trunc, Flags); in LowerFREM()
2331 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFCEIL() local
2345 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFCEIL()
2506 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFFLOOR()
3413 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, SrcVT, Src); in LowerFP_TO_INT64() local
3424 Trunc = DAG.getNode(ISD::FABS, SL, SrcVT, Trunc); in LowerFP_TO_INT64()
3442 SDValue Mul = DAG.getNode(ISD::FMUL, SL, SrcVT, Trunc, K0); in LowerFP_TO_INT64()
4160 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, MidVT, in performTruncateCombine() local
4162 DCI.AddToWorklist(Trunc.getNode()); in performTruncateCombine()
[all …]
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/
H A DInterp.h171 SmallString<32> Trunc; in CheckDivRem() local
172 (-LHSInt.extend(LHSInt.getBitWidth() + 1)).toString(Trunc, 10); in CheckDivRem()
285 SmallString<32> Trunc; in AddSubMulHelper() local
286 Value.trunc(Result.bitWidth()).toString(Trunc, 10); in AddSubMulHelper()
289 << Trunc << Type << E->getSourceRange(); in AddSubMulHelper()
497 SmallString<32> Trunc; in Neg() local
498 NegatedValue.trunc(Result.bitWidth()).toString(Trunc, 10); in Neg()
501 << Trunc << Type << E->getSourceRange(); in Neg()
551 SmallString<32> Trunc; in IncDecHelper() local
552 APResult.trunc(Result.bitWidth()).toString(Trunc, 10); in IncDecHelper()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMParallelDSP.cpp783 Value *Trunc = IRB.CreateTrunc(Top, OffsetTy); in CreateWideLoad() local
784 Value *NewOffsetSExt = IRB.CreateSExt(Trunc, OffsetSExt->getType()); in CreateWideLoad()
794 << *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()
/freebsd/contrib/llvm-project/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()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DTypeMetadataUtils.cpp172 case Instruction::Trunc: in getPointerAtOffset()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSpeculativeExecution.cpp248 case Instruction::Trunc: in ComputeSpeculationCost()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp206 case Instruction::Trunc: in getIntImmCostInst()
828 if (Opcode == Instruction::Trunc && isInt128InVR(Src) && I != nullptr) { in getCastInstrCost()
855 if (Opcode == Instruction::Trunc) { in getCastInstrCost()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp3056 case Instruction::Trunc: in isIntegerCast()
3079 case Instruction::Trunc: in isNoopCast()
3360 case Trunc: return new TruncInst (S, Ty, Name, InsertAtEnd); in Create()
3414 return Create(Instruction::Trunc, S, Ty, Name, InsertBefore); in CreateTruncOrBitCast()
3422 return Create(Instruction::Trunc, S, Ty, Name, InsertAtEnd); in CreateTruncOrBitCast()
3508 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3522 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast()
3643 return Trunc; // int -> smaller int in getCastOpcode()
3741 case Instruction::Trunc: in castIsValid()
3819 ) : CastInst(Ty, Trunc, S, Name, InsertBefore) { in TruncInst()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstruction.def184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers

12345