Home
last modified time | relevance | path

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

123

/external/llvm/lib/Transforms/InstCombine/
DInstCombineCompares.cpp236 CmpInst &ICI, ConstantInt *AndCst) { in FoldCmpLoadFromIndexedGlobal() argument
308 Constant *CompareRHS = cast<Constant>(ICI.getOperand(1)); in FoldCmpLoadFromIndexedGlobal()
321 Constant *C = ConstantFoldCompareInstOperands(ICI.getPredicate(), Elt, in FoldCmpLoadFromIndexedGlobal()
411 return replaceInstUsesWith(ICI, Builder->getFalse()); in FoldCmpLoadFromIndexedGlobal()
431 return replaceInstUsesWith(ICI, Builder->getTrue()); in FoldCmpLoadFromIndexedGlobal()
1059 Instruction *InstCombiner::FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, in FoldAllocaCmp() argument
1061 assert(ICI.isEquality() && "Cannot fold non-equality comparison."); in FoldAllocaCmp()
1132 ICI, in FoldAllocaCmp()
1133 ConstantInt::get(CmpTy, !CmpInst::isTrueWhenEqual(ICI.getPredicate()))); in FoldAllocaCmp()
1137 Instruction *InstCombiner::FoldICmpAddOpCst(Instruction &ICI, in FoldICmpAddOpCst() argument
[all …]
DInstCombineCasts.cpp583 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, in transformZExtICmp() argument
588 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) { in transformZExtICmp()
593 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) || in transformZExtICmp()
594 (ICI->getPredicate() == ICmpInst::ICMP_SGT && Op1CV.isAllOnesValue())) { in transformZExtICmp()
595 if (!DoXform) return ICI; in transformZExtICmp()
597 Value *In = ICI->getOperand(0); in transformZExtICmp()
604 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) { in transformZExtICmp()
622 ICI->isEquality()) { in transformZExtICmp()
626 computeKnownBits(ICI->getOperand(0), KnownZero, KnownOne, 0, &CI); in transformZExtICmp()
630 if (!DoXform) return ICI; in transformZExtICmp()
[all …]
DInstCombineInternal.h268 GlobalVariable *GV, CmpInst &ICI,
272 Instruction *visitICmpInstWithCastAndCast(ICmpInst &ICI);
273 Instruction *visitICmpInstWithInstAndIntCst(ICmpInst &ICI, Instruction *LHS,
275 Instruction *FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI,
277 Instruction *FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *DivI,
283 Instruction *FoldICmpAddOpCst(Instruction &ICI, Value *X, ConstantInt *CI,
287 Instruction *FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, Value *Other);
312 Instruction *visitSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI);
388 Instruction *transformZExtICmp(ICmpInst *ICI, Instruction &CI,
390 Instruction *transformSExtICmp(ICmpInst *ICI, Instruction &CI);
DInstCombineSelect.cpp370 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, in foldSelectCttzCtlz() argument
372 ICmpInst::Predicate Pred = ICI->getPredicate(); in foldSelectCttzCtlz()
373 Value *CmpLHS = ICI->getOperand(0); in foldSelectCttzCtlz()
374 Value *CmpRHS = ICI->getOperand(1); in foldSelectCttzCtlz()
377 if (!ICI->isEquality() || !match(CmpRHS, m_Zero())) in foldSelectCttzCtlz()
416 ICmpInst *ICI) { in visitSelectInstWithICmp() argument
418 ICmpInst::Predicate Pred = ICI->getPredicate(); in visitSelectInstWithICmp()
419 Value *CmpLHS = ICI->getOperand(0); in visitSelectInstWithICmp()
420 Value *CmpRHS = ICI->getOperand(1); in visitSelectInstWithICmp()
427 if (ICI->hasOneUse()) in visitSelectInstWithICmp()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp544 ICmpInst *ICI = dyn_cast<ICmpInst>(U); in eliminateTrunc() local
545 if (!ICI) return false; in eliminateTrunc()
546 assert(L->contains(ICI->getParent()) && "LCSSA form broken?"); in eliminateTrunc()
547 if (!(ICI->getOperand(0) == TI && L->isLoopInvariant(ICI->getOperand(1))) && in eliminateTrunc()
548 !(ICI->getOperand(1) == TI && L->isLoopInvariant(ICI->getOperand(0)))) in eliminateTrunc()
551 if (ICI->isSigned() && !DoesSExtCollapse) in eliminateTrunc()
553 if (ICI->isUnsigned() && !DoesZExtCollapse) in eliminateTrunc()
556 ICmpUsers.push_back(ICI); in eliminateTrunc()
559 auto CanUseZExt = [&](ICmpInst *ICI) { in eliminateTrunc() argument
561 if (ICI->isUnsigned()) in eliminateTrunc()
[all …]
DSimplifyCFG.cpp206 bool tryToSimplifyUncondBranchWithICmpInIt(ICmpInst *ICI,
493 ICmpInst *ICI; in matchInstruction() local
495 if (!((ICI = dyn_cast<ICmpInst>(I)) && in matchInstruction()
506 if (ICI->getPredicate() == (isEQ ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_NE)) { in matchInstruction()
547 if (match(ICI->getOperand(0), in matchInstruction()
570 if (match(ICI->getOperand(0), in matchInstruction()
587 if (!setValueOnce(ICI->getOperand(0))) in matchInstruction()
592 return ICI->getOperand(0); in matchInstruction()
597 ICI->getPredicate(), C->getValue()); in matchInstruction()
709 if (ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition())) { in isValueEqualityComparison() local
[all …]
/external/llvm/lib/Transforms/Utils/
DCmpInstAnalysis.cpp44 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode() argument
45 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
46 : ICI->getPredicate(); in getICmpCode()
/external/llvm/lib/Analysis/
DLazyValueInfo.cpp848 static bool getValueFromFromCondition(Value *Val, ICmpInst *ICI,
869 if (ICmpInst *ICI = dyn_cast<ICmpInst>(C)) { in intersectAssumeBlockValueConstantRange() local
871 if (getValueFromFromCondition(Val, ICI, Result)) in intersectAssumeBlockValueConstantRange()
943 if (auto *ICI = dyn_cast<ICmpInst>(SI->getCondition())) { in solveBlockValueSelect() local
945 if (!getValueFromFromCondition(SI->getTrueValue(), ICI, in solveBlockValueSelect()
948 if (!getValueFromFromCondition(SI->getFalseValue(), ICI, in solveBlockValueSelect()
964 ICmpInst::Predicate Pred = ICI->getPredicate(); in solveBlockValueSelect()
965 Value *A = ICI->getOperand(0); in solveBlockValueSelect()
966 if (ConstantInt *CIBase = dyn_cast<ConstantInt>(ICI->getOperand(1))) { in solveBlockValueSelect()
1168 bool getValueFromFromCondition(Value *Val, ICmpInst *ICI, in getValueFromFromCondition() argument
[all …]
/external/llvm-project/llvm/lib/Transforms/Scalar/
DLoopPredication.cpp265 Optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
288 Optional<Value *> widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
374 LoopPredication::parseLoopICmp(ICmpInst *ICI) { in parseLoopICmp() argument
375 auto Pred = ICI->getPredicate(); in parseLoopICmp()
376 auto *LHS = ICI->getOperand(0); in parseLoopICmp()
377 auto *RHS = ICI->getOperand(1); in parseLoopICmp()
675 Optional<Value *> LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, in widenICmpRangeCheck() argument
679 LLVM_DEBUG(ICI->dump()); in widenICmpRangeCheck()
685 auto RangeCheck = parseLoopICmp(ICI); in widenICmpRangeCheck()
772 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Condition)) { in collectChecks() local
[all …]
DInductiveRangeCheckElimination.cpp150 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
295 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in INITIALIZE_PASS_DEPENDENCY()
302 ICmpInst::Predicate Pred = ICI->getPredicate(); in INITIALIZE_PASS_DEPENDENCY()
303 Value *LHS = ICI->getOperand(0); in INITIALIZE_PASS_DEPENDENCY()
304 Value *RHS = ICI->getOperand(1); in INITIALIZE_PASS_DEPENDENCY()
371 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); in extractRangeChecksFromCond() local
372 if (!ICI) in extractRangeChecksFromCond()
377 if (!parseRangeCheckICmp(L, ICI, SE, Index, Length, IsSigned)) in extractRangeChecksFromCond()
788 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); in parseLoopStructure() local
789 if (!ICI || !isa<IntegerType>(ICI->getOperand(0)->getType())) { in parseLoopStructure()
[all …]
/external/libcxx/test/std/containers/sequences/deque/deque.special/
Dcopy.pass.cpp53 typedef input_iterator<CI> ICI; in testN() typedef
66 assert(std::copy(ICI(c2.cbegin()), ICI(c2.cend()), c1.begin()) == c1.end()); in testN()
/external/llvm-project/libcxx/test/std/containers/sequences/deque/deque.special/
Dcopy.pass.cpp53 typedef input_iterator<CI> ICI; in testN() typedef
66 assert(std::copy(ICI(c2.cbegin()), ICI(c2.cend()), c1.begin()) == c1.end()); in testN()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLoopPredication.cpp265 Optional<LoopICmp> parseLoopICmp(ICmpInst *ICI);
288 Optional<Value *> widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
373 LoopPredication::parseLoopICmp(ICmpInst *ICI) { in parseLoopICmp() argument
374 auto Pred = ICI->getPredicate(); in parseLoopICmp()
375 auto *LHS = ICI->getOperand(0); in parseLoopICmp()
376 auto *RHS = ICI->getOperand(1); in parseLoopICmp()
673 Optional<Value *> LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, in widenICmpRangeCheck() argument
677 LLVM_DEBUG(ICI->dump()); in widenICmpRangeCheck()
683 auto RangeCheck = parseLoopICmp(ICI); in widenICmpRangeCheck()
770 if (ICmpInst *ICI = dyn_cast<ICmpInst>(Condition)) { in collectChecks() local
[all …]
DAlignmentFromAssumptions.cpp204 ICmpInst *ICI = dyn_cast<ICmpInst>(I->getArgOperand(0)); in extractAlignmentInfo() local
205 if (!ICI) in extractAlignmentInfo()
209 if (ICI->getPredicate() != ICmpInst::ICMP_EQ) in extractAlignmentInfo()
213 Value *CmpLHS = ICI->getOperand(0); in extractAlignmentInfo()
214 Value *CmpRHS = ICI->getOperand(1); in extractAlignmentInfo()
DInductiveRangeCheckElimination.cpp148 static bool parseRangeCheckICmp(Loop *L, ICmpInst *ICI, ScalarEvolution &SE,
277 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in INITIALIZE_PASS_DEPENDENCY()
284 ICmpInst::Predicate Pred = ICI->getPredicate(); in INITIALIZE_PASS_DEPENDENCY()
285 Value *LHS = ICI->getOperand(0); in INITIALIZE_PASS_DEPENDENCY()
286 Value *RHS = ICI->getOperand(1); in INITIALIZE_PASS_DEPENDENCY()
353 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); in extractRangeChecksFromCond() local
354 if (!ICI) in extractRangeChecksFromCond()
359 if (!parseRangeCheckICmp(L, ICI, SE, Index, Length, IsSigned)) in extractRangeChecksFromCond()
783 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); in parseLoopStructure() local
784 if (!ICI || !isa<IntegerType>(ICI->getOperand(0)->getType())) { in parseLoopStructure()
[all …]
/external/llvm-project/llvm/lib/Transforms/Utils/
DSimplifyIndVar.cpp547 ICmpInst *ICI = dyn_cast<ICmpInst>(U); in eliminateTrunc() local
548 if (!ICI) return false; in eliminateTrunc()
549 assert(L->contains(ICI->getParent()) && "LCSSA form broken?"); in eliminateTrunc()
550 if (!(ICI->getOperand(0) == TI && L->isLoopInvariant(ICI->getOperand(1))) && in eliminateTrunc()
551 !(ICI->getOperand(1) == TI && L->isLoopInvariant(ICI->getOperand(0)))) in eliminateTrunc()
554 if (ICI->isSigned() && !DoesSExtCollapse) in eliminateTrunc()
556 if (ICI->isUnsigned() && !DoesZExtCollapse) in eliminateTrunc()
559 ICmpUsers.push_back(ICI); in eliminateTrunc()
562 auto CanUseZExt = [&](ICmpInst *ICI) { in eliminateTrunc() argument
564 if (ICI->isUnsigned()) in eliminateTrunc()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DCmpInstAnalysis.cpp21 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode() argument
22 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
23 : ICI->getPredicate(); in getICmpCode()
/external/llvm-project/llvm/lib/Analysis/
DCmpInstAnalysis.cpp21 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { in getICmpCode() argument
22 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate() in getICmpCode()
23 : ICI->getPredicate(); in getICmpCode()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/InstCombine/
DInstCombineSelect.cpp680 static Value *canonicalizeSaturatedSubtract(const ICmpInst *ICI, in canonicalizeSaturatedSubtract() argument
684 ICmpInst::Predicate Pred = ICI->getPredicate(); in canonicalizeSaturatedSubtract()
696 Value *A = ICI->getOperand(0); in canonicalizeSaturatedSubtract()
697 Value *B = ICI->getOperand(1); in canonicalizeSaturatedSubtract()
724 if (IsNegative && !TrueVal->hasOneUse() && !ICI->hasOneUse()) in canonicalizeSaturatedSubtract()
811 static Instruction *foldSelectCtlzToCttz(ICmpInst *ICI, Value *TrueVal, in foldSelectCtlzToCttz() argument
815 if (!ICI->isEquality() || !match(ICI->getOperand(1), m_Zero())) in foldSelectCtlzToCttz()
818 if (ICI->getPredicate() == ICmpInst::ICMP_NE) in foldSelectCtlzToCttz()
828 Value *X = ICI->getOperand(0); in foldSelectCtlzToCttz()
850 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, in foldSelectCttzCtlz() argument
[all …]
/external/llvm-project/libcxx/test/std/containers/sequences/deque/deque.cons/
Dassign_iter_iter.pass.cpp70 typedef input_iterator<CI> ICI; in testI() typedef
71 c1.assign(ICI(c2.begin()), ICI(c2.end())); in testI()
/external/libcxx/test/std/containers/sequences/deque/deque.cons/
Dassign_iter_iter.pass.cpp71 typedef input_iterator<CI> ICI; in testI() typedef
72 c1.assign(ICI(c2.begin()), ICI(c2.end())); in testI()
/external/llvm/lib/Transforms/Scalar/
DInductiveRangeCheckElimination.cpp124 static RangeCheckKind parseRangeCheckICmp(Loop *L, ICmpInst *ICI,
254 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, in parseRangeCheckICmp() argument
269 ICmpInst::Predicate Pred = ICI->getPredicate(); in parseRangeCheckICmp()
270 Value *LHS = ICI->getOperand(0); in parseRangeCheckICmp()
271 Value *RHS = ICI->getOperand(1); in parseRangeCheckICmp()
361 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); in extractRangeChecksFromCond() local
362 if (!ICI) in extractRangeChecksFromCond()
366 auto RCKind = parseRangeCheckICmp(L, ICI, SE, Index, Length); in extractRangeChecksFromCond()
656 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); in parseLoopStructure() local
657 if (!ICI || !isa<IntegerType>(ICI->getOperand(0)->getType())) { in parseLoopStructure()
[all …]
DAlignmentFromAssumptions.cpp206 ICmpInst *ICI = dyn_cast<ICmpInst>(I->getArgOperand(0)); in extractAlignmentInfo() local
207 if (!ICI) in extractAlignmentInfo()
211 if (ICI->getPredicate() != ICmpInst::ICMP_EQ) in extractAlignmentInfo()
215 Value *CmpLHS = ICI->getOperand(0); in extractAlignmentInfo()
216 Value *CmpRHS = ICI->getOperand(1); in extractAlignmentInfo()
/external/llvm-project/llvm/lib/Transforms/InstCombine/
DInstCombineSelect.cpp692 static Value *canonicalizeSaturatedSubtract(const ICmpInst *ICI, in canonicalizeSaturatedSubtract() argument
696 ICmpInst::Predicate Pred = ICI->getPredicate(); in canonicalizeSaturatedSubtract()
708 Value *A = ICI->getOperand(0); in canonicalizeSaturatedSubtract()
709 Value *B = ICI->getOperand(1); in canonicalizeSaturatedSubtract()
736 if (IsNegative && !TrueVal->hasOneUse() && !ICI->hasOneUse()) in canonicalizeSaturatedSubtract()
825 static Instruction *foldSelectCtlzToCttz(ICmpInst *ICI, Value *TrueVal, in foldSelectCtlzToCttz() argument
829 if (!ICI->isEquality() || !match(ICI->getOperand(1), m_Zero())) in foldSelectCtlzToCttz()
832 if (ICI->getPredicate() == ICmpInst::ICMP_NE) in foldSelectCtlzToCttz()
842 Value *X = ICI->getOperand(0); in foldSelectCtlzToCttz()
864 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, in foldSelectCttzCtlz() argument
[all …]
DInstCombineInternal.h246 Instruction *transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
249 Instruction *transformSExtICmp(ICmpInst *ICI, Instruction &CI);
632 Instruction *foldAllocaCmp(ICmpInst &ICI, const AllocaInst *Alloca,
635 GlobalVariable *GV, CmpInst &ICI,
641 Instruction *foldICmpWithCastOp(ICmpInst &ICI);
694 Instruction *foldICmpIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II,
696 Instruction *foldICmpEqIntrinsicWithConstant(ICmpInst &ICI, IntrinsicInst *II,
706 Instruction *foldSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI);
707 Instruction *foldSelectValueEquivalence(SelectInst &SI, ICmpInst &ICI);

123