| /netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| H A D | TypePromotion.cpp | 243 else if (auto *Trunc = dyn_cast<TruncInst>(V)) in isSource() local 244 return EqualTypeSize(Trunc); in isSource() 568 auto *Trunc = dyn_cast<Instruction>(Builder.CreateTrunc(V, TruncTy)); in TruncateSinks() local 569 if (Trunc) in TruncateSinks() 570 NewInsts.insert(Trunc); in TruncateSinks() 571 return Trunc; in TruncateSinks() 584 if (Instruction *Trunc = InsertTrunc(Arg, Ty)) { in TruncateSinks() local 585 Trunc->moveBefore(Call); in TruncateSinks() 586 Call->setArgOperand(i, Trunc); in TruncateSinks() 595 if (Instruction *Trunc = InsertTrunc(Switch->getCondition(), Ty)) { in TruncateSinks() local [all …]
|
| H A D | InterleavedLoadCombinePass.cpp | 171 Trunc, enumerator 498 pushBOperation(Trunc, APInt(sizeof(n) * 8, n)); in sextOrTrunc() 596 case Trunc: in print()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCasts.cpp | 209 case Instruction::Trunc: in EvaluateInDifferentType() 303 (CI.getOpcode() == Instruction::Trunc && in commonCastTransforms() 443 case Instruction::Trunc: in canEvaluateTruncated() 480 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, in foldVecTruncToExtElt() argument 482 Value *TruncOp = Trunc.getOperand(0); in foldVecTruncToExtElt() 483 Type *DestType = Trunc.getType(); in foldVecTruncToExtElt() 520 Instruction *InstCombinerImpl::narrowFunnelShift(TruncInst &Trunc) { in narrowFunnelShift() argument 521 assert((isa<VectorType>(Trunc.getSrcTy()) || in narrowFunnelShift() 522 shouldChangeType(Trunc.getSrcTy(), Trunc.getType())) && in narrowFunnelShift() 527 Type *DestTy = Trunc.getType(); in narrowFunnelShift() [all …]
|
| H A D | InstCombineShifts.cpp | 73 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 D | InstCombineInternal.h | 321 Instruction *narrowBinOp(TruncInst &Trunc); 324 Instruction *narrowFunnelShift(TruncInst &Trunc); 671 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
|
| H A D | InstCombinePHI.cpp | 788 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()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| H A D | IntegerDivision.cpp | 508 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 D | BypassSlowDivision.cpp | 295 Builder.CreateCast(Instruction::Trunc, Divisor, BypassType); in createFastBB() 297 Builder.CreateCast(Instruction::Trunc, Dividend, BypassType); in createFastBB()
|
| H A D | SimplifyIndVar.cpp | 1451 Value *Trunc = Builder.CreateTrunc(DU.WideDef, DU.NarrowDef->getType()); in truncateIVUse() local 1452 DU.NarrowUse->replaceUsesOfWith(DU.NarrowDef, Trunc); in truncateIVUse() 1719 Value *Trunc = Builder.CreateTrunc(WidePhi, DU.NarrowDef->getType()); in widenIVUse() local 1720 UsePhi->replaceAllUsesWith(Trunc); in widenIVUse()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | TruncInstCombine.cpp | 52 case Instruction::Trunc: in getRelevantOperands() 116 case Instruction::Trunc: in buildTruncExpressionDag() 322 case Instruction::Trunc: in ReduceExpressionDag()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULowerKernelArguments.cpp | 220 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); in runOnFunction() local 221 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy, in runOnFunction()
|
| H A D | AMDGPUISelLowering.cpp | 1824 SDValue Trunc = DAG.getNode(ISD::FTRUNC, DL, MVT::f32, Mul2); in LowerUDIVREM64() local 1825 SDValue Mad2 = DAG.getNode(FMAD, DL, MVT::f32, Trunc, in LowerUDIVREM64() 1829 SDValue Rcp_Hi = DAG.getNode(ISD::FP_TO_UINT, DL, HalfVT, Trunc); in LowerUDIVREM64() 2106 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, VT, Div, Flags); in LowerFREM() local 2107 SDValue Neg = DAG.getNode(ISD::FNEG, SL, VT, Trunc, Flags); in LowerFREM() 2120 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFCEIL() local 2129 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFCEIL() 2134 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add); in LowerFCEIL() 2277 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); in LowerFFLOOR() local 2286 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE); in LowerFFLOOR() [all …]
|
| H A D | AMDGPULegalizerInfo.cpp | 1926 auto Trunc = B.buildIntrinsicTrunc(S64, Src); in legalizeFceil() local 1931 auto NeTrunc = B.buildFCmp(CmpInst::FCMP_ONE, S1, Src, Trunc); in legalizeFceil() 1936 B.buildFAdd(MI.getOperand(0).getReg(), Trunc, Add); in legalizeFceil() 1950 auto Trunc = B.buildIntrinsicTrunc(Ty, Div, Flags); in legalizeFrem() local 1951 auto Neg = B.buildFNeg(Ty, Trunc, Flags); in legalizeFrem() 2066 auto Trunc = B.buildIntrinsicTrunc(S64, Src, Flags); in legalizeFPTOI() local 2070 auto Mul = B.buildFMul(S64, Trunc, K0, Flags); in legalizeFPTOI() 2072 auto Fma = B.buildFMA(S64, FloorMul, K1, Trunc, Flags); in legalizeFPTOI() 2867 auto Trunc = B.buildIntrinsicTrunc(S32, Mul2); in emitReciprocalU64() local 2870 auto Mad2 = B.buildFMAD(S32, Trunc, in emitReciprocalU64() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/clang/lib/AST/Interp/ |
| H A D | Interp.h | 121 auto Trunc = Value.trunc(Result.bitWidth()).toString(10); in AddSubMulHelper() local 123 S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type; in AddSubMulHelper() 846 unsigned Trunc(InterpState &S, CodePtr OpPC, unsigned Bits, const T &V) { in Trunc() function 904 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS)); in Shr() 906 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS)); in Shr() 919 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS)); in Shl() 921 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS)); in Shl()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/IR/ |
| H A D | ReplaceConstant.cpp | 51 case Instruction::Trunc: in createReplacementInstr()
|
| H A D | Instructions.cpp | 2654 case Instruction::Trunc: in isIntegerCast() 2694 case Instruction::Trunc: in isNoopCast() 2951 case Trunc: return new TruncInst (S, Ty, Name, InsertBefore); in Create() 2973 case Trunc: return new TruncInst (S, Ty, Name, InsertAtEnd); in Create() 3027 return Create(Instruction::Trunc, S, Ty, Name, InsertBefore); in CreateTruncOrBitCast() 3035 return Create(Instruction::Trunc, S, Ty, Name, InsertAtEnd); in CreateTruncOrBitCast() 3121 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast() 3135 (SrcBits > DstBits ? Instruction::Trunc : in CreateIntegerCast() 3256 return Trunc; // int -> smaller int in getCastOpcode() 3354 case Instruction::Trunc: in castIsValid() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
| H A D | ARMParallelDSP.cpp | 794 Value *Trunc = IRB.CreateTrunc(Top, OffsetTy); in CreateWideLoad() local 795 Value *NewOffsetSExt = IRB.CreateSExt(Trunc, OffsetSExt->getType()); in CreateWideLoad() 805 << *Trunc << "\n" in CreateWideLoad()
|
| H A D | MVELaneInterleavingPass.cpp | 177 case Instruction::Trunc: in tryInterleave()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyFastISel.cpp | 972 const auto *Trunc = cast<TruncInst>(I); in selectTrunc() local 974 unsigned Reg = getRegForValue(Trunc->getOperand(0)); in selectTrunc() 978 if (Trunc->getOperand(0)->getType()->isIntegerTy(64)) { in selectTrunc() 986 updateValueMap(Trunc, Reg); in selectTrunc() 1400 case Instruction::Trunc: in fastSelectInstruction()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorize.cpp | 532 void widenIntOrFpInduction(PHINode *IV, Value *Start, TruncInst *Trunc, 1433 auto *Trunc = dyn_cast<TruncInst>(I); in isOptimizableIVTruncate() local 1434 if (!Trunc) in isOptimizableIVTruncate() 1446 Value *Op = Trunc->getOperand(0); in isOptimizableIVTruncate() 2271 Start = Builder.CreateCast(Instruction::Trunc, Start, TruncType); in createVectorIntOrFpInductionPHI() 2385 TruncInst *Trunc, VPValue *Def, in widenIntOrFpInduction() argument 2399 Instruction *EntryVal = Trunc ? cast<Instruction>(Trunc) : IV; in widenIntOrFpInduction() 2430 if (Trunc) { in widenIntOrFpInduction() 2431 auto *TruncType = cast<IntegerType>(Trunc->getType()); in widenIntOrFpInduction() 2450 if (Trunc) in widenIntOrFpInduction() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| H A D | SpeculativeExecution.cpp | 248 case Instruction::Trunc: in ComputeSpeculationCost()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVectorCombine.cpp | 1052 Value *Trunc = Builder.CreateTrunc(Shift, Type::getInt32Ty(F.getContext())); in vlalignb() local 1053 return Builder.CreateBitCast(Trunc, Hi->getType()); in vlalignb() 1084 Value *Trunc = Builder.CreateTrunc(Shift, Type::getInt32Ty(F.getContext())); in vralignb() local 1085 return Builder.CreateBitCast(Trunc, Lo->getType()); in vralignb()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| H A D | CallingConvLower.h | 47 Trunc, // The value is truncated in the location. enumerator
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/IR/ |
| H A D | Instruction.def | 184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| H A D | TargetTransformInfoImpl.h | 503 case Instruction::Trunc: { in getCastInstrCost() 1005 case Instruction::Trunc: in getUserCost()
|