/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | TypePromotion.cpp | 241 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 D | CodeGenCommonISel.cpp | 218 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 D | InterleavedLoadCombinePass.cpp | 171 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 D | InstCombineCasts.cpp | 56 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 D | InstCombineShifts.cpp | 72 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 D | InstCombineInternal.h | 379 Instruction *narrowBinOp(TruncInst &Trunc); 382 Instruction *narrowFunnelShift(TruncInst &Trunc); 661 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
|
H A D | InstCombinePHI.cpp | 828 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 D | IntegerDivision.cpp | 479 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 D | BypassSlowDivision.cpp | 293 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 D | VPlanTransforms.cpp | 818 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 D | VPlan.h | 1551 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 D | VPlanAnalysis.cpp | 165 case Instruction::Trunc: in inferScalarTypeForRecipe()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
H A D | TruncInstCombine.cpp | 51 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 D | AMDGPULowerKernelArguments.cpp | 269 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); in lowerKernelArguments() local 270 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy, in lowerKernelArguments()
|
H A D | AMDGPUISelLowering.cpp | 2040 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 D | Interp.h | 171 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 D | ARMParallelDSP.cpp | 783 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 D | MVELaneInterleavingPass.cpp | 178 case Instruction::Trunc: in tryInterleave()
|
H A D | MVEGatherScatterLowering.cpp | 572 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 D | WebAssemblyFastISel.cpp | 974 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 D | TypeMetadataUtils.cpp | 172 case Instruction::Trunc: in getPointerAtOffset()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SpeculativeExecution.cpp | 248 case Instruction::Trunc: in ComputeSpeculationCost()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZTargetTransformInfo.cpp | 206 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 D | Instructions.cpp | 3056 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 D | Instruction.def | 184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers
|