Searched refs:ICI (Results 1 - 25 of 38) sorted by relevance

12

/external/llvm/include/llvm/Transforms/Utils/
H A DCmpInstAnalysis.h47 unsigned getICmpCode(const ICmpInst *ICI, bool InvertPred = false);
/external/llvm/lib/Transforms/Utils/
H A DCmpInstAnalysis.cpp44 unsigned llvm::getICmpCode(const ICmpInst *ICI, bool InvertPred) { argument
45 ICmpInst::Predicate Pred = InvertPred ? ICI->getInversePredicate()
46 : ICI->getPredicate();
H A DSimplifyCFG.cpp437 ICmpInst *ICI; local
439 if (!((ICI = dyn_cast<ICmpInst>(I)) &&
450 if (ICI->getPredicate() == (isEQ ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_NE)) {
492 if (match(ICI->getOperand(0),
515 if (match(ICI->getOperand(0),
532 if (!setValueOnce(ICI->getOperand(0)))
537 return ICI->getOperand(0);
542 ICI->getPredicate(), C->getValue());
655 if (ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition())) {
656 if (ICI
685 ICmpInst *ICI = cast<ICmpInst>(BI->getCondition()); local
922 ICmpInst *ICI = cast<ICmpInst>(BI->getCondition()); local
3141 TryToSimplifyUncondBranchWithICmpInIt( ICmpInst *ICI, IRBuilder<> &Builder, const DataLayout &DL, const TargetTransformInfo &TTI, unsigned BonusInstThreshold, AssumptionCache *AC) argument
[all...]
/external/swiftshader/third_party/LLVM/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp202 CmpInst &ICI, ConstantInt *AndCst) {
274 Constant *CompareRHS = cast<Constant>(ICI.getOperand(1));
286 Constant *C = ConstantFoldCompareInstOperands(ICI.getPredicate(), Elt,
374 return ReplaceInstUsesWith(ICI, ConstantInt::getFalse(GEP->getContext()));
394 return ReplaceInstUsesWith(ICI, ConstantInt::getTrue(GEP->getContext()));
680 Instruction *InstCombiner::FoldICmpAddOpCst(ICmpInst &ICI, argument
688 return ReplaceInstUsesWith(ICI, ConstantInt::get(ICI.getType(), isTrue));
693 return ReplaceInstUsesWith(ICI, ConstantInt::getFalse(X->getContext()));
697 return ReplaceInstUsesWith(ICI, ConstantIn
201 FoldCmpLoadFromIndexedGlobal(GetElementPtrInst *GEP, GlobalVariable *GV, CmpInst &ICI, ConstantInt *AndCst) argument
745 FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, ConstantInt *DivRHS) argument
902 FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, ConstantInt *ShAmt) argument
992 visitICmpInstWithInstAndIntCst(ICmpInst &ICI, Instruction *LHSI, ConstantInt *RHS) argument
1518 visitICmpInstWithCastAndCast(ICmpInst &ICI) argument
[all...]
H A DInstCombineSelect.cpp29 ICmpInst *ICI = dyn_cast<ICmpInst>(SI->getCondition());
30 if (ICI == 0) return SPF_UNKNOWN;
32 LHS = ICI->getOperand(0);
33 RHS = ICI->getOperand(1);
36 if (SI->getTrueValue() == ICI->getOperand(0) &&
37 SI->getFalseValue() == ICI->getOperand(1)) {
38 switch (ICI->getPredicate()) {
52 if (SI->getTrueValue() == ICI->getOperand(1) &&
53 SI->getFalseValue() == ICI->getOperand(0)) {
54 switch (ICI
343 visitSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI) argument
[all...]
H A DInstCombine.h139 GlobalVariable *GV, CmpInst &ICI,
143 Instruction *visitICmpInstWithCastAndCast(ICmpInst &ICI);
144 Instruction *visitICmpInstWithInstAndIntCst(ICmpInst &ICI,
147 Instruction *FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI,
149 Instruction *FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *DivI,
151 Instruction *FoldICmpAddOpCst(ICmpInst &ICI, Value *X, ConstantInt *CI,
178 Instruction *visitSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI);
221 Instruction *transformZExtICmp(ICmpInst *ICI, Instruction &CI,
223 Instruction *transformSExtICmp(ICmpInst *ICI, Instruction &CI);
H A DInstCombineCasts.cpp503 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, argument
508 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
513 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) ||
514 (ICI->getPredicate() == ICmpInst::ICMP_SGT &&Op1CV.isAllOnesValue())) {
515 if (!DoXform) return ICI;
517 Value *In = ICI->getOperand(0);
524 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) {
544 ICI->isEquality()) {
549 ComputeMaskedBits(ICI->getOperand(0), TypeMask, KnownZero, KnownOne);
553 if (!DoXform) return ICI;
890 transformSExtICmp(ICmpInst *ICI, Instruction &CI) argument
[all...]
/external/libcxx/test/std/containers/sequences/deque/deque.cons/
H A Dassign_iter_iter.pass.cpp68 typedef input_iterator<CI> ICI; typedef
69 c1.assign(ICI(c2.begin()), ICI(c2.end()));
/external/libcxx/test/std/containers/sequences/deque/deque.special/
H A Dcopy.pass.cpp53 typedef input_iterator<CI> ICI; typedef
66 assert(std::copy(ICI(c2.cbegin()), ICI(c2.cend()), c1.begin()) == c1.end());
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp236 CmpInst &ICI, ConstantInt *AndCst) {
308 Constant *CompareRHS = cast<Constant>(ICI.getOperand(1));
321 Constant *C = ConstantFoldCompareInstOperands(ICI.getPredicate(), Elt,
411 return replaceInstUsesWith(ICI, Builder->getFalse());
431 return replaceInstUsesWith(ICI, Builder->getTrue());
1059 Instruction *InstCombiner::FoldAllocaCmp(ICmpInst &ICI, AllocaInst *Alloca, argument
1061 assert(ICI.isEquality() && "Cannot fold non-equality comparison.");
1132 ICI,
1133 ConstantInt::get(CmpTy, !CmpInst::isTrueWhenEqual(ICI.getPredicate())));
1137 Instruction *InstCombiner::FoldICmpAddOpCst(Instruction &ICI, argument
235 FoldCmpLoadFromIndexedGlobal(GetElementPtrInst *GEP, GlobalVariable *GV, CmpInst &ICI, ConstantInt *AndCst) argument
1186 FoldICmpDivCst(ICmpInst &ICI, BinaryOperator *DivI, ConstantInt *DivRHS) argument
1342 FoldICmpShrCst(ICmpInst &ICI, BinaryOperator *Shr, ConstantInt *ShAmt) argument
1538 visitICmpInstWithInstAndIntCst(ICmpInst &ICI, Instruction *LHSI, ConstantInt *RHS) argument
[all...]
H A 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, Instructio
[all...]
H A DInstCombineSelect.cpp370 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal, argument
372 ICmpInst::Predicate Pred = ICI->getPredicate();
373 Value *CmpLHS = ICI->getOperand(0);
374 Value *CmpRHS = ICI->getOperand(1);
377 if (!ICI->isEquality() || !match(CmpRHS, m_Zero()))
416 ICmpInst *ICI) {
418 ICmpInst::Predicate Pred = ICI->getPredicate();
419 Value *CmpLHS = ICI->getOperand(0);
420 Value *CmpRHS = ICI->getOperand(1);
425 // can be adjusted to fit the min/max idiom. We may move or edit ICI
415 visitSelectInstWithICmp(SelectInst &SI, ICmpInst *ICI) argument
[all...]
H A DInstCombineCasts.cpp583 Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, Instruction &CI, argument
588 if (ConstantInt *Op1C = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
593 if ((ICI->getPredicate() == ICmpInst::ICMP_SLT && Op1CV == 0) ||
594 (ICI->getPredicate() == ICmpInst::ICMP_SGT && Op1CV.isAllOnesValue())) {
595 if (!DoXform) return ICI;
597 Value *In = ICI->getOperand(0);
604 if (ICI->getPredicate() == ICmpInst::ICMP_SGT) {
622 ICI->isEquality()) {
626 computeKnownBits(ICI->getOperand(0), KnownZero, KnownOne, 0, &CI);
630 if (!DoXform) return ICI;
967 transformSExtICmp(ICmpInst *ICI, Instruction &CI) argument
[all...]
/external/llvm/lib/Analysis/
H A DLazyValueInfo.cpp848 static bool getValueFromFromCondition(Value *Val, ICmpInst *ICI,
869 if (ICmpInst *ICI = dyn_cast<ICmpInst>(C)) {
871 if (getValueFromFromCondition(Val, ICI, Result))
943 if (auto *ICI = dyn_cast<ICmpInst>(SI->getCondition())) {
945 if (!getValueFromFromCondition(SI->getTrueValue(), ICI,
948 if (!getValueFromFromCondition(SI->getFalseValue(), ICI,
964 ICmpInst::Predicate Pred = ICI->getPredicate();
965 Value *A = ICI->getOperand(0);
966 if (ConstantInt *CIBase = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
1168 bool getValueFromFromCondition(Value *Val, ICmpInst *ICI, argument
[all...]
/external/llvm/lib/Transforms/Scalar/
H A DAlignmentFromAssumptions.cpp206 ICmpInst *ICI = dyn_cast<ICmpInst>(I->getArgOperand(0)); local
207 if (!ICI)
211 if (ICI->getPredicate() != ICmpInst::ICMP_EQ)
215 Value *CmpLHS = ICI->getOperand(0);
216 Value *CmpRHS = ICI->getOperand(1);
H A DInductiveRangeCheckElimination.cpp124 static RangeCheckKind parseRangeCheckICmp(Loop *L, ICmpInst *ICI,
246 /// Parse a single ICmp instruction, `ICI`, into a range check. If `ICI` cannot
254 InductiveRangeCheck::parseRangeCheckICmp(Loop *L, ICmpInst *ICI, argument
269 ICmpInst::Predicate Pred = ICI->getPredicate();
270 Value *LHS = ICI->getOperand(0);
271 Value *RHS = ICI->getOperand(1);
361 ICmpInst *ICI = dyn_cast<ICmpInst>(Condition); local
362 if (!ICI)
366 auto RCKind = parseRangeCheckICmp(L, ICI, S
656 ICmpInst *ICI = dyn_cast<ICmpInst>(LatchBr->getCondition()); local
[all...]
H A DScalarizer.cpp80 // ICmpSpliiter(ICI)(Builder, X, Y, Name) uses Builder to create an ICmp
81 // called Name that compares X and Y in the same way as ICI.
83 ICmpSplitter(ICmpInst &ici) : ICI(ici) {}
86 return Builder.CreateICmp(ICI.getPredicate(), Op0, Op1, Name);
88 ICmpInst &ICI; member in struct:__anon13416::ICmpSplitter
427 bool Scalarizer::visitICmpInst(ICmpInst &ICI) { argument
428 return splitBinary(ICI, ICmpSplitter(ICI));
/external/swiftshader/third_party/LLVM/lib/Analysis/
H A DLazyValueInfo.cpp825 ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition()); local
826 if (ICI && ICI->getOperand(0) == Val &&
827 isa<Constant>(ICI->getOperand(1))) {
828 if (ICI->isEquality()) {
831 if (isTrueDest == (ICI->getPredicate() == ICmpInst::ICMP_EQ))
832 Result = LVILatticeVal::get(cast<Constant>(ICI->getOperand(1)));
834 Result = LVILatticeVal::getNot(cast<Constant>(ICI->getOperand(1)));
838 if (ConstantInt *CI = dyn_cast<ConstantInt>(ICI->getOperand(1))) {
842 ConstantRange::makeICmpRegion(ICI
[all...]
H A DLoopInfo.cpp188 if (ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition())) {
189 if (ICI->getOperand(0) == Inc) {
191 if (ICI->getPredicate() == ICmpInst::ICMP_NE)
192 return ICI->getOperand(1);
193 } else if (ICI->getPredicate() == ICmpInst::ICMP_EQ) {
194 return ICI->getOperand(1);
/external/llvm/lib/Transforms/ObjCARC/
H A DDependencyAnalysis.cpp96 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(Inst)) {
100 if (!IsPotentialRetainableObjPtr(ICI->getOperand(1), *PA.getAA()))
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
H A DSimplifyCFG.cpp357 if (ICmpInst *ICI = dyn_cast<ICmpInst>(I)) {
359 if (ICI->getPredicate() == (isEQ ? ICmpInst::ICMP_EQ:ICmpInst::ICMP_NE)) {
368 ConstantRange::makeICmpRegion(ICI->getPredicate(), C->getValue());
461 if (ICmpInst *ICI = dyn_cast<ICmpInst>(BI->getCondition()))
462 if ((ICI->getPredicate() == ICmpInst::ICMP_EQ ||
463 ICI->getPredicate() == ICmpInst::ICMP_NE) &&
464 GetConstantInt(ICI->getOperand(1), TD))
465 CV = ICI->getOperand(0);
488 ICmpInst *ICI = cast<ICmpInst>(BI->getCondition()); local
489 Cases.push_back(std::make_pair(GetConstantInt(ICI
1941 TryToSimplifyUncondBranchWithICmpInIt(ICmpInst *ICI, const TargetData *TD, IRBuilder<> &Builder) argument
[all...]
/external/libcxx/test/std/containers/sequences/deque/deque.modifiers/
H A Dinsert_iter_iter.pass.cpp171 typedef input_iterator<CI> ICI; typedef
173 CI i = c1.insert(c1.begin() + P, ICI(c2.begin()), ICI(c2.end()));
/external/llvm/lib/Transforms/IPO/
H A DGlobalOpt.cpp857 ICmpInst *ICI = dyn_cast<ICmpInst>(LoadUse.getUser()); local
858 if (!ICI) {
867 LI->isUnordered() ? (Instruction*)ICI : LI);
869 switch (ICI->getPredicate()) {
878 LV = BinaryOperator::CreateNot(LV, "notinit", ICI);
887 ICI->replaceAllUsesWith(LV);
888 ICI->eraseFromParent();
1017 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(UI)) {
1018 if (!isa<ConstantPointerNull>(ICI->getOperand(1)))
/external/swiftshader/third_party/LLVM/lib/Analysis/IPA/
H A DGlobalsModRef.cpp285 } else if (ICmpInst *ICI = dyn_cast<ICmpInst>(U)) {
286 if (!isa<ConstantPointerNull>(ICI->getOperand(1)))
/external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
H A DGlobalOpt.cpp922 ICmpInst *ICI = cast<ICmpInst>(LoadUse.getUser()); local
924 Value *LV = new LoadInst(InitBool, InitBool->getName()+".val", ICI);
926 switch (ICI->getPredicate()) {
935 LV = BinaryOperator::CreateNot(LV, "notinit", ICI);
944 ICI->replaceAllUsesWith(LV);
945 ICI->eraseFromParent();
1078 if (const ICmpInst *ICI = dyn_cast<ICmpInst>(User)) {
1079 if (!isa<ConstantPointerNull>(ICI->getOperand(1)))

Completed in 993 milliseconds

12