Home
last modified time | relevance | path

Searched refs:ICI (Results 1 – 20 of 20) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopPredication.cpp275 std::optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
299 std::optional<Value *> widenICmpRangeCheck(ICmpInst *ICI,
349 std::optional<LoopICmp> LoopPredication::parseLoopICmp(ICmpInst *ICI) { in runOnLoop()
350 auto Pred = ICI->getPredicate(); in runOnLoop()
351 auto *LHS = ICI->getOperand(0); in runOnLoop()
352 auto *RHS = ICI->getOperand(1); in runOnLoop()
650 /// If ICI can be widened to a loop invariant condition emits the loop in widenICmpRangeCheckDecrementingLoop()
654 LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander, in widenICmpRangeCheckDecrementingLoop()
657 LLVM_DEBUG(ICI->dump()); in widenICmpRangeCheckDecrementingLoop()
663 auto RangeCheck = parseLoopICmp(ICI); in widenICmpRangeCheckDecrementingLoop()
389 parseLoopICmp(ICmpInst * ICI) parseLoopICmp() argument
694 widenICmpRangeCheck(ICmpInst * ICI,SCEVExpander & Expander,Instruction * Guard) widenICmpRangeCheck() argument
790 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Condition)) { collectChecks() local
909 auto *ICI = dyn_cast<ICmpInst>(BI->getCondition()); parseLoopLatchICmp() local
[all...]
H A DInductiveRangeCheckElimination.cpp152 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
266 /// Parse a single ICmp instruction, `ICI`, into a range check. If `ICI` cannot
270 bool InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI,
278 ICmpInst::Predicate Pred = ICI->getPredicate(); in parseRangeCheckICmp()
279 Value *LHS = ICI->getOperand(0); in parseRangeCheckICmp()
280 Value *RHS = ICI->getOperand(1); in parseRangeCheckICmp()
502 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); in extractRangeChecksFromCond()
503 if (!ICI) in extractRangeChecksFromCond()
508 if (!parseRangeCheckICmp(L, ICI, S in extractRangeChecksFromCond()
275 parseRangeCheckICmp(Loop * L,ICmpInst * ICI,ScalarEvolution & SE,const SCEVAddRecExpr * & Index,const SCEV * & End) parseRangeCheckICmp() argument
504 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); extractRangeChecksFromCond() local
930 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); parseLoopStructure() local
[all...]
H A DScalarizer.cpp167 ICmpSplitter(ICmpInst &ici) : ICI(ici) {} in ICmpSplitter()
171 return Builder.CreateICmp(ICI.getPredicate(), Op0, Op1, Name); in operator ()()
174 ICmpInst &ICI; member
298 bool visitICmpInst(ICmpInst &ICI);
311 bool visitCallInst(CallInst &ICI);
795 bool ScalarizerVisitor::visitICmpInst(ICmpInst &ICI) { in visitICmpInst() argument
796 return splitBinary(ICI, ICmpSplitter(ICI)); in visitICmpInst()
H A DLoopStrengthReduce.cpp3800 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(UserInst)) { in CollectLoopInvariantFixupsAndFormulae() local
3802 Value *OtherOp = const_cast<Value *>(ICI->getOperand(OtherIdx)); in CollectLoopInvariantFixupsAndFormulae()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp903 static Value *canonicalizeSaturatedSubtract(const ICmpInst *ICI, in canonicalizeSaturatedSubtract() argument
907 ICmpInst::Predicate Pred = ICI->getPredicate(); in canonicalizeSaturatedSubtract()
908 Value *A = ICI->getOperand(0); in canonicalizeSaturatedSubtract()
909 Value *B = ICI->getOperand(1); in canonicalizeSaturatedSubtract()
959 if (IsNegative && !TrueVal->hasOneUse() && !ICI->hasOneUse()) in canonicalizeSaturatedSubtract()
1091 static Instruction *foldSelectCtlzToCttz(ICmpInst *ICI, Value *TrueVal, in foldSelectCtlzToCttz() argument
1095 if (!ICI->isEquality() || !match(ICI->getOperand(1), m_Zero())) in foldSelectCtlzToCttz()
1098 if (ICI->getPredicate() == ICmpInst::ICMP_NE) in foldSelectCtlzToCttz()
1112 Value *X = ICI->getOperand(0); in foldSelectCtlzToCttz()
1134 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, in foldSelectCttzCtlz() argument
[all …]
H A DInstCombineInternal.h652 GlobalVariable *GV, CmpInst &ICI,
723 Instruction *foldICmpIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II,
725 Instruction *foldICmpEqIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II,
740 Instruction *foldSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI);
741 Instruction *foldSelectValueEquivalence(SelectInst &SI, ICmpInst &ICI);
H A DInstructionCombining.cpp3136 ICmpInst *ICI = cast<ICmpInst>(I); in isAllocSiteRemovable() local
3140 if (!ICI->isEquality()) in isAllocSiteRemovable()
3142 unsigned OtherIndex = (ICI->getOperand(0) == PI) ? 1 : 0; in isAllocSiteRemovable()
3143 if (!isNeverEqualToUnescapedAlloc(ICI->getOperand(OtherIndex), TLI, AI)) in isAllocSiteRemovable()
H A DInstCombineCompares.cpp112 LoadInst *LI, GetElementPtrInst *GEP, GlobalVariable *GV, CmpInst &ICI, in foldCmpLoadFromIndexedGlobal() argument
194 Constant *CompareRHS = cast<Constant>(ICI.getOperand(1)); in foldCmpLoadFromIndexedGlobal()
215 Constant *C = ConstantFoldCompareInstOperands(ICI.getPredicate(), Elt, in foldCmpLoadFromIndexedGlobal()
328 return replaceInstUsesWith(ICI, Builder.getFalse()); in foldCmpLoadFromIndexedGlobal()
349 return replaceInstUsesWith(ICI, Builder.getTrue()); in foldCmpLoadFromIndexedGlobal()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp521 ICmpInst *ICI = dyn_cast<ICmpInst>(U); in eliminateTrunc() local
522 if (!ICI) return false; in eliminateTrunc()
523 assert(L->contains(ICI->getParent()) && "LCSSA form broken?"); in eliminateTrunc()
524 if (!(ICI->getOperand(0) == TI && L->isLoopInvariant(ICI->getOperand(1))) && in eliminateTrunc()
525 !(ICI->getOperand(1) == TI && L->isLoopInvariant(ICI->getOperand(0)))) in eliminateTrunc()
528 if (ICI->isSigned() && !DoesSExtCollapse) in eliminateTrunc()
530 if (ICI->isUnsigned() && !DoesZExtCollapse) in eliminateTrunc()
533 ICmpUsers.push_back(ICI); in eliminateTrunc()
536 auto CanUseZExt = [&](ICmpInst *ICI) { in eliminateTrunc() argument
538 if (ICI->isUnsigned()) in eliminateTrunc()
[all …]
H A DLoopConstrainer.cpp161 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); in parseLoopStructure() local
162 if (!ICI || !isa<IntegerType>(ICI->getOperand(0)->getType())) { in parseLoopStructure()
176 ICmpInst::Predicate Pred = ICI->getPredicate(); in parseLoopStructure()
177 Value *LeftValue = ICI->getOperand(0); in parseLoopStructure()
181 Value *RightValue = ICI->getOperand(1); in parseLoopStructure()
241 if (ICI->isEquality() && !HasNoSignedWrap(IndVarBase)) { in parseLoopStructure()
H A DSimplifyCFG.cpp271 bool tryToSimplifyUncondBranchWithICmpInIt(ICmpInst *ICI,
565 ICmpInst *ICI; in matchInstruction() local
567 if (!((ICI = dyn_cast<ICmpInst>(I)) && in matchInstruction()
578 if (ICI->getPredicate() == (isEQ ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_NE)) { in matchInstruction()
619 if (match(ICI->getOperand(0), in matchInstruction()
642 if (match(ICI->getOperand(0), in matchInstruction()
659 if (!setValueOnce(ICI->getOperand(0))) in matchInstruction()
664 return ICI->getOperand(0); in matchInstruction()
669 ConstantRange::makeExactICmpRegion(ICI->getPredicate(), C->getValue()); in matchInstruction()
784 if (ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition())) { in isValueEqualityComparison() local
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DDependencyAnalysis.cpp89 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(Inst)) { in CanUse() local
93 if (!IsPotentialRetainableObjPtr(ICI->getOperand(1), *PA.getAA())) in CanUse()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLazyValueInfo.cpp451 getValueFromICmpCondition(Value *Val, ICmpInst *ICI, bool isTrueDest,
1161 Value *Val, ICmpInst *ICI, bool isTrueDest, bool UseBlockValue) { in getValueFromICmpCondition() argument
1162 Value *LHS = ICI->getOperand(0); in getValueFromICmpCondition()
1163 Value *RHS = ICI->getOperand(1); in getValueFromICmpCondition()
1167 isTrueDest ? ICI->getPredicate() : ICI->getInversePredicate(); in getValueFromICmpCondition()
1170 if (ICI->isEquality() && LHS == Val) { in getValueFromICmpCondition()
1185 return getValueFromSimpleICmpCondition(EdgePred, RHS, Offset, ICI, in getValueFromICmpCondition()
1190 return getValueFromSimpleICmpCondition(SwappedPred, LHS, Offset, ICI, in getValueFromICmpCondition()
1272 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Cond)) in getValueFromCondition() local
1273 return getValueFromICmpCondition(Val, ICI, IsTrueDest, UseBlockValue); in getValueFromCondition()
H A DGlobalsModRef.cpp391 } else if (ICmpInst *ICI = dyn_cast<ICmpInst>(I)) { in AnalyzeUsesOfPointer() local
392 if (!isa<ConstantPointerNull>(ICI->getOperand(1))) in AnalyzeUsesOfPointer()
H A DScalarEvolution.cpp6085 auto *ICI = Cond; in createNodeForSelectOrPHIInstWithICmpInstCond() local
6087 Value *LHS = ICI->getOperand(0); in createNodeForSelectOrPHIInstWithICmpInstCond()
6088 Value *RHS = ICI->getOperand(1); in createNodeForSelectOrPHIInstWithICmpInstCond()
6090 switch (ICI->getPredicate()) { in createNodeForSelectOrPHIInstWithICmpInstCond()
6104 bool Signed = ICI->isSigned(); in createNodeForSelectOrPHIInstWithICmpInstCond()
6258 if (auto *ICI = dyn_cast<ICmpInst>(Cond)) { in createNodeForSelectOrPHI() local
6260 createNodeForSelectOrPHIInstWithICmpInstCond(I->getType(), ICI, in createNodeForSelectOrPHI()
7605 auto *ICI = dyn_cast<ICmpInst>(U->getOperand(0)); in getOperandsToCreate() local
7606 if (!ICI) in getOperandsToCreate()
7608 Value *LHS = ICI->getOperand(0); in getOperandsToCreate()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DGlobalOpt.cpp972 ICmpInst *ICI = dyn_cast<ICmpInst>(LoadUse.getUser()); in OptimizeGlobalAddressOfAllocation() local
973 if (!ICI) { in OptimizeGlobalAddressOfAllocation()
984 switch (ICI->getPredicate()) { in OptimizeGlobalAddressOfAllocation()
994 LV = BinaryOperator::CreateNot(LV, "notinit", ICI->getIterator()); in OptimizeGlobalAddressOfAllocation()
1000 ICI->replaceAllUsesWith(LV); in OptimizeGlobalAddressOfAllocation()
1001 ICI->eraseFromParent(); in OptimizeGlobalAddressOfAllocation()
H A DAttributorAttributes.cpp9739 static bool calculateICmpInst(const ICmpInst *ICI, const APInt &LHS, in calculateICmpInst()
9741 return ICmpInst::compare(LHS, RHS, ICI->getPredicate()); in calculateICmpInst()
9833 ChangeStatus updateWithICmpInst(Attributor &A, ICmpInst *ICI) { in updateWithICmpInst()
9835 Value *LHS = ICI->getOperand(0); in updateWithICmpInst()
9836 Value *RHS = ICI->getOperand(1); in updateWithICmpInst()
9855 bool CmpResult = calculateICmpInst(ICI, Zero, R); in updateWithICmpInst()
9863 bool CmpResult = calculateICmpInst(ICI, L, Zero); in updateWithICmpInst()
9872 bool CmpResult = calculateICmpInst(ICI, L, R); in updateWithICmpInst()
10030 if (auto *ICI = dyn_cast<ICmpInst>(I)) in updateImpl() local
10031 return updateWithICmpInst(A, ICI); in updateImpl()
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaDeclCXX.cpp7480 Sema::InheritedConstructorInfo *ICI);
7501 Sema::InheritedConstructorInfo ICI( in computeImplicitExceptionSpec() local
7504 S, Loc, CD, CXXSpecialMemberKind::DefaultConstructor, &ICI); in computeImplicitExceptionSpec()
9151 Sema::InheritedConstructorInfo *ICI; member
9157 Sema::InheritedConstructorInfo *ICI) in SpecialMemberVisitor()
9158 : S(S), MD(MD), CSM(CSM), ICI(ICI) { in SpecialMemberVisitor()
9200 if (!ICI) in lookupInheritedCtor()
9205 if (auto *MD = ICI->findConstructorForBase(Class, BaseCtor).first) in lookupInheritedCtor()
9273 Sema::InheritedConstructorInfo *ICI, boo in SpecialMemberDeletionInfo()
9616 ShouldDeleteSpecialMember(CXXMethodDecl * MD,CXXSpecialMemberKind CSM,InheritedConstructorInfo * ICI,bool Diagnose) ShouldDeleteSpecialMember() argument
13698 ComputeDefaultedSpecialMemberExceptionSpec(Sema & S,SourceLocation Loc,CXXMethodDecl * MD,CXXSpecialMemberKind CSM,Sema::InheritedConstructorInfo * ICI) ComputeDefaultedSpecialMemberExceptionSpec() argument
13971 InheritedConstructorInfo ICI(*this, Loc, Shadow); findInheritingConstructor() local
14028 InheritedConstructorInfo ICI(*this, Ctor->getLocation(), NoteDeletedInheritingConstructor() local
14067 InheritedConstructorInfo ICI(*this, CurrentLocation, Shadow); DefineInheritingConstructor() local
[all...]
/freebsd/contrib/llvm-project/clang/include/clang/Sema/
H A DSema.h5083 InheritedConstructorInfo *ICI = nullptr,
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp30814 ICmpInst *ICI = dyn_cast<ICmpInst>(AI->user_back()); in emitCmpArithAtomicRMWIntrinsic() local
30815 if (!ICI) { in emitCmpArithAtomicRMWIntrinsic()
30818 ICI = cast<ICmpInst>(TempI->user_back()); in emitCmpArithAtomicRMWIntrinsic()
30821 ICmpInst::Predicate Pred = ICI->getPredicate(); in emitCmpArithAtomicRMWIntrinsic()
30865 ICI->replaceAllUsesWith(Result); in emitCmpArithAtomicRMWIntrinsic()
30866 ICI->eraseFromParent(); in emitCmpArithAtomicRMWIntrinsic()