Home
last modified time | relevance | path

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

123456

/freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DProvenanceAnalysis.cpp40 bool ProvenanceAnalysis::relatedSelect(const SelectInst *A, in relatedSelect()
44 if (const SelectInst *SB = dyn_cast<SelectInst>(B)) in relatedSelect()
152 if (const SelectInst *S = dyn_cast<SelectInst>(A)) in relatedCheck()
154 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/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp137 SmallVector<SelectInst *, 8> Selects;
274 DenseSet<SelectInst *> TrueBiasedSelects;
275 DenseSet<SelectInst *> FalseBiasedSelects;
353 void fixupSelect(SelectInst *SI, CHRScope *Scope, IRBuilder<> &IRB,
384 DenseSet<SelectInst *> TrueBiasedSelectsGlobal;
386 DenseSet<SelectInst *> FalseBiasedSelectsGlobal;
390 DenseMap<SelectInst *, BranchProbability> SelectBiasMap;
469 return isa<BinaryOperator>(I) || isa<CastInst>(I) || isa<SelectInst>(I) || in isHoistableInstructionType()
659 SelectInst *SI, Region *R, in checkBiasedSelect()
660 DenseSet<SelectInst *> &TrueBiasedSelectsGlobal, in checkBiasedSelect()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp56 static Instruction *foldSelectBinOpIdentity(SelectInst &Sel, in foldSelectBinOpIdentity()
123 static Value *foldSelectICmpAnd(SelectInst &Sel, Value *CondVal, Value *TrueVal, in foldSelectICmpAnd()
244 Instruction *InstCombinerImpl::foldSelectOpOp(SelectInst &SI, Instruction *TI, in foldSelectOpOp()
495 Instruction *InstCombinerImpl::foldSelectIntoOp(SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
499 auto TryFoldSelectIntoOp = [&](SelectInst &SI, Value *TrueVal, in foldSelectIntoOp()
841 static Instruction *foldSetClearBits(SelectInst &Sel, in foldSetClearBits()
881 static Instruction *foldSelectZeroOrMul(SelectInst &SI, InstCombinerImpl &IC) { in foldSelectZeroOrMul()
1335 Instruction *InstCombinerImpl::foldSelectValueEquivalence(SelectInst &Sel, in foldSelectValueEquivalence()
1443 Instruction *InstCombinerImpl::foldSelectEqualityTest(SelectInst &Sel) { in foldSelectEqualityTest()
1484 static Value *canonicalizeClampLike(SelectInst &Sel0, ICmpInst &Cmp0, in canonicalizeClampLike()
[all …]
H A DInstCombineInternal.h149 Instruction *visitSelectInst(SelectInst &SI);
197 bool replacedSelectWithOperand(SelectInst *SI, const ICmpInst *Icmp,
464 Instruction *foldAndOrOfSelectUsingImpliedCond(Value *Op, SelectInst &SI,
563 bool matchThreeWayIntCompare(SelectInst *SI, Value *&LHS, Value *&RHS,
617 Instruction *foldVectorSelect(SelectInst &Sel);
656 Instruction *FoldOpIntoSelect(Instruction &Op, SelectInst *SI,
695 Instruction *foldSelectICmp(CmpPredicate Pred, SelectInst *SI, Value *RHS,
728 Instruction *foldICmpSelectConstant(ICmpInst &Cmp, SelectInst *Select,
783 Instruction *foldSelectOfBools(SelectInst &SI);
784 Instruction *foldSelectToCmp(SelectInst &SI);
[all …]
H A DInstCombineMulDivRem.cpp491 return SelectInst::Create(X, Op1, ConstantInt::getNullValue(Ty)); in visitMul()
493 return SelectInst::Create(X, Op0, ConstantInt::getNullValue(Ty)); in visitMul()
499 return SelectInst::Create(X, Builder.CreateNeg(Y, "", I.hasNoSignedWrap()), in visitMul()
507 return SelectInst::Create(X, NegC, ConstantInt::getNullValue(Ty)); in visitMul()
516 return SelectInst::Create(IsNeg, NegC, ConstantInt::getNullValue(Ty)); in visitMul()
527 return SelectInst::Create(IsNeg, Y, ConstantInt::getNullValue(Ty)); in visitMul()
533 return SelectInst::Create(Tr, Y, ConstantInt::getNullValue(Ty)); in visitMul()
1012 auto *SI = SelectInst::Create(X, Op1, ConstantFP::get(I.getType(), 0.0)); in visitFMul()
1018 auto *SI = SelectInst::Create(X, Op0, ConstantFP::get(I.getType(), 0.0)); in visitFMul()
1094 SelectInst *SI = dyn_cast<SelectInst>(I.getOperand(1)); in simplifyDivRemOfSelectWithZeroOp()
[all …]
H A DInstCombineLoadStoreAlloca.cpp75 if (isa<PHINode, SelectInst>(I)) { in isOnlyCopiedFromConstantMemory()
319 } else if (auto *SI = dyn_cast<SelectInst>(Inst)) { in collectUsers()
423 } else if (auto *SI = dyn_cast<SelectInst>(I)) { in replace()
430 auto *NewSI = SelectInst::Create(SI->getCondition(), TrueValue, FalseValue, in replace()
828 if (SelectInst *SI = dyn_cast<SelectInst>(P)) { in isObjectSizeLessThanOrEq()
1017 if (auto *Sel = dyn_cast<SelectInst>(V)) { in simplifyNonNullOperand()
1114 if (SelectInst *SI = dyn_cast<SelectInst>(Op)) { in visitLoadInst()
1136 return SelectInst::Create(SI->getCondition(), V1, V2); in visitLoadInst()
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()
2460 return SelectInst::Create(X, InstCombiner::SubOne(C), C); in visitSub()
2463 return SelectInst::Create(X, InstCombiner::AddOne(C), C); in visitSub()
2470 if (SelectInst *SI = dyn_cast<SelectInst>(Op1)) in visitSub()
2617 return SelectInst::Create(C, Builder.CreateNeg(X), X); in visitSub()
2619 return SelectInst::Create(C, X, Builder.CreateNeg(X)); in visitSub()
2654 SelectInst *NewSel = in visitSub()
2655 SelectInst::Create(Cond, OtherHandOfSubIsTrueVal ? Zero : NewSub, in visitSub()
2756 return SelectInst::Create(IsNeg, NegA, A); in visitSub()
[all …]
H A DInstCombineAndOrXor.cpp1647 return SelectInst::Create(Cond, Builder.CreateNeg(X, X->getName() + ".neg"), in canonicalizeConditionalNegationViaMathToSelect()
2441 return SelectInst::Create(Cmp, ConstantInt::getNullValue(Ty), Y); in visitAnd()
2601 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C), in visitAnd()
2621 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C3), in visitAnd()
2638 return SelectInst::Create(Cmp, ConstantInt::get(Ty, *C3), in visitAnd()
2683 if (auto *SI0 = dyn_cast<SelectInst>(Op0)) { in visitAnd()
2688 if (auto *SI1 = dyn_cast<SelectInst>(Op1)) { in visitAnd()
2768 bool IsLogical = isa<SelectInst>(Op1); in visitAnd()
2774 bool IsLogical = isa<SelectInst>(Op0); in visitAnd()
2797 return SelectInst::Create(A, B, Constant::getNullValue(Ty)); in visitAnd()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DSROA.h38 class SelectInst; global() variable
H A DJumpThreading.h44 class SelectInst; variable
169 SelectInst *SI, PHINode *SIUse, unsigned Idx);
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp612 bool matchLeftShift(SelectInst *SelI, Value *CIV, ParsedValues &PV);
613 bool matchRightShift(SelectInst *SelI, ParsedValues &PV);
614 bool scanSelect(SelectInst *SI, BasicBlock *LoopB, BasicBlock *PrehB,
673 bool PolynomialMultiplyRecognize::matchLeftShift(SelectInst *SelI, in matchLeftShift()
787 bool PolynomialMultiplyRecognize::matchRightShift(SelectInst *SelI, in matchRightShift()
857 bool PolynomialMultiplyRecognize::scanSelect(SelectInst *SelI, in scanSelect()
1628 if (SelectInst *Sel = dyn_cast<SelectInst>(BO->getOperand(0))) { in setupPreSimplifier()
1636 if (SelectInst *Sel = dyn_cast<SelectInst>(BO->getOperand(1))) { in setupPreSimplifier()
1650 SelectInst *Sel = dyn_cast<SelectInst>(I); in setupPreSimplifier()
1655 if (SelectInst *Sel0 = dyn_cast<SelectInst>(Sel->getTrueValue())) { in setupPreSimplifier()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DDFAJumpThreading.cpp127 SelectInst *SI;
131 SelectInstToUnfold(SelectInst *SI, PHINode *SIUse) : SI(SI), SIUse(SIUse) {} in SelectInstToUnfold()
133 SelectInst *getInst() { return SI; } in getInst()
192 SelectInst *SI = SIToUnfold.getInst(); in unfold()
250 if (auto *OpSi = dyn_cast<SelectInst>(SIOp1)) in unfold()
252 if (auto *OpSi = dyn_cast<SelectInst>(SIOp2)) in unfold()
309 if (auto *TrueSI = dyn_cast<SelectInst>(TrueVal)) in unfold()
311 if (auto *FalseSi = dyn_cast<SelectInst>(FalseVal)) in unfold()
476 } else if (SelectInst *SelI = dyn_cast<SelectInst>(Current)) { in isCandidate()
519 bool isValidSelectInst(SelectInst *SI) { in isValidSelectInst()
[all …]
H A DTailRecursionElimination.cpp428 SmallVector<SelectInst *, 8> RetSelects;
737 SelectInst *SI = in eliminateCall()
738 SelectInst::Create(RetKnownPN, RetPN, Ret->getReturnValue(), in eliminateCall()
835 SelectInst *SI = in cleanupAndFinalize()
836 SelectInst::Create(RetKnownPN, RetPN, RI->getOperand(0), in cleanupAndFinalize()
847 for (SelectInst *SI : RetSelects) { in cleanupAndFinalize()
H A DJumpThreading.cpp866 if (SelectInst *SI = dyn_cast<SelectInst>(I)) { in computeValueKnownInPredecessorsImpl()
2791 SelectInst *SI, PHINode *SIUse, in unfoldSelectInstr()
2861 SelectInst *PredSI = dyn_cast<SelectInst>(CondPHI->getIncomingValue(I)); in tryToUnfoldSelect()
2902 SelectInst *SI = dyn_cast<SelectInst>(CondLHS->getIncomingValue(I)); in tryToUnfoldSelect()
2968 auto isUnfoldCandidate = [BB](SelectInst *SI, Value *V) { in tryToUnfoldSelectInCurrBB()
2979 SelectInst *SI = nullptr; in tryToUnfoldSelectInCurrBB()
2986 if (SelectInst *SelectI = dyn_cast<SelectInst>(Cmp->user_back())) in tryToUnfoldSelectInCurrBB()
2991 } else if (SelectInst *SelectI = dyn_cast<SelectInst>(U.getUser())) { in tryToUnfoldSelectInCurrBB()
H A DLowerExpectIntrinsic.cpp383 if (SelectInst *SI = dyn_cast<SelectInst>(&Inst)) { in lowerExpectIntrinsic()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp368 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
387 if (auto *Sel = dyn_cast<SelectInst>(ReduxDesc.getPatternInst())) { in AddReductionVar()
404 bool IsASelect = isa<SelectInst>(Cur); in AddReductionVar()
488 !isa<SelectInst>(UI)) || in AddReductionVar()
635 if (auto *Select = dyn_cast<SelectInst>(*I->user_begin())) in isAnyOfPattern()
642 SelectInst *SI = cast<SelectInst>(I); in isAnyOfPattern()
793 assert((isa<CmpInst>(I) || isa<SelectInst>(I) || isa<CallInst>(I)) && in isMinMaxPattern()
801 if (auto *Select = dyn_cast<SelectInst>(*I->user_begin())) in isMinMaxPattern()
850 SelectInst *SI = dyn_cast<SelectInst>(I); in isConditionalRdxPattern()
1273 if (isa<SelectInst>(UI)) in getReductionOpChain()
H A DCtxProfAnalysis.cpp267 if (const auto *SI = dyn_cast<SelectInst>(&I)) { in allNonColdSelectsHaveProfile()
269 *const_cast<SelectInst *>(SI))) { in allNonColdSelectsHaveProfile()
375 bool ProfileAnnotator::getSelectInstrProfile(SelectInst &SI, in getSelectInstrProfile()
616 CtxProfAnalysis::getSelectInstrumentation(SelectInst &SI) { in getSelectInstrumentation()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DBasicAliasAnalysis.h32 class SelectInst; variable
142 AliasResult aliasSelect(const SelectInst *SI, LocationSize SISize,
H A DCtxProfAnalysis.h141 getSelectInstrumentation(SelectInst &SI);
178 LLVM_ABI bool getSelectInstrProfile(SelectInst &SI, uint64_t &TrueCount,
H A DMemoryBuiltins.h48 class SelectInst; variable
295 LLVM_ABI OffsetSpan visitSelectInst(SelectInst &I);
376 LLVM_ABI SizeOffsetValue visitSelectInst(SelectInst &I);
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp82 auto *LLVMSel = cast<llvm::SelectInst>(LLVMV); in getOrCreateValueInternal()
83 It->second = std::unique_ptr<SelectInst>(new SelectInst(LLVMSel, *this)); in getOrCreateValueInternal()
472 SelectInst *Context::createSelectInst(llvm::SelectInst *SI) { in createSelectInst()
473 auto NewPtr = std::unique_ptr<SelectInst>(new SelectInst(SI, *this)); in createSelectInst()
474 return cast<SelectInst>(registerValue(std::move(NewPtr))); in createSelectInst()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DContext.h165 LLVM_ABI SelectInst *createSelectInst(llvm::SelectInst *SI);
166 friend SelectInst; // For createSelectInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXLowerArgs.cpp282 if (auto *SI = dyn_cast<SelectInst>(I.OldInstruction)) { in INITIALIZE_PASS_DEPENDENCY()
445 if (isa<PHINode>(I) || isa<SelectInst>(I)) in visitArgPtr()
484 assert(isa<PHINode>(I) || isa<SelectInst>(I)); in visitPHINodeOrSelectInst()
488 void visitSelectInst(SelectInst &SI) { enqueueUsers(SI); } in visitSelectInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCodeGenPrepare.cpp171 bool isSigned(const SelectInst &I) const;
222 bool promoteUniformOpToI32(SelectInst &I) const;
324 bool visitSelectInst(SelectInst &I);
404 bool AMDGPUCodeGenPrepareImpl::isSigned(const SelectInst &I) const { in isSigned()
544 bool AMDGPUCodeGenPrepareImpl::promoteUniformOpToI32(SelectInst &I) const { in promoteUniformOpToI32()
698 static SelectInst *findSelectThroughCast(Value *V, CastInst *&Cast) { in findSelectThroughCast()
700 if (SelectInst *Sel = dyn_cast<SelectInst>(V)) in findSelectThroughCast()
704 if (SelectInst *Sel = dyn_cast<SelectInst>(Cast->getOperand(0))) in findSelectThroughCast()
720 SelectInst *Sel = findSelectThroughCast(BO.getOperand(0), CastOp); in foldBinOpIntoSelect()
1783 bool AMDGPUCodeGenPrepareImpl::visitSelectInst(SelectInst &I) { in visitSelectInst()

123456