Lines Matching defs:CxtI

100   const Instruction *CxtI;
103 Query(AssumptionCache *AC = nullptr, const Instruction *CxtI = nullptr,
105 : AC(AC), CxtI(CxtI), DT(DT) {}
108 : ExclInvs(Q.ExclInvs), AC(Q.AC), CxtI(Q.CxtI), DT(Q.DT) {
116 static const Instruction *safeCxtI(const Value *V, const Instruction *CxtI) {
119 if (CxtI && CxtI->getParent())
120 return CxtI;
123 CxtI = dyn_cast<Instruction>(V);
124 if (CxtI && CxtI->getParent())
125 return CxtI;
136 AssumptionCache *AC, const Instruction *CxtI,
139 Query(AC, safeCxtI(V, CxtI), DT));
143 AssumptionCache *AC, const Instruction *CxtI,
152 computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, DL, 0, AC, CxtI, DT);
153 computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, DL, 0, AC, CxtI, DT);
163 AssumptionCache *AC, const Instruction *CxtI,
166 Query(AC, safeCxtI(V, CxtI), DT));
174 const Instruction *CxtI,
177 Query(AC, safeCxtI(V, CxtI), DT), DL);
184 AssumptionCache *AC, const Instruction *CxtI,
186 return ::isKnownNonZero(V, DL, Depth, Query(AC, safeCxtI(V, CxtI), DT));
190 AssumptionCache *AC, const Instruction *CxtI,
193 ComputeSignBit(V, NonNegative, Negative, DL, Depth, AC, CxtI, DT);
201 AssumptionCache *AC, const Instruction *CxtI,
204 safeCxtI(V1, safeCxtI(V2, CxtI)),
213 const Instruction *CxtI, const DominatorTree *DT) {
215 Query(AC, safeCxtI(V, CxtI), DT));
223 const Instruction *CxtI,
225 return ::ComputeNumSignBits(V, DL, Depth, Query(AC, safeCxtI(V, CxtI), DT));
466 if (Q.DT->dominates(Inv, Q.CxtI)) {
468 } else if (Inv->getParent() == Q.CxtI->getParent()) {
472 std::next(BasicBlock::const_iterator(Q.CxtI)),
477 return !isEphemeralValueOf(Inv, Q.CxtI);
484 if (Inv->getParent() == Q.CxtI->getParent()->getSinglePredecessor()) {
486 } else if (Inv->getParent() == Q.CxtI->getParent()) {
491 if (&*I == Q.CxtI)
496 std::next(BasicBlock::const_iterator(Q.CxtI)),
501 return !isEphemeralValueOf(Inv, Q.CxtI);
508 const Instruction *CxtI,
511 Query(nullptr, CxtI, DT));
625 if (!Q.DT || !Q.CxtI)
627 Instruction *Cxt = const_cast<Instruction *>(Q.CxtI);
684 if (!Edge.isSingleEdge() || !Q.DT->dominates(Edge, Q.CxtI->getParent()))
718 if (!Edge.isSingleEdge() || !Q.DT->dominates(Edge, Q.CxtI->getParent()))
732 if (!Q.AC || !Q.CxtI)
741 assert(I->getParent()->getParent() == Q.CxtI->getParent()->getParent() &&
3554 const Instruction *CxtI,
3567 computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, DL, /*Depth=*/0, AC, CxtI,
3569 computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, DL, /*Depth=*/0, AC, CxtI,
3604 const Instruction *CxtI,
3608 AC, CxtI, DT);
3612 AC, CxtI, DT);
3632 AssumptionCache *AC, const Instruction *CxtI, const DominatorTree *DT) {
3640 AC, CxtI, DT);
3642 AC, CxtI, DT);
3664 /*Depth=*/0, AC, CxtI, DT);
3677 const Instruction *CxtI,
3680 Add, DL, AC, CxtI, DT);
3686 const Instruction *CxtI,
3688 return ::computeOverflowForSignedAdd(LHS, RHS, nullptr, DL, AC, CxtI, DT);
4117 AssumptionCache *AC, const Instruction *CxtI,
4155 computeKnownBits(X, KnownZero, KnownOne, DL, Depth + 1, AC, CxtI, DT);
4179 AssumptionCache *AC, const Instruction *CxtI,
4187 return isTruePredicate(CmpInst::ICMP_SLE, BLHS, ALHS, DL, Depth, AC, CxtI,
4189 isTruePredicate(CmpInst::ICMP_SLE, ARHS, BRHS, DL, Depth, AC, CxtI,
4194 return isTruePredicate(CmpInst::ICMP_ULE, BLHS, ALHS, DL, Depth, AC, CxtI,
4196 isTruePredicate(CmpInst::ICMP_ULE, ARHS, BRHS, DL, Depth, AC, CxtI,
4203 const Instruction *CxtI,
4227 CxtI, DT);