Searched refs:Trunc (Results 1 - 25 of 92) sorted by relevance

1234

/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DTypePromotion.cpp241 else if (auto *Trunc = dyn_cast<TruncInst>(V))
242 return EqualTypeSize(Trunc);
563 LLVM_DEBUG(dbgs() << "IR Promotion: Creating " << *TruncTy << " Trunc for "
566 auto *Trunc = dyn_cast<Instruction>(Builder.CreateTrunc(V, TruncTy));
567 if (Trunc)
568 NewInsts.insert(Trunc);
569 return Trunc;
582 if (Instruction *Trunc = InsertTrunc(Arg, Ty)) {
583 Trunc->moveBefore(Call);
584 Call->setArgOperand(i, Trunc);
636 auto *Trunc = cast<TruncInst>(Src); local
658 auto *Trunc = cast<TruncInst>(V); local
696 auto *Trunc = cast<TruncInst>(V); local
[all...]
H A DInterleavedLoadCombinePass.cpp171 Trunc, enumerator in enum:__anon1731::Polynomial::BOps
498 pushBOperation(Trunc, APInt(sizeof(n) * 8, n));
596 case Trunc:
597 OS << "Trunc ";
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DIntegerDivision.cpp508 Value *Trunc; local
520 Trunc = Builder.CreateTrunc(ExtRem, RemTy);
522 Rem->replaceAllUsesWith(Trunc);
556 Value *Trunc; local
568 Trunc = Builder.CreateTrunc(ExtRem, RemTy);
570 Rem->replaceAllUsesWith(Trunc);
605 Value *Trunc; local
617 Trunc = Builder.CreateTrunc(ExtDiv, DivTy);
619 Div->replaceAllUsesWith(Trunc);
654 Value *Trunc; local
[all...]
H A DBypassSlowDivision.cpp294 Builder.CreateCast(Instruction::Trunc, Divisor, BypassType);
296 Builder.CreateCast(Instruction::Trunc, Dividend, BypassType);
H A DLocal.cpp1690 // Casts other than Trunc or SExt to scalar types cannot be salvaged.
2849 if (TruncInst *Trunc = dyn_cast<TruncInst>(I->user_back())) {
2850 DemandedTy = cast<IntegerType>(Trunc->getType());
2886 auto *Trunc = CastInst::Create(Instruction::Trunc, Provider, DemandedTy, local
2888 InsertedInsts.push_back(Trunc);
2889 Provider = Trunc;
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp193 case Instruction::Trunc:
420 case Instruction::Trunc:
457 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, InstCombiner &IC) { argument
458 Value *TruncOp = Trunc.getOperand(0);
459 Type *DestType = Trunc.getType();
496 Instruction *InstCombiner::narrowRotate(TruncInst &Trunc) { argument
497 assert((isa<VectorType>(Trunc.getSrcTy()) ||
498 shouldChangeType(Trunc.getSrcTy(), Trunc.getType())) &&
503 Type *DestTy = Trunc
580 narrowBinOp(TruncInst &Trunc) argument
638 shrinkSplatShuffle(TruncInst &Trunc, InstCombiner::BuilderTy &Builder) argument
658 shrinkInsertElt(CastInst &Trunc, InstCombiner::BuilderTy &Builder) argument
1168 Value *Trunc = Builder.CreateTrunc(A, CI.getType()); local
[all...]
H A DInstCombineShifts.cpp48 Value *Trunc = nullptr; local
50 m_CombineOr(m_CombineAnd(m_Trunc(m_Instruction(Sh1)), m_Value(Trunc)),
98 if (Trunc && !AnalyzeForSignBitExtraction &&
120 if (HadTwoRightShifts && (Trunc || AnalyzeForSignBitExtraction)) {
139 if (!Trunc) {
153 if (Trunc) {
155 Ret = CastInst::Create(Instruction::Trunc, NewShift, Sh0->getType());
190 Value *Trunc; local
191 if (match(Masked, m_CombineAnd(m_Trunc(m_Value(Masked)), m_Value(Trunc))) &&
192 !Trunc
[all...]
H A DInstCombineInternal.h604 Instruction *narrowBinOp(TruncInst &Trunc);
607 Instruction *narrowRotate(TruncInst &Trunc);
934 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
H A DInstCombinePHI.cpp701 Constant *Trunc = ConstantExpr::getTrunc(C, NarrowType); local
702 if (ConstantExpr::getZExt(Trunc, C->getType()) != C)
704 NewIncoming.push_back(Trunc);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DTruncInstCombine.cpp40 /// that instruction, with respect to the Trunc expression dag optimizaton.
44 case Instruction::Trunc:
104 case Instruction::Trunc:
311 case Instruction::Trunc:
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp207 Value *Trunc = Builder.CreateTrunc(ExtractBits, ArgIntTy); local
208 Value *NewVal = Builder.CreateBitCast(Trunc, ArgTy,
H A DAMDGPUISelLowering.cpp1690 SDValue Trunc = DAG.getNode(ISD::FTRUNC, DL, MVT::f32, Mul2); local
1691 SDValue Mad2 = DAG.getNode(FMAD, DL, MVT::f32, Trunc,
1695 SDValue Rcp_Hi = DAG.getNode(ISD::FP_TO_UINT, DL, HalfVT, Trunc);
2047 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); local
2056 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE);
2061 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add);
2274 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src); local
2283 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE);
2288 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add);
2587 SDValue Trunc local
3263 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, MidVT, local
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreLowerThreadLocal.cpp108 case Instruction::Trunc:
/freebsd-11-stable/contrib/llvm-project/clang/lib/AST/Interp/
H A DInterp.h121 auto Trunc = Value.trunc(Result.bitWidth()).toString(10); local
123 S.report(Loc, diag::warn_integer_constant_overflow) << Trunc << Type;
846 unsigned Trunc(InterpState &S, CodePtr OpPC, unsigned Bits, const T &V) {
904 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS));
906 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS));
919 return ShiftRight<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, -RHS));
921 return ShiftLeft<TL, TR>(S, OpPC, LHS, Trunc<TR, TL>(S, OpPC, Bits, RHS));
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp448 /// Widen an integer or floating-point induction variable \p IV. If \p Trunc
451 void widenIntOrFpInduction(PHINode *IV, TruncInst *Trunc = nullptr);
1164 auto *Trunc = dyn_cast<TruncInst>(I); local
1165 if (!Trunc)
1177 Value *Op = Trunc->getOperand(0);
1699 Start = Builder.CreateCast(Instruction::Trunc, Start, TruncType);
1805 void InnerLoopVectorizer::widenIntOrFpInduction(PHINode *IV, TruncInst *Trunc) {
1821 Instruction *EntryVal = Trunc ? cast<Instruction>(Trunc) : IV;
1868 if (Trunc) {
[all...]
H A DVPlan.h797 TruncInst *Trunc;
800 VPWidenIntOrFpInductionRecipe(PHINode *IV, TruncInst *Trunc = nullptr)
801 : VPRecipeBase(VPWidenIntOrFpInductionSC), IV(IV), Trunc(Trunc) {}
H A DVPlan.cpp682 if (Trunc) {
685 O << " +\n" << Indent << "\" " << VPlanIngredient(Trunc) << "\\l\"";
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMParallelDSP.cpp792 Value *Trunc = IRB.CreateTrunc(Top, OffsetTy); local
793 Value *NewOffsetSExt = IRB.CreateSExt(Trunc, OffsetSExt->getType());
803 << *Trunc << "\n"
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h418 case Instruction::Trunc:
710 if (Opcode == Instruction::BitCast || Opcode == Instruction::Trunc)
714 if (Opcode == Instruction::Trunc &&
1384 2 * ConcreteTTI->getCastInstrCost(Instruction::Trunc, RetTy, ExtTy);
1448 2 * ConcreteTTI->getCastInstrCost(Instruction::Trunc, MulTy, ExtTy);
H A DCallingConvLower.h47 Trunc, // The value is truncated in the location. enumerator in enum:llvm::CCValAssign::LocInfo
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFastISel.cpp947 const auto *Trunc = cast<TruncInst>(I); local
949 unsigned Reg = getRegForValue(Trunc->getOperand(0));
953 if (Trunc->getOperand(0)->getType()->isIntegerTy(64)) {
961 updateValueMap(Trunc, Reg);
1368 case Instruction::Trunc:
/freebsd-11-stable/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp2448 case Instruction::Trunc:
2487 case Instruction::Trunc:
2564 { 1, 0, 0,99,99, 0, 0,99,99,99, 0, 3, 0}, // Trunc -+
2744 case Trunc: return new TruncInst (S, Ty, Name, InsertBefore);
2766 case Trunc: return new TruncInst (S, Ty, Name, InsertAtEnd);
2820 return Create(Instruction::Trunc, S, Ty, Name, InsertBefore);
2828 return Create(Instruction::Trunc, S, Ty, Name, InsertAtEnd);
2912 (SrcBits > DstBits ? Instruction::Trunc :
2926 (SrcBits > DstBits ? Instruction::Trunc :
3105 return Trunc; // in
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DDemandedBits.cpp264 case Instruction::Trunc:
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsInstructionSelector.cpp552 MachineInstr *Trunc = BuildMI(MBB, I, I.getDebugLoc(), TII.get(Opcode)) local
555 if (!constrainSelectedInstRegOperands(*Trunc, TII, TRI, RBI))
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp166 case Instruction::Trunc:
682 if (Opcode == Instruction::Trunc) {

Completed in 483 milliseconds

1234