Home
last modified time | relevance | path

Searched refs:SelectInst (Results 1 – 25 of 108) sorted by relevance

12345

/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DProvenanceAnalysis.cpp41 bool ProvenanceAnalysis::relatedSelect(const SelectInst *A, in relatedSelect()
45 if (const SelectInst *SB = dyn_cast<SelectInst>(B)) in relatedSelect()
150 if (const SelectInst *S = dyn_cast<SelectInst>(A)) in relatedCheck()
152 if (const SelectInst *S = dyn_cast<SelectInst>(B)) in relatedCheck()
H A DProvenanceAnalysis.h37 class SelectInst; variable
63 bool relatedSelect(const SelectInst *A, const Value *B);
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp138 SmallVector<SelectInst *, 8> Selects;
275 DenseSet<SelectInst *> TrueBiasedSelects;
276 DenseSet<SelectInst *> FalseBiasedSelects;
355 void fixupSelect(SelectInst *SI, CHRScope *Scope, IRBuilder<> &IRB,
386 DenseSet<SelectInst *> TrueBiasedSelectsGlobal;
388 DenseSet<SelectInst *> FalseBiasedSelectsGlobal;
392 DenseMap<SelectInst *, BranchProbability> SelectBiasMap;
471 return isa<BinaryOperator>(I) || isa<CastInst>(I) || isa<SelectInst>(I) || in isHoistableInstructionType()
661 SelectInst *SI, Region *R, in checkBiasedSelect()
662 DenseSet<SelectInst *> in checkBiasedSelect()
663 checkBiasedSelect(SelectInst * SI,Region * R,DenseSet<SelectInst * > & TrueBiasedSelectsGlobal,DenseSet<SelectInst * > & FalseBiasedSelectsGlobal,DenseMap<SelectInst *,BranchProbability> & SelectBiasMap) checkBiasedSelect() argument
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp55 static Instruction *foldSelectBinOpIdentity(SelectInst &Sel, in foldSelectBinOpIdentity()
122 static Value *foldSelectICmpAnd(SelectInst &Sel, ICmpInst *Cmp, in foldSelectICmpAnd()
271 Instruction *InstCombinerImpl::foldSelectOpOp(SelectInst &SI, Instruction *TI, in foldSelectOpOp()
510 Instruction *InstCombinerImpl::foldSelectIntoOp(SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
514 auto TryFoldSelectIntoOp = [&](SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
818 static Instruction *foldSetClearBits(SelectInst &Sel, in foldSetClearBits()
858 static Instruction *foldSelectZeroOrMul(SelectInst &SI, InstCombinerImpl &IC) { in foldSelectZeroOrMul()
1286 Instruction *InstCombinerImpl::foldSelectValueEquivalence(SelectInst &Sel, in foldSelectValueEquivalence()
1393 static Value *canonicalizeClampLike(SelectInst &Sel0, ICmpInst &Cmp0, in canonicalizeClampLike()
1410 if (!isa<SelectInst>(Sel in canonicalizeClampLike()
[all...]
H A DInstCombineInternal.h150 Instruction *visitSelectInst(SelectInst &SI);
196 bool replacedSelectWithOperand(SelectInst *SI, const ICmpInst *Icmp,
452 Instruction *foldAndOrOfSelectUsingImpliedCond(Value *Op, SelectInst &SI, in CreateNonTerminatorUnreachable()
544 bool matchThreeWayIntCompare(SelectInst *SI, Value *&LHS, Value *&RHS,
592 Instruction *foldVectorSelect(SelectInst &Sel);
614 Instruction *FoldOpIntoSelect(Instruction &Op, SelectInst *SI,
647 Instruction *foldSelectICmp(ICmpInst::Predicate Pred, SelectInst *SI,
681 Instruction *foldICmpSelectConstant(ICmpInst &Cmp, SelectInst *Select,
733 Instruction *foldSelectOfBools(SelectInst &SI);
734 Instruction *foldSelectExtConst(SelectInst
[all...]
H A DInstCombineMulDivRem.cpp470 return SelectInst::Create(X, Op1, ConstantInt::getNullValue(Ty)); in visitMul()
472 return SelectInst::Create(X, Op0, ConstantInt::getNullValue(Ty)); in visitMul()
478 return SelectInst::Create(X, Builder.CreateNeg(Y, "", I.hasNoSignedWrap()), in visitMul()
486 return SelectInst::Create(X, NegC, ConstantInt::getNullValue(Ty)); in visitMul()
495 return SelectInst::Create(IsNeg, NegC, ConstantInt::getNullValue(Ty)); in visitMul()
506 return SelectInst::Create(IsNeg, Y, ConstantInt::getNullValue(Ty)); in visitMul()
512 return SelectInst::Create(Tr, Y, ConstantInt::getNullValue(Ty)); in visitMul()
916 auto *SI = SelectInst::Create(X, Op1, ConstantFP::get(I.getType(), 0.0)); in multiplyOverflows()
922 auto *SI = SelectInst::Create(X, Op0, ConstantFP::get(I.getType(), 0.0));
986 SelectInst *S in foldIDivShl()
[all...]
H A DInstCombineLoadStoreAlloca.cpp82 if (isa<PHINode, SelectInst>(I)) { in isOnlyCopiedFromConstantMemory()
322 } else if (auto *SI = dyn_cast<SelectInst>(Inst)) { in collectUsersRecursive()
396 } else if (auto *SI = dyn_cast<SelectInst>(I)) { in replace()
403 auto *NewSI = SelectInst::Create(SI->getCondition(), TrueValue, FalseValue, in replace()
820 if (SelectInst *SI = dyn_cast<SelectInst>(P)) { in isObjectSizeLessThanOrEq()
1067 if (SelectInst *SI = dyn_cast<SelectInst>(Op)) { in visitLoadInst()
1085 return SelectInst::Create(SI->getCondition(), V1, V2); in visitLoadInst()
H A DInstCombineAndOrXor.cpp1602 return SelectInst::Create(Cond, Builder.CreateNeg(X, X->getName() + ".neg"), in matchDeMorgansLaws()
2364 return SelectInst::Create(Cmp, ConstantInt::getNullValue(Ty), Y); in visitAnd()
2524 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C), in visitAnd()
2544 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C3), in visitAnd()
2561 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C3), in visitAnd()
2605 if (auto *SI0 = dyn_cast<SelectInst>(Op0)) { in visitAnd()
2610 if (auto *SI1 = dyn_cast<SelectInst>(Op1)) { in visitAnd()
2695 bool IsLogical = isa<SelectInst>(Op1); in visitAnd()
2712 bool IsLogical = isa<SelectInst>(Op0); in visitAnd()
2752 return SelectInst in matchFunnelShift()
[all...]
H A DInstCombineAddSub.cpp883 return SelectInst::Create(X, InstCombiner::AddOne(Op1C), Op1); in foldAddWithConstant()
887 return SelectInst::Create(X, InstCombiner::SubOne(Op1C), Op1); in foldAddWithConstant()
2299 return SelectInst::Create(X, InstCombiner::SubOne(C), C); in visitSub()
2302 return SelectInst::Create(X, InstCombiner::AddOne(C), C); in visitSub()
2309 if (SelectInst *SI = dyn_cast<SelectInst>(Op1)) in visitSub()
2456 return SelectInst::Create(C, Builder.CreateNeg(X), X); in visitSub()
2458 return SelectInst::Create(C, X, Builder.CreateNeg(X)); in visitSub()
2493 SelectInst *NewSel = in visitSub()
2494 SelectInst in visitSub()
[all...]
H A DInstCombineShifts.cpp426 if (SelectInst *SI = dyn_cast<SelectInst>(Op1)) in commonShiftTransforms()
598 SelectInst *SI = cast<SelectInst>(I); in canEvaluateShifted()
871 return SelectInst::Create(Cond, NewOp, NewShift); in FoldShiftByConstant()
888 return SelectInst::Create(Cond, NewShift, NewOp); in foldLShrOverflowBit()
1234 return SelectInst::Create(X, NewC, ConstantInt::getNullValue(Ty));
1429 return SelectInst::Create(X, NewC, ConstantInt::getNullValue(Ty)); in visitLShr()
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DDFAJumpThreading.cpp122 SelectInst *SI; in getInst()
126 SelectInstToUnfold(SelectInst *SI, PHINode *SIUse) : SI(SI), SIUse(SIUse) {}
128 SelectInst *getInst() { return SI; }
182 DomTreeUpdater *DTU, SelectInst *SI, PHINode *SIUse, SelectInst *SIToSink, in createBasicBlockAndSinkSelectInst()
208 SelectInst *SI = SIToUnfold.getInst(); in unfold()
226 if (SelectInst *SIOp = dyn_cast<SelectInst>(SI->getTrueValue())) { in unfold()
231 if (SelectInst *SIOp = dyn_cast<SelectInst>(S in unfold()
[all...]
H A DTailRecursionElimination.cpp421 SmallVector<SelectInst *, 8> RetSelects;
719 SelectInst *SI = in eliminateCall()
720 SelectInst::Create(RetKnownPN, RetPN, Ret->getReturnValue(), in eliminateCall()
794 SelectInst *SI = in cleanupAndFinalize()
795 SelectInst::Create(RetKnownPN, RetPN, RI->getOperand(0), in cleanupAndFinalize()
805 for (SelectInst *SI : RetSelects) { in cleanupAndFinalize()
H A DSROA.cpp212 SmallMapVector<SelectInst *, RewriteableMemOps, 8> SelectsToRewrite;
231 isSafeSelectToSpeculate(SelectInst &SI, bool PreserveCFG);
988 static Value *foldSelectInst(SelectInst &SI) {
1006 return foldSelectInst(cast<SelectInst>(I)); in foldSelectInst()
1317 !isa<SelectInst>(I) && !isa<AddrSpaceCastInst>(I)) { in visitIntrinsicInst()
1330 assert(isa<PHINode>(I) || isa<SelectInst>(I)); in hasUnsafePHIOrSelectUse()
1389 void visitSelectInst(SelectInst &SI) { visitPHINodeOrSelectInst(SI); } in visitPHINodeOrSelectInst()
1684 isSafeLoadOfSelectToSpeculate(LoadInst &LI, SelectInst &SI, bool PreserveCFG) { in speculatePHINodeLoads()
1700 SROA::isSafeSelectToSpeculate(SelectInst &SI, bool PreserveCFG) { in speculatePHINodeLoads()
1746 static void speculateSelectInstLoads(SelectInst
2728 AllocaSliceRewriter(const DataLayout & DL,AllocaSlices & AS,SROA & Pass,AllocaInst & OldAI,AllocaInst & NewAI,uint64_t NewAllocaBeginOffset,uint64_t NewAllocaEndOffset,bool IsIntegerPromotable,VectorType * PromotableVecTy,SmallSetVector<PHINode *,8> & PHIUsers,SmallSetVector<SelectInst *,8> & SelectUsers) AllocaSliceRewriter() argument
[all...]
H A DJumpThreading.cpp869 if (SelectInst *SI = dyn_cast<SelectInst>(I)) { in computeValueKnownInPredecessorsImpl()
2754 SelectInst *SI, PHINode *SIUse,
2824 SelectInst *PredSI = dyn_cast<SelectInst>(CondPHI->getIncomingValue(I)); in tryToUnfoldSelect()
2865 SelectInst *SI = dyn_cast<SelectInst>(CondLHS->getIncomingValue(I)); in tryToUnfoldSelect()
2931 auto isUnfoldCandidate = [BB](SelectInst *SI, Value *V) { in tryToUnfoldSelectInCurrBB()
2942 SelectInst *SI = nullptr; in tryToUnfoldSelectInCurrBB()
2949 if (SelectInst *Select in tryToUnfoldSelectInCurrBB()
[all...]
H A DLowerExpectIntrinsic.cpp275 // Handle both BranchInst and SelectInst. in handleBrSelExpect()
383 if (SelectInst *SI = dyn_cast<SelectInst>(&Inst)) { in lowerExpectIntrinsic()
/freebsd-src/contrib/llvm-project/llvm/lib/CodeGen/
H A DSelectOptimize.cpp127 /// SelectLike is an abstraction over SelectInst and other operations that can
143 if (isa<SelectInst>(I)) in match()
176 if (auto *Sel = dyn_cast<SelectInst>(I)) in getCondition()
210 if (auto *Sel = dyn_cast<SelectInst>(I)) in getFalseValue()
226 if (auto *Sel = dyn_cast<SelectInst>(I)) in getTrueOpCost()
246 if (isa<SelectInst>(I)) in getFalseOpCost()
272 if (isa<SelectInst>(I))
537 for (SelectInst *DefSI = dyn_cast<SelectInst>(SI.getI()); in convertProfitableSIGroups()
539 DefSI = dyn_cast<SelectInst>( in convertProfitableSIGroups()
[all...]
H A DCodeGenPrepare.cpp440 bool optimizeSelectInst(SelectInst *SI);
1854 // If icmp eq has users other than BranchInst and SelectInst, converting it to in foldICmpWithDominatingICmp()
1859 if (isa<SelectInst>(U) && cast<SelectInst>(U)->getCondition() == Cmp) in foldICmpWithDominatingICmp()
1901 if (auto *SI = dyn_cast<SelectInst>(U)) { in foldICmpWithDominatingICmp()
3696 SmallPtrSet<SelectInst *, 32> AllSelectNodes;
3726 if (auto *Select = dyn_cast<SelectInst>(PI)) in addNewAddrMode()
3754 void insertNewSelect(SelectInst *SI) { AllSelectNodes.insert(SI); } in addNewAddrMode()
4108 if (SelectInst *Select = dyn_cast<SelectInst>( in matchScaledValue()
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp622 bool matchLeftShift(SelectInst *SelI, Value *CIV, ParsedValues &PV);
623 bool matchRightShift(SelectInst *SelI, ParsedValues &PV);
624 bool scanSelect(SelectInst *SI, BasicBlock *LoopB, BasicBlock *PrehB,
683 bool PolynomialMultiplyRecognize::matchLeftShift(SelectInst *SelI, in matchLeftShift()
797 bool PolynomialMultiplyRecognize::matchRightShift(SelectInst *SelI,
867 bool PolynomialMultiplyRecognize::scanSelect(SelectInst *SelI, in matchRightShift()
1642 if (SelectInst *Sel = dyn_cast<SelectInst>(BO->getOperand(0))) { in setupPreSimplifier()
1650 if (SelectInst *Sel = dyn_cast<SelectInst>(B in setupPreSimplifier()
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp366 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
385 if (auto *Sel = dyn_cast<SelectInst>(ReduxDesc.getPatternInst())) { in AddReductionVar()
402 bool IsASelect = isa<SelectInst>(Cur); in AddReductionVar()
420 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
423 (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
486 !isa<SelectInst>(UI)) || in AddReductionVar()
634 if (auto *Select = dyn_cast<SelectInst>(*I->user_begin())) in isAnyOfPattern()
642 SelectInst *SI = cast<SelectInst>(I); in isAnyOfPattern()
665 assert((isa<CmpInst>(I) || isa<SelectInst>( in isMinMaxPattern()
[all...]
H A DBasicAliasAnalysis.cpp792 if (const SelectInst *SI = dyn_cast<SelectInst>(V)) {
1383 BasicAAResult::aliasSelect(const SelectInst *SI, LocationSize SISize, in aliasPHI()
1388 if (const SelectInst *SI2 = dyn_cast<SelectInst>(V2)) in aliasPHI()
1788 if (const SelectInst *S1 = dyn_cast<SelectInst>(V1)) { in constantOffsetHeuristic()
1792 } else if (const SelectInst *S2 = dyn_cast<SelectInst>(V2)) { in constantOffsetHeuristic()
/freebsd-src/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemoryBuiltins.h48 class SelectInst; variable
260 SizeOffsetAPInt visitSelectInst(SelectInst &I);
338 SizeOffsetValue visitSelectInst(SelectInst &I);
H A DBasicAliasAnalysis.h31 class SelectInst; variable
137 AliasResult aliasSelect(const SelectInst *SI, LocationSize SISize,
/freebsd-src/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h43 class SelectInst;
158 void unfoldSelectInstr(BasicBlock *Pred, BasicBlock *BB, SelectInst *SI,
42 class SelectInst; global() variable
/freebsd-src/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCodeGenPrepare.cpp157 bool isSigned(const SelectInst &I) const;
209 bool promoteUniformOpToI32(SelectInst &I) const;
312 bool visitSelectInst(SelectInst &I);
398 bool AMDGPUCodeGenPrepareImpl::isSigned(const SelectInst &I) const { in isSigned()
539 bool AMDGPUCodeGenPrepareImpl::promoteUniformOpToI32(SelectInst &I) const { in promoteUniformOpToI32()
694 static SelectInst *findSelectThroughCast(Value *V, CastInst *&Cast) { in findSelectThroughCast()
696 if (SelectInst *Sel = dyn_cast<SelectInst>(V)) in findSelectThroughCast()
700 if (SelectInst *Sel = dyn_cast<SelectInst>(Cas in findSelectThroughCast()
[all...]
/freebsd-src/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DCalledValuePropagation.cpp183 return visitSelect(*cast<SelectInst>(&I), ChangedValues, SS); in ComputeInstructionState()
301 void visitSelect(SelectInst &I, in visitSelect()

12345