Home
last modified time | relevance | path

Searched refs:TruncInst (Results 1 – 25 of 60) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DAggressiveInstCombineInternal.h50 class TruncInst; variable
61 SmallVector<TruncInst *, 4> Worklist;
64 TruncInst *CurrentTruncInst = nullptr;
H A DTruncInstCombine.cpp9 // TruncInstCombine - looks for expression graphs post-dominated by TruncInst
14 // 2. Supported leaves: ZExtInst, SExtInst, TruncInst and Constant value.
402 assert(!isa<TruncInst>(I) && "Cannot reach here with TruncInst"); in ReduceExpressionGraph()
413 // 1. Update Old-TruncInst -> New-TruncInst. in ReduceExpressionGraph()
414 // 2. Remove Old-TruncInst (if New node is not TruncInst). in ReduceExpressionGraph()
415 // 3. Add New-TruncInst (if Old node was not TruncInst) in ReduceExpressionGraph()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp367 cast<TruncInst>(this)->setHasNoUnsignedWrap(b); in setHasNoUnsignedWrap()
374 cast<TruncInst>(this)->setHasNoSignedWrap(b); in setHasNoSignedWrap()
391 return cast<TruncInst>(this)->hasNoUnsignedWrap(); in hasNoUnsignedWrap()
398 return cast<TruncInst>(this)->hasNoSignedWrap(); in hasNoSignedWrap()
441 cast<TruncInst>(this)->setHasNoUnsignedWrap(false); in dropPoisonGeneratingFlags()
442 cast<TruncInst>(this)->setHasNoSignedWrap(false); in dropPoisonGeneratingFlags()
628 if (auto *TI = dyn_cast<TruncInst>(V)) { in copyIRFlags()
629 if (isa<TruncInst>(this)) { in copyIRFlags()
667 if (auto *TI = dyn_cast<TruncInst>(V)) { in andIRFlags()
668 if (isa<TruncInst>(this)) { in andIRFlags()
H A DOperator.cpp31 if (auto *TI = dyn_cast<TruncInst>(this)) in hasPoisonGeneratingFlags()
H A DInstructions.cpp2977 case Trunc: return new TruncInst (S, Ty, Name, InsertBefore); in Create()
3349 TruncInst::TruncInst(Value *S, Type *Ty, const Twine &Name, in TruncInst() function in TruncInst
4258 TruncInst *TruncInst::cloneImpl() const { in cloneImpl()
4259 return new TruncInst(getOperand(0), getType()); in cloneImpl()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DTypePromotion.cpp241 else if (auto *Trunc = dyn_cast<TruncInst>(V)) in isSource()
615 if (NewInsts.count(Src) && isa<TruncInst>(Src)) { in Cleanup()
616 auto *Trunc = cast<TruncInst>(Src); in Cleanup()
634 if (!isa<TruncInst>(V) || Sources.count(V)) in ConvertTruncs()
637 auto *Trunc = cast<TruncInst>(V); in ConvertTruncs()
673 if (!isa<TruncInst>(V) || Sources.count(V)) in Mutate()
675 auto *Trunc = cast<TruncInst>(V); in Mutate()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPRecipeBuilder.h85 tryToOptimizeInductionTruncate(TruncInst *I, ArrayRef<VPValue *> Operands,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineInternal.h136 Instruction *visitTrunc(TruncInst &CI);
390 Instruction *narrowBinOp(TruncInst &Trunc);
393 Instruction *narrowFunnelShift(TruncInst &Trunc);
683 Instruction *foldICmpTruncConstant(ICmpInst &Cmp, TruncInst *Trunc,
H A DInstCombineCasts.cpp401 static Instruction *foldVecTruncToExtElt(TruncInst &Trunc, in foldVecTruncToExtElt()
441 Instruction *InstCombinerImpl::narrowFunnelShift(TruncInst &Trunc) { in narrowFunnelShift()
544 Instruction *InstCombinerImpl::narrowBinOp(TruncInst &Trunc) { in narrowBinOp()
630 static Instruction *shrinkSplatShuffle(TruncInst &Trunc, in shrinkSplatShuffle()
677 Instruction *InstCombinerImpl::visitTrunc(TruncInst &Trunc) { in visitTrunc()
718 return new TruncInst(Res, DestTy); in visitTrunc()
1141 if (Zext.hasOneUse() && isa<TruncInst>(Zext.user_back()) && in visitZExt()
1196 if (auto *CSrc = dyn_cast<TruncInst>(Src)) { // A->B->C cast in visitZExt()
1431 if (Sext.hasOneUse() && isa<TruncInst>(Sext.user_back())) in visitSExt()
1948 return new TruncInst(X, DestType); in foldItoFPtoI()
[all …]
H A DInstCombineCompares.cpp1115 TruncInst *TI = dyn_cast<TruncInst>(U); in processUGT_ADDCST_ADD()
1411 TruncInst *Trunc, in foldICmpTruncConstant()
1504 unsigned NoWrapFlags = cast<TruncInst>(Cmp.getOperand(0))->getNoWrapKind() & in foldICmpTruncWithTruncOrExt()
1505 cast<TruncInst>(Cmp.getOperand(1))->getNoWrapKind(); in foldICmpTruncWithTruncOrExt()
1508 if (!(NoWrapFlags & TruncInst::NoSignedWrap)) in foldICmpTruncWithTruncOrExt()
1525 YIsSExt = !(NoWrapFlags & TruncInst::NoUnsignedWrap); in foldICmpTruncWithTruncOrExt()
1753 return new TruncInst(And->getOperand(0), Cmp.getType()); in foldICmpAndConstConst()
3430 if (auto *TI = dyn_cast<TruncInst>(Cmp.getOperand(0))) in foldICmpInstWithConstant()
6185 if (TruncInst *TI = dyn_cast<TruncInst>(U)) { in processUMulZExtIdiom()
6259 if (TruncInst *TI = dyn_cast<TruncInst>(U)) { in processUMulZExtIdiom()
H A DInstCombineShifts.cpp938 TruncInst *Trunc = dyn_cast<TruncInst>(U); in foldLShrOverflowBit()
1664 return TruncInst::CreateTruncOrBitCast(NewAShr, OldAShr.getType()); in foldVariableSignZeroExtensionOfVariableHighBitExtract()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h137 void visitTruncInst(TruncInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCBoolRetToInt.cpp267 new TruncInst(IntRetVal, Int1Ty, "backToBool", I->getIterator()); in runOnUse()
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/
H A DBPFAdjustOpt.cpp108 if (!isa<TruncInst>(Op0)) in adjustICmpToBuiltin()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp418 (isa<TruncInst>(I) || isa<FPTruncInst>(I))) || in runOnFunction()
H A DMVEGatherScatterLowering.cpp572 Load = TruncInst::Create(Instruction::Trunc, Load, MemoryTy); in tryCreateMaskedGatherOffset()
674 if (TruncInst *Trunc = dyn_cast<TruncInst>(Input)) { in tryCreateMaskedScatterOffset()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPatternMatch.h1949 if (auto *I = dyn_cast<TruncInst>(V)) in match()
2013 inline CastInst_match<OpTy, TruncInst> m_Trunc(const OpTy &Op) { in m_Trunc()
2014 return CastInst_match<OpTy, TruncInst>(Op); in m_Trunc()
2019 inline NoWrapTrunc_match<OpTy, TruncInst::NoUnsignedWrap>
2021 return NoWrapTrunc_match<OpTy, TruncInst::NoUnsignedWrap>(Op); in m_NUWTrunc()
2026 inline NoWrapTrunc_match<OpTy, TruncInst::NoSignedWrap>
2028 return NoWrapTrunc_match<OpTy, TruncInst::NoSignedWrap>(Op); in m_NSWTrunc()
2032 inline match_combine_or<CastInst_match<OpTy, TruncInst>, OpTy>
H A DInstVisitor.h176 RetTy visitTruncInst(TruncInst &I) { DELEGATE(CastInst);} in visitTruncInst()
H A DInstruction.def184 HANDLE_CAST_INST(38, Trunc , TruncInst ) // Truncate integers
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopFlatten.cpp184 if (auto *V = dyn_cast<TruncInst>(U)) { in checkOuterInductionPhiUsers()
278 if (isa<TruncInst>(U)) { in checkInnerInductionPhiUsers()
H A DSeparateConstOffsetFromGEP.cpp634 } else if (isa<TruncInst>(V)) { in find()
704 (isa<SExtInst>(Cast) || isa<ZExtInst>(Cast) || isa<TruncInst>(Cast)) && in distributeExtsAndCloneChain()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp96 bool eliminateTrunc(TruncInst *TI);
477 bool SimplifyIndvar::eliminateTrunc(TruncInst *TI) { in eliminateTrunc()
619 if (auto *TI = dyn_cast<TruncInst>(UseInst)) in eliminateIVUser()
950 if ((isa<PtrToIntInst>(UseInst)) || (isa<TruncInst>(UseInst))) in simplifyUsers()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp1082 if (isa<TruncInst>(UserI)) in isFoldableLoad()
1186 (isa<TruncInst>(OtherOp) || isa<SExtInst>(OtherOp) || in getMemoryOpCost()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp624 if ((isa<TruncInst>(&I) || isa<ICmpInst>(&I)) && in computeMinimumValueSizes()
629 if (TTI && isa<TruncInst>(&I) && TTI->isTypeLegal(I.getType())) in computeMinimumValueSizes()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h1304 if (const TruncInst *TI = dyn_cast<TruncInst>(*LI->user_begin())) in getInstructionCost()

123